Commit Graph

68 Commits

Author SHA1 Message Date
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
Compute-Runtime-Validation
f53ae0a50e Revert "Add debug flag for EOT WA"
This reverts commit cf3817e058.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-09 01:21:56 +02:00
Mateusz Jablonski
cf3817e058 Add debug flag for EOT WA
EOT WA requires allocating last 64KB of kernel heap and putting EOT
signature at the last 16 bytes of kernel heap

Related-To: NEO-7099
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-07 16:58:24 +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
Milczarek, Slawomir
6a9fcd38b1 Create KMD-migrated unified shared memory with multiple local memory regions
Remove the restriction on USM allocation created in a single local memory region
with latest KMD fix for cross tile migration thrashing b/t lmem (dii-3516)

Related-To: NEO-6909

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-07-04 13:33:23 +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
4197ffb99e Refactor: Use default member initializer
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-06-14 13:25:27 +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
Daniel Chabrowski
6e3d373ef6 Move tests to shared
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-06-13 13:05:46 +02:00
Krzysztof Gibala
81899c4477 Add canonized gpuAddress to GraphicsAllocation constructor
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-06 18:17:36 +02:00
Krzysztof Gibala
dc1fe7d59a Change MemoryPool to enum class
Use enum class for MemoryPool in GraphicsAllocation
This change will ensure that GA is constructed in the proper way

- Rename namespace for isSystemMemoryPool method
- Add method getMemoryPoolString for logging actual pool which is in used
- Remove wrong pattern in GraphicsAllocation constructor

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-02 12:46:15 +02:00
Krzysztof Gibala
e146a8e8ca Correct wrong constructor pattern in GraphicsAllocation
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-01 18:06:56 +02:00
Katarzyna Cencelewska
96e1eb7467 Move variables baseDieRev and baseDieA0Masked from xe_hpc to pvc
Pvc specific variables should be located in pvc struct

Related-To: NEO-6738
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-05-17 12:19:16 +02:00
Milczarek, Slawomir
9d31d36491 Disable cross-tile kmd migration for usm allocations
Ensure KMD migrations for USM allocations to occur between smem and lmem only

Related-To: NEO-6969

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-05-16 15:23:34 +02:00
Artur Harasimiuk
819e0f5515 style: configure readability-identifier-naming.LocalVariableCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-16 12:39:44 +02:00
Artur Harasimiuk
e9be9b64c6 clang-tidy configuration cleanup
Define single .clang-tidy configuration with all used checks and use
NOLINT to selectively silence tool. That way cleanup should be easier.
third_part/ has its own configuration that disables clang-tidy for this
folder.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-11 14:02:04 +02:00
Mateusz Jablonski
943ad0e1eb style: skip redundant unique_ptr::get function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-10 13:22:40 +02:00
Krzysztof Gibala
4f1e01d279 Create getGmmHelper function in MemoryManager
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-09 16:51:23 +02:00
Krzysztof Gibala
1c366d1ec0 Refactor: Change canonize method accessing point
Accessing canonize method as a member of GmmHelper class object

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-09 14:16:31 +02:00
Jaime Arteaga
3f26f45c10 Add support for IPC handles with implicit scaling
When using implicit scaling, device allocations may have
more than one internal allocation created internally. In that case,
a separate dma-buf handle per internal allocation needs to be
exported.

So introduced two driver experimental extensions to export and
import more than one IPC handle:

- zexMemGetIpcHandles
- zexMemOpenIpcHandles

Related-To: LOCI-2919

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-05-09 00:38:17 +02:00
Maciej Plewka
0a16dc6c47 Fix multi thread usage of external host alloc
This is fixed reupload of this commit after auto revert
With this commit OpenCL will track if external host memory is used from
few threads and will secure to update task count in all threads before
destroing allocation.

Resolves: NEO-6807

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-05-05 13:32:15 +02:00
Compute-Runtime-Validation
00a1a14652 Revert "Fix multi thread usage of external host alloc"
This reverts commit 54eee2a88b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-04-28 17:42:07 +02:00
Maciej Plewka
54eee2a88b Fix multi thread usage of external host alloc
With this commit OpenCL will track if external host memory is used from
few threads and will secure to update task count in all threads before
destroing allocation.

Resolves: NEO-6807

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-04-26 15:31:24 +02:00
Dominik Dabek
8d1ad5a4f3 Refactor: use stack vector for root device indices
Stack vector will not cause dynamic allocations in most circumstances
ie. number of root device indices not more than 16

