Commit Graph

377 Commits

Author SHA1 Message Date
HeFan2017
2ea734491a Deferred deletion of allocations in main thread
Add a clearQueueTillFirstFailure interface to DeferredDeleter, which
iterates the queue from the front and delete the allocations in the
queue till a failure. It is called by defer deletion of allocations
occupied by mutliple contexts to unlock the execution in main thread

Related-To: NEO-7532

Signed-off-by: HeFan2017 <fan.f.he@intel.com>
2023-01-13 09:20:35 +01:00
Warchulski, Jaroslaw
0dc5fb3e51 Cleanup includes 24
Cleaned up files:
opencl/source/mem_obj/image.h
opencl/source/platform/platform.h
shared/source/command_stream/preemption.h
shared/source/helpers/mt_helpers.h
shared/source/memory_manager/unified_memory_manager.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-10 07:56:16 +01:00
Kamil Kopryk
347cef9fcb refactor: don't use global ProductHelper getter in ocl files 3/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-05 16:27:16 +01:00
Kamil Kopryk
468d722efb Move clGfxCoreHelper ownership to rootDeviceEnv
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-05 12:58:38 +01:00
Compute-Runtime-Validation
af81c79076 Revert "Deferred deletion of allocations in main thread"
This reverts commit c268e30189.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-01-04 18:33:39 +01:00
HeFan2017
c268e30189 Deferred deletion of allocations in main thread
Add a clearQueueTillFirstFailure interface to DeferredDeleter, which
iterates the queue from the front and delete the allocations in the
queue till a failure. It is called by defer deletion of allocations
occupied by mutliple contexts to unlock the execution in main thread

Related-To: NEO-7532

Signed-off-by: HeFan2017 <fan.f.he@intel.com>
2023-01-03 13:51:15 +01:00
Mateusz Jablonski
18eb3c27c8 refactor: Stop using global gfx core helper getter in OCL
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-02 13:46:50 +01:00
Kamil Kopryk
28f2ebdd9f Refactor: dont use global gfxCoreHelper getter in ocl files 5/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-02 08:32:18 +01:00
Kamil Kopryk
0b2faaa957 Refactor: dont use global gfxCoreHelper getter in ocl files 4/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-30 11:28:22 +01:00
Kamil Kopryk
14e31c693c Refactor: dont use global gfxCoreHelper getter in ocl files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-21 17:11:43 +01:00
Compute-Runtime-Validation
429755e0f4 Revert "Check for context in appendMemoryCopy"
This reverts commit 32bab85f7e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-21 05:38:37 +01:00
Neil R Spruit
a829ce8941 Fix ReserveGPUAddress to reserve on specific RootDevice indices
Related-To: LOCI-3790

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-12-20 23:08:02 +01:00
Compute-Runtime-Validation
cac134028c Revert "Deferred deletion of allocations in main thread"
This reverts commit 418e0f7322.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-20 18:02:27 +01:00
HeFan2017
418e0f7322 Deferred deletion of allocations in main thread
Add a clearQueueTillFirstFailure interface to DeferredDeleter, which
iterates the queue from the front and delete the allocations in the
queue till a failure. It is called by defer deletion of allocations
occupied by mutliple contexts to unlock the execution in main thread.

Related-To: NEO-7532

Signed-off-by: HeFan2017 <fan.f.he@intel.com>
2022-12-20 10:11:56 +01:00
Jaime Arteaga
32bab85f7e Check for context in appendMemoryCopy
Confirm the allocations used in an appendMemoryCopy operation
belong to the same context as the list.

Related-To: LOCI-1996
Resolves: NEO-6162

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-20 00:13:36 +01:00
Compute-Runtime-Validation
5a29cf8508 Revert "Check for context in appendMemoryCopy"
This reverts commit afd0784c16.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-16 03:28:06 +01:00
Jaime Arteaga
afd0784c16 Check for context in appendMemoryCopy
Confirm the allocations used in an appendMemoryCopy operation
belong to the same context as the list.

