diff --git a/opencl/source/aub/CMakeLists.txt b/opencl/source/aub/CMakeLists.txt index 5f2b9780f6..b161ff02e7 100644 --- a/opencl/source/aub/CMakeLists.txt +++ b/opencl/source/aub/CMakeLists.txt @@ -10,9 +10,13 @@ set(RUNTIME_SRCS_AUB ${CMAKE_CURRENT_SOURCE_DIR}/aub_center.h ${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}/aub_helper.cpp ${CMAKE_CURRENT_SOURCE_DIR}/aub_helper.h + ${CMAKE_CURRENT_SOURCE_DIR}/aub_helper_add_mmio.cpp ${CMAKE_CURRENT_SOURCE_DIR}/aub_helper_base.inl ${CMAKE_CURRENT_SOURCE_DIR}/aub_helper_bdw_plus.inl - ${CMAKE_CURRENT_SOURCE_DIR}/aub_helper_add_mmio.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/aub_mapper_base.h + ${CMAKE_CURRENT_SOURCE_DIR}/aub_stream_provider.h + ${CMAKE_CURRENT_SOURCE_DIR}/aub_subcapture.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/aub_subcapture.h ) target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_AUB}) set_property(GLOBAL PROPERTY RUNTIME_SRCS_AUB ${RUNTIME_SRCS_AUB}) diff --git a/opencl/source/aub/aub_center.h b/opencl/source/aub/aub_center.h index 8abdacdadd..c74c7c60c7 100644 --- a/opencl/source/aub/aub_center.h +++ b/opencl/source/aub/aub_center.h @@ -7,11 +7,11 @@ #pragma once #include "shared/source/helpers/options.h" +#include "shared/source/memory_manager/address_mapper.h" +#include "shared/source/memory_manager/physical_address_allocator.h" -#include "opencl/source/command_stream/aub_stream_provider.h" -#include "opencl/source/command_stream/aub_subcapture.h" -#include "opencl/source/memory_manager/address_mapper.h" -#include "opencl/source/memory_manager/physical_address_allocator.h" +#include "opencl/source/aub/aub_stream_provider.h" +#include "opencl/source/aub/aub_subcapture.h" #include "third_party/aub_stream/headers/aub_manager.h" diff --git a/opencl/source/aub/aub_helper.h b/opencl/source/aub/aub_helper.h index ef1a48cab1..e332328cf2 100644 --- a/opencl/source/aub/aub_helper.h +++ b/opencl/source/aub/aub_helper.h @@ -10,7 +10,7 @@ #include "shared/source/helpers/non_copyable_or_moveable.h" #include "shared/source/memory_manager/graphics_allocation.h" -#include "opencl/source/gen_common/aub_mapper_base.h" +#include "opencl/source/aub/aub_mapper_base.h" namespace NEO { diff --git a/opencl/source/gen_common/aub_mapper_base.h b/opencl/source/aub/aub_mapper_base.h similarity index 100% rename from opencl/source/gen_common/aub_mapper_base.h rename to opencl/source/aub/aub_mapper_base.h diff --git a/opencl/source/command_stream/aub_stream_provider.h b/opencl/source/aub/aub_stream_provider.h similarity index 100% rename from opencl/source/command_stream/aub_stream_provider.h rename to opencl/source/aub/aub_stream_provider.h diff --git a/opencl/source/command_stream/aub_subcapture.cpp b/opencl/source/aub/aub_subcapture.cpp similarity index 84% rename from opencl/source/command_stream/aub_subcapture.cpp rename to opencl/source/aub/aub_subcapture.cpp index 096b6d9f71..1b4cb9c041 100644 --- a/opencl/source/command_stream/aub_subcapture.cpp +++ b/opencl/source/aub/aub_subcapture.cpp @@ -5,19 +5,18 @@ * */ -#include "opencl/source/command_stream/aub_subcapture.h" +#include "opencl/source/aub/aub_subcapture.h" +#include "shared/source/debug_settings/debug_settings_manager.h" +#include "shared/source/helpers/debug_helpers.h" +#include "shared/source/helpers/string.h" #include "shared/source/utilities/debug_settings_reader.h" -#include "opencl/source/helpers/dispatch_info.h" -#include "opencl/source/kernel/kernel.h" -#include "opencl/source/os_interface/ocl_reg_path.h" - namespace NEO { -AubSubCaptureManager::AubSubCaptureManager(const std::string &fileName, AubSubCaptureCommon &subCaptureCommon) +AubSubCaptureManager::AubSubCaptureManager(const std::string &fileName, AubSubCaptureCommon &subCaptureCommon, const char *regPath) : initialFileName(fileName), subCaptureCommon(subCaptureCommon) { - settingsReader.reset(SettingsReader::createOsReader(true, oclRegPath)); + settingsReader.reset(SettingsReader::createOsReader(true, regPath)); } AubSubCaptureManager::~AubSubCaptureManager() = default; @@ -34,8 +33,8 @@ void AubSubCaptureManager::disableSubCapture() { subCaptureIsActive = subCaptureWasActiveInPreviousEnqueue = false; }; -AubSubCaptureStatus AubSubCaptureManager::checkAndActivateSubCapture(const MultiDispatchInfo &dispatchInfo) { - if (dispatchInfo.empty()) { +AubSubCaptureStatus AubSubCaptureManager::checkAndActivateSubCapture(const std::string &kernelName) { + if (kernelName.empty()) { return {false, false}; } @@ -51,7 +50,7 @@ AubSubCaptureStatus AubSubCaptureManager::checkAndActivateSubCapture(const Multi subCaptureIsActive = isSubCaptureToggleActive(); break; case SubCaptureMode::Filter: - subCaptureIsActive = isSubCaptureFilterActive(dispatchInfo); + subCaptureIsActive = isSubCaptureFilterActive(kernelName); break; default: DEBUG_BREAK_IF(false); @@ -67,7 +66,7 @@ AubSubCaptureStatus AubSubCaptureManager::getSubCaptureStatus() const { return {this->subCaptureIsActive, this->subCaptureWasActiveInPreviousEnqueue}; } -const std::string &AubSubCaptureManager::getSubCaptureFileName(const MultiDispatchInfo &dispatchInfo) { +const std::string &AubSubCaptureManager::getSubCaptureFileName(const std::string &kernelName) { auto guard = this->lock(); if (useToggleFileName) { @@ -88,7 +87,7 @@ const std::string &AubSubCaptureManager::getSubCaptureFileName(const MultiDispat break; case SubCaptureMode::Toggle: if (currentFileName.empty()) { - currentFileName = generateToggleFileName(dispatchInfo); + currentFileName = generateToggleFileName(kernelName); useToggleFileName = false; } break; @@ -133,19 +132,18 @@ std::string AubSubCaptureManager::generateFilterFileName() const { return filterFileName; } -std::string AubSubCaptureManager::generateToggleFileName(const MultiDispatchInfo &dispatchInfo) const { +std::string AubSubCaptureManager::generateToggleFileName(const std::string &kernelName) const { std::string baseFileName = initialFileName.substr(0, initialFileName.length() - strlen(".aub")); std::string toggleFileName = baseFileName + "_toggle"; toggleFileName += "_from_" + std::to_string(kernelCurrentIdx); - if (!dispatchInfo.empty()) { - toggleFileName += "_" + dispatchInfo.peekMainKernel()->getKernelInfo().name; + if (!kernelName.empty()) { + toggleFileName += "_" + kernelName; } toggleFileName += ".aub"; return toggleFileName; } -bool AubSubCaptureManager::isSubCaptureFilterActive(const MultiDispatchInfo &dispatchInfo) { - auto kernelName = dispatchInfo.peekMainKernel()->getKernelInfo().name; +bool AubSubCaptureManager::isSubCaptureFilterActive(const std::string &kernelName) { auto subCaptureIsActive = false; if (subCaptureCommon.subCaptureFilter.dumpKernelName.empty()) { diff --git a/opencl/source/command_stream/aub_subcapture.h b/opencl/source/aub/aub_subcapture.h similarity index 86% rename from opencl/source/command_stream/aub_subcapture.h rename to opencl/source/aub/aub_subcapture.h index 9f1e74519b..f49853780d 100644 --- a/opencl/source/command_stream/aub_subcapture.h +++ b/opencl/source/aub/aub_subcapture.h @@ -15,7 +15,6 @@ namespace NEO { -struct MultiDispatchInfo; class SettingsReader; class AubSubCaptureCommon { @@ -55,22 +54,22 @@ class AubSubCaptureManager { void disableSubCapture(); - AubSubCaptureStatus checkAndActivateSubCapture(const MultiDispatchInfo &dispatchInfo); + AubSubCaptureStatus checkAndActivateSubCapture(const std::string &kernelName); AubSubCaptureStatus getSubCaptureStatus() const; - const std::string &getSubCaptureFileName(const MultiDispatchInfo &dispatchInfo); + const std::string &getSubCaptureFileName(const std::string &kernelName); - AubSubCaptureManager(const std::string &fileName, AubSubCaptureCommon &subCaptureCommon); + AubSubCaptureManager(const std::string &fileName, AubSubCaptureCommon &subCaptureCommon, const char *regPath); virtual ~AubSubCaptureManager(); protected: MOCKABLE_VIRTUAL bool isSubCaptureToggleActive() const; - bool isSubCaptureFilterActive(const MultiDispatchInfo &dispatchInfo); + bool isSubCaptureFilterActive(const std::string &kernelName); MOCKABLE_VIRTUAL std::string getAubCaptureFileName() const; MOCKABLE_VIRTUAL std::string getToggleFileName() const; MOCKABLE_VIRTUAL std::string generateFilterFileName() const; - MOCKABLE_VIRTUAL std::string generateToggleFileName(const MultiDispatchInfo &dispatchInfo) const; + MOCKABLE_VIRTUAL std::string generateToggleFileName(const std::string &kernelName) const; bool isKernelIndexInSubCaptureRange(uint32_t kernelIdx, uint32_t rangeStartIdx, uint32_t rangeEndIdx) const; MOCKABLE_VIRTUAL std::unique_lock lock() const; diff --git a/opencl/source/command_stream/CMakeLists.txt b/opencl/source/command_stream/CMakeLists.txt index 26afde919b..0c53ae2d08 100644 --- a/opencl/source/command_stream/CMakeLists.txt +++ b/opencl/source/command_stream/CMakeLists.txt @@ -11,9 +11,6 @@ set(RUNTIME_SRCS_COMMAND_STREAM ${CMAKE_CURRENT_SOURCE_DIR}/aub_command_stream_receiver_hw.h ${CMAKE_CURRENT_SOURCE_DIR}/aub_command_stream_receiver_hw_base.inl ${CMAKE_CURRENT_SOURCE_DIR}/aub_command_stream_receiver_hw_bdw_plus.inl - ${CMAKE_CURRENT_SOURCE_DIR}/aub_stream_provider.h - ${CMAKE_CURRENT_SOURCE_DIR}/aub_subcapture.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/aub_subcapture.h ${CMAKE_CURRENT_SOURCE_DIR}/command_stream_receiver_with_aub_dump.h ${CMAKE_CURRENT_SOURCE_DIR}/command_stream_receiver_with_aub_dump.inl ${CMAKE_CURRENT_SOURCE_DIR}/create_command_stream_impl.cpp diff --git a/opencl/source/command_stream/aub_command_stream_receiver_hw.h b/opencl/source/command_stream/aub_command_stream_receiver_hw.h index d26eca00a9..3774271a0c 100644 --- a/opencl/source/command_stream/aub_command_stream_receiver_hw.h +++ b/opencl/source/command_stream/aub_command_stream_receiver_hw.h @@ -7,13 +7,13 @@ #pragma once #include "shared/source/helpers/array_count.h" +#include "shared/source/memory_manager/physical_address_allocator.h" #include "shared/source/utilities/spinlock.h" #include "opencl/source/aub/aub_center.h" #include "opencl/source/command_stream/aub_command_stream_receiver.h" #include "opencl/source/memory_manager/os_agnostic_memory_manager.h" #include "opencl/source/memory_manager/page_table.h" -#include "opencl/source/memory_manager/physical_address_allocator.h" #include "aub_mapper.h" #include "command_stream_receiver_simulated_hw.h" diff --git a/opencl/source/command_stream/aub_command_stream_receiver_hw_base.inl b/opencl/source/command_stream/aub_command_stream_receiver_hw_base.inl index 70989525e3..3ae58fbc8d 100644 --- a/opencl/source/command_stream/aub_command_stream_receiver_hw_base.inl +++ b/opencl/source/command_stream/aub_command_stream_receiver_hw_base.inl @@ -17,19 +17,21 @@ #include "shared/source/helpers/ptr_math.h" #include "shared/source/helpers/string.h" #include "shared/source/memory_manager/graphics_allocation.h" +#include "shared/source/memory_manager/memory_banks.h" #include "shared/source/os_interface/os_context.h" #include "opencl/source/aub/aub_helper.h" +#include "opencl/source/aub/aub_stream_provider.h" +#include "opencl/source/aub/aub_subcapture.h" #include "opencl/source/aub_mem_dump/aub_alloc_dump.h" #include "opencl/source/aub_mem_dump/aub_alloc_dump.inl" #include "opencl/source/aub_mem_dump/page_table_entry_bits.h" #include "opencl/source/command_stream/aub_command_stream_receiver_hw.h" -#include "opencl/source/command_stream/aub_stream_provider.h" -#include "opencl/source/command_stream/aub_subcapture.h" +#include "opencl/source/helpers/dispatch_info.h" #include "opencl/source/helpers/hardware_context_controller.h" #include "opencl/source/helpers/neo_driver_version.h" -#include "opencl/source/memory_manager/memory_banks.h" #include "opencl/source/memory_manager/os_agnostic_memory_manager.h" +#include "opencl/source/os_interface/ocl_reg_path.h" #include "driver_version.h" #include "third_party/aub_stream/headers/aub_manager.h" @@ -51,7 +53,7 @@ AUBCommandStreamReceiverHw::AUBCommandStreamReceiverHw(const std::str auto subCaptureCommon = aubCenter->getSubCaptureCommon(); UNRECOVERABLE_IF(nullptr == subCaptureCommon); - subCaptureManager = std::make_unique(fileName, *subCaptureCommon); + subCaptureManager = std::make_unique(fileName, *subCaptureCommon, oclRegPath); aubManager = aubCenter->getAubManager(); @@ -762,9 +764,10 @@ void AUBCommandStreamReceiverHw::dumpAllocation(GraphicsAllocation &g template AubSubCaptureStatus AUBCommandStreamReceiverHw::checkAndActivateAubSubCapture(const MultiDispatchInfo &dispatchInfo) { - auto status = subCaptureManager->checkAndActivateSubCapture(dispatchInfo); + std::string kernelName = dispatchInfo.peekMainKernel()->getKernelInfo().name; + auto status = subCaptureManager->checkAndActivateSubCapture(kernelName); if (status.isActive) { - std::string subCaptureFile = subCaptureManager->getSubCaptureFileName(dispatchInfo); + std::string subCaptureFile = subCaptureManager->getSubCaptureFileName(kernelName); auto isReopened = reopenFile(subCaptureFile); if (isReopened) { dumpAubNonWritable = true; diff --git a/opencl/source/command_stream/command_stream_receiver_simulated_common_hw.h b/opencl/source/command_stream/command_stream_receiver_simulated_common_hw.h index b5e38d8c16..efa499f218 100644 --- a/opencl/source/command_stream/command_stream_receiver_simulated_common_hw.h +++ b/opencl/source/command_stream/command_stream_receiver_simulated_common_hw.h @@ -7,8 +7,7 @@ #pragma once #include "shared/source/command_stream/command_stream_receiver_hw.h" - -#include "opencl/source/memory_manager/memory_banks.h" +#include "shared/source/memory_manager/memory_banks.h" #include "aub_mapper.h" #include "third_party/aub_stream/headers/hardware_context.h" diff --git a/opencl/source/command_stream/command_stream_receiver_simulated_common_hw_base.inl b/opencl/source/command_stream/command_stream_receiver_simulated_common_hw_base.inl index e6ad23bef1..5a032e0323 100644 --- a/opencl/source/command_stream/command_stream_receiver_simulated_common_hw_base.inl +++ b/opencl/source/command_stream/command_stream_receiver_simulated_common_hw_base.inl @@ -9,6 +9,7 @@ #include "shared/source/gmm_helper/gmm.h" #include "shared/source/gmm_helper/gmm_helper.h" #include "shared/source/gmm_helper/resource_info.h" +#include "shared/source/memory_manager/address_mapper.h" #include "shared/source/memory_manager/memory_manager.h" #include "shared/source/os_interface/os_context.h" @@ -16,7 +17,6 @@ #include "opencl/source/aub_mem_dump/page_table_entry_bits.h" #include "opencl/source/command_stream/command_stream_receiver_simulated_common_hw.h" #include "opencl/source/helpers/hardware_context_controller.h" -#include "opencl/source/memory_manager/address_mapper.h" #include "third_party/aub_stream/headers/aub_manager.h" diff --git a/opencl/source/command_stream/definitions/command_stream_receiver_simulated_hw.h b/opencl/source/command_stream/definitions/command_stream_receiver_simulated_hw.h index 372b0645c8..3eebc70204 100644 --- a/opencl/source/command_stream/definitions/command_stream_receiver_simulated_hw.h +++ b/opencl/source/command_stream/definitions/command_stream_receiver_simulated_hw.h @@ -6,9 +6,10 @@ */ #pragma once +#include "shared/source/memory_manager/memory_banks.h" +#include "shared/source/memory_manager/physical_address_allocator.h" + #include "opencl/source/command_stream/command_stream_receiver_simulated_common_hw.h" -#include "opencl/source/memory_manager/memory_banks.h" -#include "opencl/source/memory_manager/physical_address_allocator.h" namespace NEO { class GraphicsAllocation; diff --git a/opencl/source/command_stream/tbx_command_stream_receiver_hw.h b/opencl/source/command_stream/tbx_command_stream_receiver_hw.h index f9db71b827..d2ed84d345 100644 --- a/opencl/source/command_stream/tbx_command_stream_receiver_hw.h +++ b/opencl/source/command_stream/tbx_command_stream_receiver_hw.h @@ -6,8 +6,9 @@ */ #pragma once +#include "shared/source/memory_manager/address_mapper.h" + #include "opencl/source/command_stream/tbx_command_stream_receiver.h" -#include "opencl/source/memory_manager/address_mapper.h" #include "opencl/source/memory_manager/os_agnostic_memory_manager.h" #include "opencl/source/memory_manager/page_table.h" diff --git a/opencl/source/command_stream/tbx_command_stream_receiver_hw.inl b/opencl/source/command_stream/tbx_command_stream_receiver_hw.inl index 40731977e4..fd390e502d 100644 --- a/opencl/source/command_stream/tbx_command_stream_receiver_hw.inl +++ b/opencl/source/command_stream/tbx_command_stream_receiver_hw.inl @@ -16,6 +16,8 @@ #include "shared/source/helpers/populate_factory.h" #include "shared/source/helpers/ptr_math.h" #include "shared/source/memory_manager/graphics_allocation.h" +#include "shared/source/memory_manager/memory_banks.h" +#include "shared/source/memory_manager/physical_address_allocator.h" #include "shared/source/os_interface/os_context.h" #include "opencl/source/aub/aub_center.h" @@ -27,8 +29,7 @@ #include "opencl/source/command_stream/command_stream_receiver_with_aub_dump.h" #include "opencl/source/helpers/dispatch_info.h" #include "opencl/source/helpers/hardware_context_controller.h" -#include "opencl/source/memory_manager/memory_banks.h" -#include "opencl/source/memory_manager/physical_address_allocator.h" +#include "opencl/source/os_interface/ocl_reg_path.h" #include @@ -172,13 +173,12 @@ CommandStreamReceiver *TbxCommandStreamReceiverHw::create(const std:: UNRECOVERABLE_IF(nullptr == subCaptureCommon); if (subCaptureCommon->subCaptureMode > AubSubCaptureManager::SubCaptureMode::Off) { - csr->subCaptureManager = std::make_unique(fullName, *subCaptureCommon); + csr->subCaptureManager = std::make_unique(fullName, *subCaptureCommon, oclRegPath); } if (csr->aubManager) { if (!csr->aubManager->isOpen()) { - MultiDispatchInfo dispatchInfo; - csr->aubManager->open(csr->subCaptureManager ? csr->subCaptureManager->getSubCaptureFileName(dispatchInfo) : fullName); + csr->aubManager->open(csr->subCaptureManager ? csr->subCaptureManager->getSubCaptureFileName("") : fullName); UNRECOVERABLE_IF(!csr->aubManager->isOpen()); } } @@ -547,7 +547,8 @@ AubSubCaptureStatus TbxCommandStreamReceiverHw::checkAndActivateAubSu return {false, false}; } - auto status = subCaptureManager->checkAndActivateSubCapture(dispatchInfo); + std::string kernelName = (dispatchInfo.empty() ? "" : dispatchInfo.peekMainKernel()->getKernelInfo().name); + auto status = subCaptureManager->checkAndActivateSubCapture(kernelName); if (status.isActive && !status.wasActiveInPreviousEnqueue) { dumpTbxNonWritable = true; } diff --git a/opencl/source/gen_common/CMakeLists.txt b/opencl/source/gen_common/CMakeLists.txt deleted file mode 100644 index e11d2809d7..0000000000 --- a/opencl/source/gen_common/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -# -# Copyright (C) 2018-2020 Intel Corporation -# -# SPDX-License-Identifier: MIT -# - -set(RUNTIME_SRCS_GEN_COMMON - ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_SOURCE_DIR}/aub_mapper_base.h -) - -target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_GEN_COMMON}) - -add_subdirectories() diff --git a/opencl/source/helpers/dispatch_info.cpp b/opencl/source/helpers/dispatch_info.cpp index 0bfca07450..894e602742 100644 --- a/opencl/source/helpers/dispatch_info.cpp +++ b/opencl/source/helpers/dispatch_info.cpp @@ -36,4 +36,10 @@ Kernel *MultiDispatchInfo::peekMainKernel() const { Kernel *MultiDispatchInfo::peekParentKernel() const { return (mainKernel && mainKernel->isParentKernel) ? mainKernel : nullptr; } + +void MultiDispatchInfo::backupUnifiedMemorySyncRequirement() { + for (const auto &dispatchInfo : dispatchInfos) { + dispatchInfo.getKernel()->setUnifiedMemorySyncRequirement(true); + } +} } // namespace NEO diff --git a/opencl/source/helpers/dispatch_info.h b/opencl/source/helpers/dispatch_info.h index d003206509..1811a075c1 100644 --- a/opencl/source/helpers/dispatch_info.h +++ b/opencl/source/helpers/dispatch_info.h @@ -131,11 +131,7 @@ struct MultiDispatchInfo { return ret; } - void backupUnifiedMemorySyncRequirement() { - for (const auto &dispatchInfo : dispatchInfos) { - dispatchInfo.getKernel()->setUnifiedMemorySyncRequirement(true); - } - } + void backupUnifiedMemorySyncRequirement(); DispatchInfo *begin() { return dispatchInfos.begin(); diff --git a/opencl/source/memory_manager/CMakeLists.txt b/opencl/source/memory_manager/CMakeLists.txt index 6a36f6915e..0858fcd9c7 100644 --- a/opencl/source/memory_manager/CMakeLists.txt +++ b/opencl/source/memory_manager/CMakeLists.txt @@ -6,19 +6,15 @@ set(RUNTIME_SRCS_MEMORY_MANAGER ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt - ${CMAKE_CURRENT_SOURCE_DIR}/address_mapper.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/address_mapper.h ${CMAKE_CURRENT_SOURCE_DIR}/compression_selector_ocl.cpp ${CMAKE_CURRENT_SOURCE_DIR}/cpu_page_fault_manager_memory_sync.cpp ${CMAKE_CURRENT_SOURCE_DIR}/mem_obj_surface.h - ${CMAKE_CURRENT_SOURCE_DIR}/memory_banks.h ${CMAKE_CURRENT_SOURCE_DIR}/os_agnostic_memory_manager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/os_agnostic_memory_manager.h ${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}/os_agnostic_memory_manager_allocate_in_device_pool.cpp ${CMAKE_CURRENT_SOURCE_DIR}/page_table.cpp ${CMAKE_CURRENT_SOURCE_DIR}/page_table.h ${CMAKE_CURRENT_SOURCE_DIR}/page_table.inl - ${CMAKE_CURRENT_SOURCE_DIR}/physical_address_allocator.h ) target_sources(${NEO_STATIC_LIB_NAME} PRIVATE ${RUNTIME_SRCS_MEMORY_MANAGER}) diff --git a/opencl/source/memory_manager/page_table.h b/opencl/source/memory_manager/page_table.h index afcdb1a954..5d1124bebb 100644 --- a/opencl/source/memory_manager/page_table.h +++ b/opencl/source/memory_manager/page_table.h @@ -7,8 +7,7 @@ #pragma once #include "shared/source/helpers/basic_math.h" - -#include "opencl/source/memory_manager/physical_address_allocator.h" +#include "shared/source/memory_manager/physical_address_allocator.h" #include #include diff --git a/opencl/test/unit_test/aub_tests/command_stream/aub_command_stream_fixture.h b/opencl/test/unit_test/aub_tests/command_stream/aub_command_stream_fixture.h index ee65a049b2..45cf32f3be 100644 --- a/opencl/test/unit_test/aub_tests/command_stream/aub_command_stream_fixture.h +++ b/opencl/test/unit_test/aub_tests/command_stream/aub_command_stream_fixture.h @@ -7,6 +7,7 @@ #pragma once #include "shared/source/memory_manager/internal_allocation_storage.h" +#include "shared/source/memory_manager/memory_banks.h" #include "shared/source/os_interface/os_context.h" #include "shared/test/unit_test/tests_configuration.h" @@ -15,7 +16,6 @@ #include "opencl/source/command_stream/aub_command_stream_receiver_hw.h" #include "opencl/source/command_stream/command_stream_receiver_with_aub_dump.h" #include "opencl/source/command_stream/tbx_command_stream_receiver_hw.h" -#include "opencl/source/memory_manager/memory_banks.h" #include "opencl/test/unit_test/command_stream/command_stream_fixture.h" #include "opencl/test/unit_test/mocks/mock_allocation_properties.h" diff --git a/opencl/test/unit_test/command_queue/enqueue_handler_tests.cpp b/opencl/test/unit_test/command_queue/enqueue_handler_tests.cpp index 05388facf6..7f948bba97 100644 --- a/opencl/test/unit_test/command_queue/enqueue_handler_tests.cpp +++ b/opencl/test/unit_test/command_queue/enqueue_handler_tests.cpp @@ -10,7 +10,7 @@ #include "shared/test/unit_test/helpers/debug_manager_state_restore.h" #include "shared/test/unit_test/utilities/base_object_utils.h" -#include "opencl/source/command_stream/aub_subcapture.h" +#include "opencl/source/aub/aub_subcapture.h" #include "opencl/source/event/user_event.h" #include "opencl/source/platform/platform.h" #include "opencl/test/unit_test/command_stream/thread_arbitration_policy_helper.h" @@ -159,6 +159,7 @@ HWTEST_F(EnqueueHandlerWithAubSubCaptureTests, givenEnqueueHandlerWithAubSubCapt MockCmdQWithAubSubCapture cmdQ(context, pClDevice); MockKernelWithInternals mockKernel(*pClDevice); + mockKernel.kernelInfo.name = "kernelName"; size_t gws[3] = {1, 0, 0}; // activate subcapture diff --git a/opencl/test/unit_test/command_stream/aub_command_stream_receiver_1_tests.cpp b/opencl/test/unit_test/command_stream/aub_command_stream_receiver_1_tests.cpp index 2f90996152..b8a95502b8 100644 --- a/opencl/test/unit_test/command_stream/aub_command_stream_receiver_1_tests.cpp +++ b/opencl/test/unit_test/command_stream/aub_command_stream_receiver_1_tests.cpp @@ -313,12 +313,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur auto aubExecutionEnvironment = getEnvironment>(true, true, true); auto aubCsr = aubExecutionEnvironment->template getCsr>(); - const DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManagerMock->setSubCaptureToggleActive(true); - aubSubCaptureManagerMock->checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManagerMock->checkAndActivateSubCapture("kernelName"); aubCsr->subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); ASSERT_TRUE(aubCsr->subCaptureManager->isSubCaptureEnabled()); @@ -502,12 +499,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur auto aubCsr = aubExecutionEnvironment->template getCsr>(); LinearStream cs(aubExecutionEnvironment->commandBuffer); - const DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManagerMock->setSubCaptureToggleActive(true); - aubSubCaptureManagerMock->checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManagerMock->checkAndActivateSubCapture("kernelName"); aubCsr->subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); ASSERT_TRUE(aubCsr->subCaptureManager->isSubCaptureEnabled()); @@ -529,12 +523,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur auto aubCsr = aubExecutionEnvironment->template getCsr>(); LinearStream cs(aubExecutionEnvironment->commandBuffer); - const DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManagerMock->setSubCaptureToggleActive(true); - aubSubCaptureManagerMock->checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManagerMock->checkAndActivateSubCapture("kernelName"); aubCsr->subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); ASSERT_TRUE(aubCsr->subCaptureManager->isSubCaptureEnabled()); @@ -655,12 +646,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon auto commandBuffer = aubExecutionEnvironment->commandBuffer; LinearStream cs(commandBuffer); - const DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManagerMock->setSubCaptureToggleActive(true); - aubSubCaptureManagerMock->checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManagerMock->checkAndActivateSubCapture("kernelName"); aubCsr->subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); ASSERT_TRUE(aubCsr->subCaptureManager->isSubCaptureEnabled()); @@ -905,6 +893,7 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); + kernelInternals.kernelInfo.name = "kernelName"; Kernel *kernel = kernelInternals.mockKernel; MockMultiDispatchInfo multiDispatchInfo(kernel); @@ -927,10 +916,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); - std::string fileName = aubCsr->subCaptureManager->getSubCaptureFileName(multiDispatchInfo); + std::string fileName = aubCsr->subCaptureManager->getSubCaptureFileName(kernelInternals.kernelInfo.name); aubCsr->initFile(fileName); ASSERT_TRUE(aubCsr->isFileOpen()); @@ -954,8 +942,8 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + kernelInternals.kernelInfo.name = "kernelName"; + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); std::string fileName = "file_name.aub"; aubCsr->initFile(fileName); @@ -983,8 +971,8 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + kernelInternals.kernelInfo.name = "kernelName"; + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); std::string fileName = "file_name.aub"; aubCsr->initFile(fileName); @@ -1010,8 +998,8 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + kernelInternals.kernelInfo.name = "kernelName"; + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); @@ -1030,10 +1018,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); - aubCsr->initFile(aubCsr->subCaptureManager->getSubCaptureFileName(multiDispatchInfo)); + aubCsr->initFile(aubCsr->subCaptureManager->getSubCaptureFileName(kernelInternals.kernelInfo.name)); aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); EXPECT_FALSE(aubCsr->dumpAubNonWritable); @@ -1050,9 +1037,11 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur subCaptureManagerMock->setSubCaptureToggleActive(false); aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); - const DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); + MockKernelWithInternals kernelInternals(*pClDevice); + kernelInternals.kernelInfo.name = "kernelName"; + Kernel *kernel = kernelInternals.mockKernel; + MockMultiDispatchInfo multiDispatchInfo(kernel); + aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); EXPECT_FALSE(aubCsr->subCaptureManager->isSubCaptureEnabled()); @@ -1070,8 +1059,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInSubCaptur aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + kernelInternals.kernelInfo.name = "kernelName"; + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); + aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); EXPECT_TRUE(aubCsr->subCaptureManager->isSubCaptureEnabled()); @@ -1089,8 +1079,8 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); + aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); EXPECT_FALSE(aubCsr->flushBatchedSubmissionsCalled); @@ -1109,8 +1099,8 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); + aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); EXPECT_FALSE(aubCsr->flushBatchedSubmissionsCalled); @@ -1129,8 +1119,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + kernelInternals.kernelInfo.name = "kernelName"; + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); + aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); EXPECT_FALSE(aubCsr->flushBatchedSubmissionsCalled); @@ -1149,8 +1140,9 @@ HWTEST_F(AubCommandStreamReceiverTests, givenAubCommandStreamReceiverInStandalon aubCsr->subCaptureManager = std::unique_ptr(subCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); - Kernel *kernel = kernelInternals.mockKernel; - MockMultiDispatchInfo multiDispatchInfo(kernel); + kernelInternals.kernelInfo.name = "kernelName"; + MockMultiDispatchInfo multiDispatchInfo(kernelInternals.mockKernel); + aubCsr->checkAndActivateAubSubCapture(multiDispatchInfo); EXPECT_TRUE(aubCsr->flushBatchedSubmissionsCalled); diff --git a/opencl/test/unit_test/command_stream/aub_file_stream_tests.cpp b/opencl/test/unit_test/command_stream/aub_file_stream_tests.cpp index e7a499b32a..468e92a2f1 100644 --- a/opencl/test/unit_test/command_stream/aub_file_stream_tests.cpp +++ b/opencl/test/unit_test/command_stream/aub_file_stream_tests.cpp @@ -450,12 +450,9 @@ HWTEST_F(AubFileStreamTests, givenAubCommandStreamReceiverInSubCaptureModeWhenPo auto aubCsr = aubExecutionEnvironment->template getCsr>(); aubCsr->stream = aubStream.get(); - const DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManagerMock->setSubCaptureToggleActive(true); - aubSubCaptureManagerMock->checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManagerMock->checkAndActivateSubCapture("kernelName"); aubCsr->subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); ASSERT_TRUE(aubCsr->subCaptureManager->isSubCaptureEnabled()); @@ -501,12 +498,9 @@ HWTEST_F(AubFileStreamTests, givenAubCommandStreamReceiverWithHardwareContextInS aubCsr.setupContext(osContext); auto hardwareContext = static_cast(aubCsr.hardwareContextController->hardwareContexts[0].get()); - const DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManagerMock->setSubCaptureToggleActive(true); - aubSubCaptureManagerMock->checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManagerMock->checkAndActivateSubCapture("kernelName"); aubCsr.subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); ASSERT_TRUE(aubCsr.subCaptureManager->isSubCaptureEnabled()); diff --git a/opencl/test/unit_test/command_stream/aub_subcapture_tests.cpp b/opencl/test/unit_test/command_stream/aub_subcapture_tests.cpp index aebe27a546..163b75efda 100644 --- a/opencl/test/unit_test/command_stream/aub_subcapture_tests.cpp +++ b/opencl/test/unit_test/command_stream/aub_subcapture_tests.cpp @@ -7,7 +7,7 @@ #include "shared/test/unit_test/helpers/debug_manager_state_restore.h" -#include "opencl/source/command_stream/aub_subcapture.h" +#include "opencl/source/aub/aub_subcapture.h" #include "opencl/source/helpers/dispatch_info.h" #include "opencl/test/unit_test/fixtures/cl_device_fixture.h" #include "opencl/test/unit_test/mocks/mock_aub_subcapture_manager.h" @@ -41,7 +41,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenSubCaptureToggleCaptureOnOff struct AubSubCaptureManagerWithToggleActiveMock : public AubSubCaptureManager { using AubSubCaptureManager::AubSubCaptureManager; using AubSubCaptureManager::isSubCaptureToggleActive; - } aubSubCaptureManagerWithToggleActiveMock("", subCaptureCommon); + } aubSubCaptureManagerWithToggleActiveMock("", subCaptureCommon, oclRegPath); EXPECT_FALSE(aubSubCaptureManagerWithToggleActiveMock.isSubCaptureToggleActive()); } @@ -50,7 +50,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenSubCaptureToggleFileNameIsUn struct AubSubCaptureManagerWithToggleFileNameMock : public AubSubCaptureManager { using AubSubCaptureManager::AubSubCaptureManager; using AubSubCaptureManager::getToggleFileName; - } aubSubCaptureManagerWithToggleFileNameMock("", subCaptureCommon); + } aubSubCaptureManagerWithToggleFileNameMock("", subCaptureCommon, oclRegPath); EXPECT_STREQ("", aubSubCaptureManagerWithToggleFileNameMock.getToggleFileName().c_str()); } @@ -82,8 +82,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenItIsCreatedThenItIsInitializ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenCheckAndActivateSubCaptureIsCalledWithEmptyDispatchInfoThenSubCaptureIsInactive) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - MultiDispatchInfo dispatchInfo; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(dispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_FALSE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -91,28 +90,21 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenCheckAndActivateSubCaptureIs TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenCheckAndActivateSubCaptureIsCalledWithNonEmptyDispatchInfoThenKernelCurrentIndexIsIncremented) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); uint32_t kernelCurrentIndex = aubSubCaptureManager.getKernelCurrentIndex(); ASSERT_EQ(0u, kernelCurrentIndex); - aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_EQ(kernelCurrentIndex + 0, aubSubCaptureManager.getKernelCurrentIndex()); - aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_EQ(kernelCurrentIndex + 1, aubSubCaptureManager.getKernelCurrentIndex()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenCheckAndActivateSubCaptureIsCalledButSubCaptureModeIsOffThenSubCaptureIsInactive) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Off; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_FALSE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -120,17 +112,13 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenCheckAndActivateSubCaptureIs TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenCheckAndActivateSubCaptureIsCalledAndSubCaptureIsToggledOnThenSubCaptureGetsAndRemainsActivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManager.setSubCaptureToggleActive(true); - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_TRUE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); - status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_TRUE(status.isActive); EXPECT_TRUE(status.wasActiveInPreviousEnqueue); } @@ -138,17 +126,13 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenCheckAndActivateSubCaptureIsCalledButSubCaptureIsToggledOffThenSubCaptureRemainsDeactivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManager.setSubCaptureToggleActive(false); - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_FALSE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); - status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_FALSE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -156,18 +140,14 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenCheckAndActivateSubCaptureIsCalledButSubCaptureIsToggledOnAndOffThenSubCaptureGetsActivatedAndDeactivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; aubSubCaptureManager.setSubCaptureToggleActive(true); - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_TRUE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); aubSubCaptureManager.setSubCaptureToggleActive(false); - status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + status = aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_FALSE(status.isActive); EXPECT_TRUE(status.wasActiveInPreviousEnqueue); } @@ -175,14 +155,8 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivateSubCaptureIsCalledAndSubCaptureFilterIsDefaultThenSubCaptureIsActive) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_TRUE(status.isActive); EXPECT_TRUE(aubSubCaptureManager.isSubCaptureActive()); } @@ -190,15 +164,9 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivateSubCaptureIsCalledAndSubCaptureFilterWithValidKernelStartIndexIsSpecifiedThenSubCaptureGetsActivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; subCaptureCommon.subCaptureFilter.dumpKernelStartIdx = 0; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_TRUE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -206,15 +174,9 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivateSubCaptureIsCalledAndSubCaptureFilterWithInvalidKernelStartIndexIsSpecifiedThenSubCaptureRemainsDeactivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; subCaptureCommon.subCaptureFilter.dumpKernelStartIdx = 1; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_FALSE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -222,16 +184,10 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivateSubCaptureIsCalledAndSubCaptureFilterWithInvalidKernelEndIndexIsSpecifiedThenSubCaptureRemainsDeactivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; subCaptureCommon.subCaptureFilter.dumpKernelEndIdx = 0; subCaptureCommon.getKernelCurrentIndexAndIncrement(); - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_FALSE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -239,15 +195,9 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivateSubCaptureIsCalledAndSubCaptureFilterWithValidKernelNameIsSpecifiedThenSubCaptureGetsActivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; subCaptureCommon.subCaptureFilter.dumpKernelName = "kernel_name"; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_TRUE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -255,15 +205,9 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivate TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenCheckAndActivateSubCaptureIsCalledAndSubCaptureFilterWithInvalidKernelNameIsSpecifiedThenSubCaptureRemainsDeactivated) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; subCaptureCommon.subCaptureFilter.dumpKernelName = "invalid_kernel_name"; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_FALSE(status.isActive); EXPECT_FALSE(status.wasActiveInPreviousEnqueue); } @@ -333,42 +277,32 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenGetSubCaptureFileNameIsCalle DebugManager.flags.AUBDumpCaptureFileName.set("aubcapture_file_name.aub"); AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - MultiDispatchInfo multiDispatchInfo; - EXPECT_STREQ("aubcapture_file_name.aub", aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); + EXPECT_STREQ("aubcapture_file_name.aub", aubSubCaptureManager.getSubCaptureFileName("kernelName").c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInOffModeWhenGetSubCaptureFileNameIsCalledThenItReturnsEmptyFileName) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - EXPECT_STREQ("", aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); + EXPECT_STREQ("", aubSubCaptureManager.getSubCaptureFileName("kernelName").c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGetSubCaptureFileNameIsCalledAndToggleFileNameIsSpecifiedThenItReturnsItsName) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); std::string toggleFileName = "toggle_file_name.aub"; aubSubCaptureManager.setToggleFileName(toggleFileName); subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; - EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); + EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName("kernelName").c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFileNameIsCalledAndToggleFileNameIsSpecifiedThenItReturnsItsName) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); std::string toggleFileName = "toggle_file_name.aub"; aubSubCaptureManager.setToggleFileName(toggleFileName); subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; - EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); + EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName("kernelName").c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFileNameIsCalledAndBothToggleAndAubCaptureFileNamesAreSpecifiedThenToggleNameTakesPrecedence) { @@ -377,49 +311,39 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFil AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - MultiDispatchInfo multiDispatchInfo; std::string toggleFileName = "toggle_file_name.aub"; aubSubCaptureManager.setToggleFileName(toggleFileName); subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; - EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); + EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName("kernelName").c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGetSubCaptureFileNameIsCalledAndToggleFileNameIsNotSpecifiedThenItGeneratesFilterFileName) { AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureManager.setToggleFileName(""); subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; std::string filterFileName = aubSubCaptureManager.generateFilterFileName(); - EXPECT_STREQ(filterFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); + EXPECT_STREQ(filterFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName("kernelName").c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFileNameIsCalledAndToggleFileNameIsNotSpecifiedThenItGeneratesToggleFileName) { AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub", subCaptureCommon); - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureManager.setToggleFileName(""); subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; - std::string toggleFileName = aubSubCaptureManager.generateToggleFileName(multiDispatchInfo); - EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); + std::string toggleFileName = aubSubCaptureManager.generateToggleFileName(kernelInfo.name); + EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(kernelInfo.name).c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFileNameIsCalledForEmptyDispatchInfoThenGenerateToggleFileNameWithoutKernelName) { AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub", subCaptureCommon); - MultiDispatchInfo dispatchInfo; subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; - auto toggleFileName = aubSubCaptureManager.generateToggleFileName(dispatchInfo); - EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(dispatchInfo).c_str()); + auto toggleFileName = aubSubCaptureManager.generateToggleFileName("kernelName"); + EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName("kernelName").c_str()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGetSubCaptureFileNameIsCalledManyTimesAndToggleFileNameIsNotSpecifiedThenItGeneratesFilterFileNameOnceOnly) { @@ -430,35 +354,29 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGetSubCaptureFil return "aubfile_filter.aub"; } mutable uint32_t generateFilterFileNameCount = 0; - } aubSubCaptureManager("", subCaptureCommon); + } aubSubCaptureManager("", subCaptureCommon, oclRegPath); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; - aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo); - aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo); - aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo); + aubSubCaptureManager.getSubCaptureFileName("kernelName"); + aubSubCaptureManager.getSubCaptureFileName("kernelName"); + aubSubCaptureManager.getSubCaptureFileName("kernelName"); EXPECT_EQ(1u, aubSubCaptureManager.generateFilterFileNameCount); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGetSubCaptureFileNameIsCalledManyTimesAndToggleFileNameIsNotSpecifiedThenItGeneratesToggleFileNameOnceOnly) { struct AubSubCaptureManagerMockWithToggleFileNameGenerationCount : AubSubCaptureManager { using AubSubCaptureManager::AubSubCaptureManager; - std::string generateToggleFileName(const MultiDispatchInfo &dispatchInfo) const override { + std::string generateToggleFileName(const std::string &kernelName) const override { generateToggleFileNameCount++; return "aubfile_toggle.aub"; } mutable uint32_t generateToggleFileNameCount = 0; - } aubSubCaptureManager("", subCaptureCommon); + } aubSubCaptureManager("", subCaptureCommon, oclRegPath); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; - aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo); - aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo); - aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo); + aubSubCaptureManager.getSubCaptureFileName("kernelName"); + aubSubCaptureManager.getSubCaptureFileName("kernelName"); + aubSubCaptureManager.getSubCaptureFileName("kernelName"); EXPECT_EQ(1u, aubSubCaptureManager.generateToggleFileNameCount); } @@ -494,48 +412,20 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenGenerateFilterFi TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGenerateToggleFileNameIsCalledThenItGeneratesFileNameWithKernelCurrentIndex) { AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub", subCaptureCommon); std::string kernelCurrentIndex = "from_" + std::to_string(aubSubCaptureManager.getKernelCurrentIndex()); - MultiDispatchInfo dispatchInfo; subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; - std::string filterFileName = aubSubCaptureManager.generateToggleFileName(dispatchInfo); + std::string filterFileName = aubSubCaptureManager.generateToggleFileName("kernelName"); EXPECT_NE(std::string::npos, filterFileName.find(kernelCurrentIndex)); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerInToggleModeWhenGenerateToggleFileNameIsCalledAndDispatchInfoIsEmptyThenItGeneratesFileNameWithoutNameOfKernel) { AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub", subCaptureCommon); std::string kernelName = "kernel_name"; - MultiDispatchInfo dispatchInfo; subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; subCaptureCommon.subCaptureFilter.dumpKernelName = kernelName; - std::string toggleFileName = aubSubCaptureManager.generateToggleFileName(dispatchInfo); + std::string toggleFileName = aubSubCaptureManager.generateToggleFileName("kernelName"); EXPECT_EQ(std::string::npos, toggleFileName.find(kernelName)); } -TEST_F(AubSubCaptureTest, givenMultiDispatchInfoWithMultipleKernelsWhenGenerateToggleFileNameThenPickMainKernel) { - AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub", subCaptureCommon); - KernelInfo mainKernelInfo = {}; - mainKernelInfo.name = "main_kernel"; - - MockKernel mainKernel(program.get(), mainKernelInfo, *pClDevice); - MockKernel kernel1(program.get(), kernelInfo, *pClDevice); - MockKernel kernel2(program.get(), kernelInfo, *pClDevice); - - DispatchInfo mainDispatchInfo(&mainKernel, 1, {1, 1, 1}, {1, 1, 1}, {1, 1, 1}); - DispatchInfo dispatchInfo1(&kernel1, 1, {1, 1, 1}, {1, 1, 1}, {1, 1, 1}); - DispatchInfo dispatchInfo2(&kernel2, 1, {1, 1, 1}, {1, 1, 1}, {1, 1, 1}); - - MultiDispatchInfo multiDispatchInfo(&mainKernel); - multiDispatchInfo.push(dispatchInfo1); - multiDispatchInfo.push(mainDispatchInfo); - multiDispatchInfo.push(dispatchInfo2); - - aubSubCaptureManager.setToggleFileName(""); - - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Toggle; - std::string toggleFileName = aubSubCaptureManager.generateToggleFileName(multiDispatchInfo); - EXPECT_NE(std::string::npos, toggleFileName.find(mainKernelInfo.name)); - EXPECT_STREQ(toggleFileName.c_str(), aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo).c_str()); -} - TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenKernelNameIsSpecifiedThenNamedKernelIndexesShouldApplyToTheSpecifiedKernel) { AubSubCaptureManagerMock aubSubCaptureManager("aubfile.aub", subCaptureCommon); std::string kernelName = "kernel_name"; @@ -544,31 +434,22 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerInFilterModeWhenKernelNameIsSpec subCaptureCommon.subCaptureFilter.dumpNamedKernelEndIdx = 1; subCaptureCommon.subCaptureFilter.dumpKernelName = kernelName; - DispatchInfo dispatchInfo; - MockKernel kernel(program.get(), kernelInfo, *pClDevice); - dispatchInfo.setKernel(&kernel); - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); - subCaptureCommon.subCaptureMode = AubSubCaptureManager::SubCaptureMode::Filter; - auto status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + auto status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_FALSE(status.isActive); EXPECT_FALSE(aubSubCaptureManager.isSubCaptureActive()); - status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_TRUE(status.isActive); EXPECT_TRUE(aubSubCaptureManager.isSubCaptureActive()); - status = aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + status = aubSubCaptureManager.checkAndActivateSubCapture(kernelInfo.name); EXPECT_FALSE(status.isActive); EXPECT_FALSE(aubSubCaptureManager.isSubCaptureActive()); } TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenPublicInterfaceIsCalledThenLockShouldBeAcquired) { AubSubCaptureManagerMock aubSubCaptureManager("", subCaptureCommon); - DispatchInfo dispatchInfo; - MultiDispatchInfo multiDispatchInfo; - multiDispatchInfo.push(dispatchInfo); aubSubCaptureManager.isLocked = false; aubSubCaptureManager.isSubCaptureEnabled(); @@ -579,7 +460,7 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenPublicInterfaceIsCalledThenL EXPECT_TRUE(aubSubCaptureManager.isLocked); aubSubCaptureManager.isLocked = false; - aubSubCaptureManager.checkAndActivateSubCapture(multiDispatchInfo); + aubSubCaptureManager.checkAndActivateSubCapture("kernelName"); EXPECT_TRUE(aubSubCaptureManager.isLocked); aubSubCaptureManager.isLocked = false; @@ -587,6 +468,6 @@ TEST_F(AubSubCaptureTest, givenSubCaptureManagerWhenPublicInterfaceIsCalledThenL EXPECT_TRUE(aubSubCaptureManager.isLocked); aubSubCaptureManager.isLocked = false; - aubSubCaptureManager.getSubCaptureFileName(multiDispatchInfo); + aubSubCaptureManager.getSubCaptureFileName("kernelName"); EXPECT_TRUE(aubSubCaptureManager.isLocked); } diff --git a/opencl/test/unit_test/command_stream/tbx_command_stream_tests.cpp b/opencl/test/unit_test/command_stream/tbx_command_stream_tests.cpp index 97c1ea3907..3181b9d1d9 100644 --- a/opencl/test/unit_test/command_stream/tbx_command_stream_tests.cpp +++ b/opencl/test/unit_test/command_stream/tbx_command_stream_tests.cpp @@ -10,6 +10,7 @@ #include "shared/source/helpers/engine_node_helper.h" #include "shared/source/helpers/hw_helper.h" #include "shared/source/helpers/ptr_math.h" +#include "shared/source/memory_manager/memory_banks.h" #include "shared/source/os_interface/os_context.h" #include "shared/test/unit_test/cmd_parse/gen_cmd_parse.h" #include "shared/test/unit_test/helpers/debug_manager_state_restore.h" @@ -21,7 +22,6 @@ #include "opencl/source/command_stream/tbx_command_stream_receiver_hw.h" #include "opencl/source/helpers/hardware_context_controller.h" #include "opencl/source/mem_obj/mem_obj.h" -#include "opencl/source/memory_manager/memory_banks.h" #include "opencl/source/platform/platform.h" #include "opencl/test/unit_test/command_queue/command_queue_fixture.h" #include "opencl/test/unit_test/fixtures/cl_device_fixture.h" @@ -670,8 +670,7 @@ HWTEST_F(TbxCommandStreamTests, givenTbxCsrWhenCreatedWithAubDumpInSubCaptureMod auto subCaptureManager = tbxCsrWithAubDump->subCaptureManager.get(); EXPECT_NE(nullptr, subCaptureManager); - MultiDispatchInfo dispatchInfo; - EXPECT_STREQ(subCaptureManager->getSubCaptureFileName(dispatchInfo).c_str(), tbxCsrWithAubDump->aubManager->getFileName().c_str()); + EXPECT_STREQ(subCaptureManager->getSubCaptureFileName("kernelName").c_str(), tbxCsrWithAubDump->aubManager->getFileName().c_str()); } HWTEST_F(TbxCommandStreamTests, givenTbxCsrWhenCreatedWithAubDumpSeveralTimesThenOpenIsCalledOnAubManagerOnceOnly) { @@ -887,6 +886,7 @@ HWTEST_F(TbxCommandStreamTests, givenTbxCsrInSubCaptureModeWhenCheckAndActivateA tbxCsr.subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); + kernelInternals.kernelInfo.name = "kernelName"; Kernel *kernel = kernelInternals.mockKernel; MockMultiDispatchInfo multiDispatchInfo(kernel); @@ -912,6 +912,7 @@ HWTEST_F(TbxCommandStreamTests, givenTbxCsrInSubCaptureModeWhenCheckAndActivateA tbxCsr.subCaptureManager = std::unique_ptr(aubSubCaptureManagerMock); MockKernelWithInternals kernelInternals(*pClDevice); + kernelInternals.kernelInfo.name = "kernelName"; Kernel *kernel = kernelInternals.mockKernel; MockMultiDispatchInfo multiDispatchInfo(kernel); diff --git a/opencl/test/unit_test/memory_manager/address_mapper_tests.cpp b/opencl/test/unit_test/memory_manager/address_mapper_tests.cpp index 3f3c32fbed..3cc0ce7aa3 100644 --- a/opencl/test/unit_test/memory_manager/address_mapper_tests.cpp +++ b/opencl/test/unit_test/memory_manager/address_mapper_tests.cpp @@ -6,8 +6,8 @@ */ #include "shared/source/helpers/aligned_memory.h" +#include "shared/source/memory_manager/address_mapper.h" -#include "opencl/source/memory_manager/address_mapper.h" #include "test.h" #include "gtest/gtest.h" diff --git a/opencl/test/unit_test/memory_manager/page_table_tests.cpp b/opencl/test/unit_test/memory_manager/page_table_tests.cpp index eec5de8275..8807fed936 100644 --- a/opencl/test/unit_test/memory_manager/page_table_tests.cpp +++ b/opencl/test/unit_test/memory_manager/page_table_tests.cpp @@ -6,9 +6,9 @@ */ #include "shared/source/helpers/ptr_math.h" +#include "shared/source/memory_manager/memory_banks.h" #include "opencl/source/aub_mem_dump/page_table_entry_bits.h" -#include "opencl/source/memory_manager/memory_banks.h" #include "opencl/source/memory_manager/page_table.h" #include "opencl/source/memory_manager/page_table.inl" #include "opencl/test/unit_test/mocks/mock_physical_address_allocator.h" diff --git a/opencl/test/unit_test/memory_manager/physical_address_allocator_tests.cpp b/opencl/test/unit_test/memory_manager/physical_address_allocator_tests.cpp index a5e16a7a4e..00083b62b6 100644 --- a/opencl/test/unit_test/memory_manager/physical_address_allocator_tests.cpp +++ b/opencl/test/unit_test/memory_manager/physical_address_allocator_tests.cpp @@ -5,7 +5,8 @@ * */ -#include "opencl/source/memory_manager/memory_banks.h" +#include "shared/source/memory_manager/memory_banks.h" + #include "opencl/source/memory_manager/page_table.h" #include "opencl/test/unit_test/mocks/mock_physical_address_allocator.h" diff --git a/opencl/test/unit_test/mocks/mock_aub_center.h b/opencl/test/unit_test/mocks/mock_aub_center.h index 652d6d523c..84c4c0f870 100644 --- a/opencl/test/unit_test/mocks/mock_aub_center.h +++ b/opencl/test/unit_test/mocks/mock_aub_center.h @@ -8,7 +8,7 @@ #pragma once #include "opencl/source/aub/aub_center.h" -#include "opencl/source/command_stream/aub_stream_provider.h" +#include "opencl/source/aub/aub_stream_provider.h" #include "opencl/test/unit_test/mocks/mock_aub_file_stream.h" namespace NEO { diff --git a/opencl/test/unit_test/mocks/mock_aub_stream.h b/opencl/test/unit_test/mocks/mock_aub_stream.h index b39e33e9b2..f0e69e809b 100644 --- a/opencl/test/unit_test/mocks/mock_aub_stream.h +++ b/opencl/test/unit_test/mocks/mock_aub_stream.h @@ -7,8 +7,8 @@ #pragma once +#include "opencl/source/aub/aub_mapper_base.h" #include "opencl/source/aub_mem_dump/aub_mem_dump.h" -#include "opencl/source/gen_common/aub_mapper_base.h" namespace NEO { diff --git a/opencl/test/unit_test/mocks/mock_aub_subcapture_manager.h b/opencl/test/unit_test/mocks/mock_aub_subcapture_manager.h index cf4c886bdd..2433a08732 100644 --- a/opencl/test/unit_test/mocks/mock_aub_subcapture_manager.h +++ b/opencl/test/unit_test/mocks/mock_aub_subcapture_manager.h @@ -6,13 +6,15 @@ */ #pragma once -#include "opencl/source/command_stream/aub_subcapture.h" +#include "opencl/source/aub/aub_subcapture.h" +#include "opencl/source/os_interface/ocl_reg_path.h" using namespace NEO; class AubSubCaptureManagerMock : public AubSubCaptureManager { public: - using AubSubCaptureManager::AubSubCaptureManager; + AubSubCaptureManagerMock(const std::string &fileName, AubSubCaptureCommon &subCaptureCommon) + : AubSubCaptureManager(fileName, subCaptureCommon, oclRegPath) {} void setSubCaptureIsActive(bool on) { subCaptureIsActive = on; diff --git a/opencl/test/unit_test/mocks/mock_physical_address_allocator.h b/opencl/test/unit_test/mocks/mock_physical_address_allocator.h index 3f77546744..fa61ef20ec 100644 --- a/opencl/test/unit_test/mocks/mock_physical_address_allocator.h +++ b/opencl/test/unit_test/mocks/mock_physical_address_allocator.h @@ -6,7 +6,7 @@ */ #pragma once -#include "opencl/source/memory_manager/physical_address_allocator.h" +#include "shared/source/memory_manager/physical_address_allocator.h" using namespace NEO; diff --git a/opencl/test/unit_test/os_interface/linux/drm_memory_info_tests_dg1.cpp b/opencl/test/unit_test/os_interface/linux/drm_memory_info_tests_dg1.cpp index de4ccea355..5b5d4b52e1 100644 --- a/opencl/test/unit_test/os_interface/linux/drm_memory_info_tests_dg1.cpp +++ b/opencl/test/unit_test/os_interface/linux/drm_memory_info_tests_dg1.cpp @@ -6,9 +6,9 @@ */ #include "shared/source/execution_environment/execution_environment.h" +#include "shared/source/memory_manager/memory_banks.h" #include "shared/source/os_interface/linux/memory_info_impl.h" -#include "opencl/source/memory_manager/memory_banks.h" #include "opencl/test/unit_test/os_interface/linux/drm_mock_dg1.h" #include "gtest/gtest.h" diff --git a/shared/source/gen11/aub_mapper.h b/shared/source/gen11/aub_mapper.h index 77225564c6..94fe22de23 100644 --- a/shared/source/gen11/aub_mapper.h +++ b/shared/source/gen11/aub_mapper.h @@ -8,7 +8,7 @@ #pragma once #include "shared/source/helpers/constants.h" -#include "opencl/source/gen_common/aub_mapper_base.h" +#include "opencl/source/aub/aub_mapper_base.h" #include "engine_node.h" diff --git a/shared/source/gen12lp/aub_mapper.h b/shared/source/gen12lp/aub_mapper.h index b40f945baa..a4190a8f70 100644 --- a/shared/source/gen12lp/aub_mapper.h +++ b/shared/source/gen12lp/aub_mapper.h @@ -8,7 +8,7 @@ #pragma once #include "shared/source/helpers/constants.h" -#include "opencl/source/gen_common/aub_mapper_base.h" +#include "opencl/source/aub/aub_mapper_base.h" #include "engine_node.h" diff --git a/shared/source/gen8/aub_mapper.h b/shared/source/gen8/aub_mapper.h index b54b630426..779e5581c8 100644 --- a/shared/source/gen8/aub_mapper.h +++ b/shared/source/gen8/aub_mapper.h @@ -8,7 +8,7 @@ #pragma once #include "shared/source/helpers/constants.h" -#include "opencl/source/gen_common/aub_mapper_base.h" +#include "opencl/source/aub/aub_mapper_base.h" #include "engine_node.h" diff --git a/shared/source/gen9/aub_mapper.h b/shared/source/gen9/aub_mapper.h index 1c241fa6f0..7a570f16c9 100644 --- a/shared/source/gen9/aub_mapper.h +++ b/shared/source/gen9/aub_mapper.h @@ -8,7 +8,7 @@ #pragma once #include "shared/source/helpers/constants.h" -#include "opencl/source/gen_common/aub_mapper_base.h" +#include "opencl/source/aub/aub_mapper_base.h" #include "engine_node.h" diff --git a/shared/source/memory_manager/CMakeLists.txt b/shared/source/memory_manager/CMakeLists.txt index ba45d22f09..fc79a4688f 100644 --- a/shared/source/memory_manager/CMakeLists.txt +++ b/shared/source/memory_manager/CMakeLists.txt @@ -6,6 +6,8 @@ set(NEO_CORE_MEMORY_MANAGER ${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt + ${CMAKE_CURRENT_SOURCE_DIR}/address_mapper.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/address_mapper.h ${CMAKE_CURRENT_SOURCE_DIR}/allocations_list.h ${CMAKE_CURRENT_SOURCE_DIR}/allocation_properties.h ${CMAKE_CURRENT_SOURCE_DIR}/compression_selector.h @@ -31,6 +33,7 @@ set(NEO_CORE_MEMORY_MANAGER ${CMAKE_CURRENT_SOURCE_DIR}/internal_allocation_storage.h ${CMAKE_CURRENT_SOURCE_DIR}/local_memory_usage.cpp ${CMAKE_CURRENT_SOURCE_DIR}/local_memory_usage.h + ${CMAKE_CURRENT_SOURCE_DIR}/memory_banks.h ${CMAKE_CURRENT_SOURCE_DIR}/memory_manager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/memory_manager.h ${CMAKE_CURRENT_SOURCE_DIR}/memory_operations_handler.h @@ -38,6 +41,7 @@ set(NEO_CORE_MEMORY_MANAGER ${CMAKE_CURRENT_SOURCE_DIR}/memory_pool.h ${CMAKE_CURRENT_SOURCE_DIR}/multi_graphics_allocation.cpp ${CMAKE_CURRENT_SOURCE_DIR}/multi_graphics_allocation.h + ${CMAKE_CURRENT_SOURCE_DIR}/physical_address_allocator.h ${CMAKE_CURRENT_SOURCE_DIR}/residency.cpp ${CMAKE_CURRENT_SOURCE_DIR}/residency.h ${CMAKE_CURRENT_SOURCE_DIR}/residency_container.h diff --git a/opencl/source/memory_manager/address_mapper.cpp b/shared/source/memory_manager/address_mapper.cpp similarity index 96% rename from opencl/source/memory_manager/address_mapper.cpp rename to shared/source/memory_manager/address_mapper.cpp index 44b9f942b4..459a334558 100644 --- a/opencl/source/memory_manager/address_mapper.cpp +++ b/shared/source/memory_manager/address_mapper.cpp @@ -5,7 +5,7 @@ * */ -#include "opencl/source/memory_manager/address_mapper.h" +#include "shared/source/memory_manager/address_mapper.h" #include "shared/source/helpers/aligned_memory.h" diff --git a/opencl/source/memory_manager/address_mapper.h b/shared/source/memory_manager/address_mapper.h similarity index 100% rename from opencl/source/memory_manager/address_mapper.h rename to shared/source/memory_manager/address_mapper.h diff --git a/opencl/source/memory_manager/memory_banks.h b/shared/source/memory_manager/memory_banks.h similarity index 100% rename from opencl/source/memory_manager/memory_banks.h rename to shared/source/memory_manager/memory_banks.h diff --git a/opencl/source/memory_manager/physical_address_allocator.h b/shared/source/memory_manager/physical_address_allocator.h similarity index 96% rename from opencl/source/memory_manager/physical_address_allocator.h rename to shared/source/memory_manager/physical_address_allocator.h index 48bb52409d..da41ec8599 100644 --- a/opencl/source/memory_manager/physical_address_allocator.h +++ b/shared/source/memory_manager/physical_address_allocator.h @@ -9,8 +9,7 @@ #include "shared/source/helpers/aligned_memory.h" #include "shared/source/helpers/constants.h" #include "shared/source/helpers/debug_helpers.h" - -#include "opencl/source/memory_manager/memory_banks.h" +#include "shared/source/memory_manager/memory_banks.h" #include #include diff --git a/shared/source/os_interface/linux/drm_memory_manager_allocate_in_device_pool_dg1.cpp b/shared/source/os_interface/linux/drm_memory_manager_allocate_in_device_pool_dg1.cpp index 6069fb1cc0..9fdf19b85c 100644 --- a/shared/source/os_interface/linux/drm_memory_manager_allocate_in_device_pool_dg1.cpp +++ b/shared/source/os_interface/linux/drm_memory_manager_allocate_in_device_pool_dg1.cpp @@ -12,11 +12,10 @@ #include "shared/source/helpers/heap_assigner.h" #include "shared/source/helpers/string.h" #include "shared/source/helpers/surface_format_info.h" +#include "shared/source/memory_manager/memory_banks.h" #include "shared/source/os_interface/linux/drm_memory_manager.h" #include "shared/source/os_interface/linux/memory_info_impl.h" -#include "opencl/source/memory_manager/memory_banks.h" - namespace NEO { BufferObject *DrmMemoryManager::createBufferObjectInMemoryRegion(Drm *drm,