Related-To: NEO-6837

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-04-14 14:05:42 +02:00
Lukasz Jobczyk
fffcf2612e Flush tag only if needed in deferred deleter
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-07 15:36:29 +02:00
Compute-Runtime-Validation
91cfd3cd1a Revert "Unify command/ring/semaphore buffers placement"
This reverts commit e035199de4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-30 14:05:47 +02:00
Mateusz Jablonski
e035199de4 Unify command/ring/semaphore buffers placement
put them all to the same memory location

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-29 17:55:48 +02:00
Mateusz Jablonski
8a8b4866cb XeHPC: force local memory for command/ring/semaphore buffer
require 48bit resource for ring/semaphore buffer
for multi tile allocations select first tile
for single tile allocation select preferred tile

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-24 10:54:26 +01:00
Mateusz Jablonski
3792481d33 XeHPC Implicit scaling: put command/ring/semaphore buffer to first memory bank
In direct submission scenario command/ring/semaphore buffer allocations
are placed in the same memory bank to ensure that their memory is updated in
correct order

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-21 08:10:50 +01:00
Mateusz Jablonski
14acaf677d Move tests to shared
memory manager allocate in device pool
storage info

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-17 11:20:18 +01:00
Fabian Zwolinski
4e31612c31 Remove GMock from GMockDrmMemoryManager, MockOSMemoryLinux, MyCsr...
Removed Gmock from:
- GMockDrmMemoryManager
- MockOSMemoryLinux
- MyCsr
- GmockGfxPartition

Renamed:
- GMockDrmMemoryManager -> MockTestedDrmMemoryManager

Moved class body:
- GmockGfxPartition -> MockGfxPartition
- MockTestedDrmMemoryManager -> TestedDrmMemoryManager

Related-To: NEO-4914
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-02-14 13:33:15 +01:00
Bartosz Dunajski
4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Szymon Morek
694046d30e Remove C-style casts when casting to osHandle
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-28 11:11:49 +01:00
Mateusz Jablonski
527806b3ed Use full path to include test.h 2/n
fix files in shared

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-15 13:09:50 +01:00
Bartosz Dunajski
2fd536104d Extend GfxPartition to support 57b addressing
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-08 16:05:05 +01:00
Bartosz Dunajski
dfdd3c597a Remove redundant BUFFER_COMPRESSED allocation type
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-07 13:35:49 +01:00
Zbigniew Zdanowicz
3e1023fa1a Unify memory layout for all multi tile post sync operations
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-02 18:00:40 +01:00
Zbigniew Zdanowicz
24ff191e61 Verify completion on all tiles
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-15 15:43:28 +02:00
Mateusz Jablonski
7b57e87ad1 Move some mocks to shared
- MockAllocationProperties
- MockBuiltinsLib
- MockWddmMemoryManager
- MockAubCsr


Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-15 09:59:47 +02:00
Mateusz Jablonski
0d74ab8ae8 Correct allocating event pool in device memory
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-13 17:36:46 +02:00
Mateusz Jablonski
bf25853799 Move some mocks to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-12 21:46:53 +02:00
Artur Harasimiuk
9bea74a780 move mock_memory_manager to shared
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-05 16:22:38 +02:00
Jaroslaw Chodor
996dd18b76 WSL - partition layout for 48-bit limited addressing
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-09-28 18:09:46 +02:00
Bartosz Dunajski
b2909fef56 Remove mockMaxOsContextCount
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-20 19:02:54 +02:00
Kamil Kopryk
9ccf43e441 Correct branch_dir_suffix in cmake
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6245
2021-09-14 16:00:20 +02:00
Kamil Kopryk
4b8e1671a5 Sort inside cmake files
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-30 10:06:46 +02:00
Mateusz Jablonski
575445dbb5 Minor code cleanup
prevent nullptr dereference

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-07-22 19:25:23 +02:00
Mateusz Jablonski
6f3c89decb Add mechanism to migrate multi root device memory
invalidate TLB cache if kernel requires migration


Related-To: NEO-3691

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-07-19 19:49:22 +02:00
Piotr Obst
dc6a35286b Remove platform references from mock_aub_center_fixture.h
Related-To: NEO-5894
Signed-off-by: Piotr Obst <piotr.obst@intel.com>
2021-07-13 10:33:57 +02:00