Related-To: LOCI-1996
Resolves: NEO-6162

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-15 23:42:10 +01:00
Kamil Kopryk
232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +01:00
Kamil Kopryk
03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Jaime Arteaga
99655d34f9 Return a unique pointer for multiple calls to openIpcHandle
This to follow specification, which says:

zeMemOpenIpcHandle:

- Multiple calls to this function with the same IPC handle will return
unique pointers.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-01 18:42:54 +01:00
Spruit, Neil R
d81b0b14a1 L0 Virtual Memory Reservation support
- Enable support for L0 Virtual Memory reservation on Linux and Windows.
- Excludes support for Linux to allow pStart option

Related-To: LOCI-3397, LOCI-1543

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-12-01 00:55:19 +01:00
Lukasz Jobczyk
7ea11f9e44 Remove 2MB alignment from host part of shared allocation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-11-30 17:04:24 +01:00
Mateusz Jablonski
f7c11e8a94 Fix typos
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-29 17:12:10 +01:00
Maciej Plewka
4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Mateusz Jablonski
27cb39ef25 Refactor: pass root device environment to gmm client context
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-28 13:26:29 +01:00
Mateusz Jablonski
7d4d592381 Pass root device environment to AubCenter
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-25 09:58:00 +01:00
Lukasz Jobczyk
e197736b6f Ensure base ptr is passed to PageFaultManager::removeAllocation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-11-17 16:12:31 +01:00
Mateusz Jablonski
59b3d3fbea Move code from header files to cpp files
Moved code from:
- shared/test/common/mocks/mock_execution_environment.h
- shared/test/common/fixtures/mock_aub_center_fixture.h

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-16 15:06:07 +01:00
Kamil Kopryk
211cc8552a Move hwHelper ownership to RootDeviceEnvironment 4/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

UseRootDeviceEnvironment getHelper<CoreHelper> for:
- isLocalMemoryEnabled
- getSipKernelType
- is1MbAlignmentSupported
2022-11-15 08:23:53 +01:00
Milczarek, Slawomir
25a5ed0dca Allocate buffers in local memory for PVC multi root device platforms (1/n)
PVC platform with no support for atomic operations on system memory
must always allocate buffers in local memory to avoid atomic access violation.
Note: the feature is being implemented under the new registry key
AllocateBuffersInLocalMemoryForMultiRootDeviceContexts (disabled by default)

Related-To: NEO-7092

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-11-14 13:56:50 +01:00
Mateusz Jablonski
5d3b665ea0 ULT: Move Xe product specific tests shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-02 11:30:21 +01:00
Mateusz Jablonski
23eff82d0a OCL: optimize creating printf buffer
Dont create printf buffer when kernel doesnt require it

Related-To: HSD-18023825570
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-09-30 12:25:57 +02:00
Patryk Wrobel
4395e0c3a1 Use EXPECT_THROW instead of handmade try-catch in tests
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-08 15:32:52 +02:00
Warchulski, Jaroslaw
7e7f8b5bc2 Move files from shared/test/unit_test to shared/test/common
unit_test/helpers/debug_helpers.cpp -> common/helpers
unit_test/page_fault_manager/default_asan_options.cpp -> common/page_fault_manag
unit_test/utilities/cpuintrinsics.cpp -> common/utilities
unit_test/memory_manager/deferred_deleter_mt_tests.cpp -> opencl/test/unit_test/
delete: unit_test/mocks/debugger_l0_create.cpp
delete: unit_test/page_fault_manager/default_asan_options.cpp

Related-To: NEO-6524
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-30 12:24:28 +02:00
Patryk Wrobel
f7925b9f15 Use unique_ptr in tests of surface
This change removes manual memory management via new/delete
and replaces it with std::unique_ptr.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-23 11:32:50 +02:00
Warchulski, Jaroslaw
260a324a6f Move files between shared/test/common and /unit_test (xe_*_core, page_fault...)
common/xe_hpc_core/test_preemption_xe_hpc_core -> unit_test/xe_hpc_core
common/xe_hpg_core/excludes_xe_hpg_core -> unit_test/xe_hpg_core
common/xe_hpg_core/dg2/excludes_dg2 -> unit_test/xe_hpg_core/dg2
common/xe_hpg_core/test_preemption_xe_hpg_core -> unit_test/xe_hpg_core
unit_test/base_ult_config_listener.cpp -> common
unit_test/base_ult_config_listener.h -> common
unit_test/test_stats.h -> common
unit_test/test_configuration.h -> common
unit_test/page_fault_manager/cpu_page_fault_manager_tests.h -> common/fixtures
unit_test/page_fault_manager/mock_cpu_page_fault_manager.h -> common/mocks

Related-To: NEO-6524

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-17 16:17:00 +02:00
Mateusz Jablonski
bca852617c Remove usage of TestLegacy from opencl tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-16 22:16:48 +02:00
Mateusz Jablonski
bfc0919999 Remove usage of TestLegacy from shared tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-16 14:36:33 +02:00
Mateusz Jablonski
5ffeac44c5 Correct shared fixture methods name to meet clang-tidy requirements
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-16 12:52:49 +02:00
Mateusz Jablonski
e6fc458d4b Add a struct for test fixtures with correct method naming convention
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-11 12:55:52 +02:00
Warchulski, Jaroslaw
aed890a219 Move files between shared/test/unit_test and /common (fixtures, helpers, mocks)
unit_test/fixtures/mock_aub_center_fixture.h -> common/fixtures
unit_test/helpers/raii_hw_helper.h -> common/helpers
unit_test/helpers/static_size3.h -> common/helpers
unit_test/helpers/ult_limits.h -> common/helpers
unit_test/memory_manager/mock_prefetch_manager.h -> common/memory_manager
common/mocks/mock_aub_stream.h -> unit_test/mocks
common/mocks/mock_csr_simulated_common_hw.h -> unit_test/mocks
common/mocks/mock_direct_submission_diagnostic_collector.h -> unit_test/mocks
common/mocks/mock_lrca_helper.h -> unit_test/mocks
common/mocks/mock_tbx_stream.h -> unit_test/mocks
common/mocks/linux/mock_os_context_linux.h -> unit_test/mocks/linux
common/mocks/windows/mock_wddm_direct_submission.h -> unit_test/mocks/windows

Related-To: NEO-6524
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-11 12:53:19 +02:00
Warchulski, Jaroslaw
e7cca25894 CMake: don't include shared/test/unit_test when shared tests are skipped 1/n
Related-To: NEO-6524
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-08-09 11:41:09 +02:00
Lukasz Jobczyk
4ac6e09117 Do not reuse mem obj's allocation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-07-19 11:42:17 +02:00
Artur Harasimiuk
4bdd8860a1 test.h refactor
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-07-04 18:20:07 +02:00
Kamil Kopryk
efa19a0b18 Simplify code - reverse helper function logic to avoid not needed negation
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-06-29 09:19:33 +02:00
Mateusz Hoppe
31dbc04f23 L0Debug - capture SurfaceState heaps
Related-To: NEO-7103

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-06-24 15:05:56 +02:00
Maciej Plewka
6ab6e1abff Fix mutex order for event task and move args to gpu
This commit fixes problem with untransfered shared usm memory to gpu
when there is submit to gpu trigerred by user event. Also there is a fix
for dead lock problem caused by mixed orders of locking mutexes in csr
and in direct submission controller.

Related-To: NEO-6762

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-06-21 11:28:25 +02:00
Dominik Dabek
cdfe2ce8ad Feature: Flag for device usm allocation reusing
With flag enabled, when app calls freeSVMAlloc on device usm allocation,
don't free it immediately but save it,
and try to use it on subsequent allocations.

This allocation cache will be trimmed if an allocation fails.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-06-13 20:02:52 +02:00
Krzysztof Gibala
c229ace4df Adjust GmmHelper to be HW aware
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-13 18:33:06 +02:00
Daniel Chabrowski
6e3d373ef6 Move tests to shared
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-06-13 13:05:46 +02:00