Commit Graph

72 Commits

Author SHA1 Message Date
819e0f5515 style: configure readability-identifier-naming.LocalVariableCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-16 12:39:44 +02:00
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
7a3976ad64 Revert "Force 64KB page size for cpu alignment in dual storage allocation"
This reverts commit 7ff6a5c1fa.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-04-07 00:45:07 +02:00
7ff6a5c1fa Force 64KB page size for cpu alignment in dual storage allocation
There is no need to force 2MB alignment for CPU allocation in dual
storage usage. Additionaly for WSL this will allow to avoid usage of
malloc in driver path.

Relates-To: NEO-6620
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-04-06 15:28:17 +02:00
c0e2251ceb Skip adding allocations to remote devices if not allocated there
When making graphics allocations resident in multi-GPU scenarios,
we should make them resident only if there's an allocation for that
device. So return appropriate null pointer and skip it.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-16 23:58:07 +01:00
a010fb3634 Dont close shared handle on imported allocations
Related-To: LOCI-2272

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-06 04:35:47 +01:00
0634aa3f1b Create resource with given address
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-02-24 17:06:19 +01:00
c405fb5c2c Use shared mutex for unified memory manager
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-02-23 19:00:38 +01:00
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
2be98a1e62 Create kmd migrated allocation with initial placement
Implements ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT
for zeMemAllocShared with KMD migrated allocation.

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-02-01 15:42:10 +01:00
a5067d6b0b Remove duplicate check in residency container
Remove find in SVMAllocsManager
addInternalAllocationsToResidencyContainer,
not needed, CSR resolves duplicates at makeResident calls

Co-authored-by: Michal Mrozek <michal.mrozek@intel.com>

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-01-26 17:09:31 +01:00
dbf0f90186 Return pageSize in getMemAllocProperties
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-01-25 18:26:13 +01:00
6df17f5a30 [3/n] Optimize indirect allocations handling.
Add new debug variable to trigger new mode.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-25 16:40:56 +01:00
52d636394c [1/n] Improve indirect allocations handling.
Add new functions that would treat all indirect allocations as single pack.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-25 06:27:33 +01:00
151aaf7678 Fix alignment for host allocations.
- it is 4k not 64k.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-01-24 13:24:03 +01:00
6082865eb4 Revert "Optimize Level Zero indirect allocations handling."
This reverts commit 3ecbc55ba9.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-01-20 11:41:13 +01:00
3ecbc55ba9 Optimize Level Zero indirect allocations handling.
Make them resident directly instead of populating residency container
Remove finds, not needed, CSR resolves duplicates at makeResident calls
Observed gain is 32x for 10k indirect allocations.


Co-authored-by: Michal Mrozek <michal.mrozek@intel.com>

Co-authored-by: Dominik Dabek <dominik.dabek@intel.com>

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-01-19 13:08:35 +01:00
e040c8c6bb Initial compression support for L0 Device allocations
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-16 15:55:13 +01:00
dfdd3c597a Remove redundant BUFFER_COMPRESSED allocation type
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-07 13:35:49 +01:00
9481d8a88b Compression refactor [2/n]
Dont use allocation type for compression preference

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-03 08:47:46 +01:00
b1df167632 Move enable_product.inl to shared
extract api agnostic validators to shared
remove not needed opencl includes from neo shared


Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-12 22:02:16 +02:00
06561a06b6 Restore 2MB size & alignment for CPU SVM.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-10-11 23:16:42 +02:00
c8e79b7447 Change shared allocations required alignment to 64KB.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-10-08 13:08:11 +02:00
48f01f28f5 Move core part of MemoryPropertiesHelpers to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-07 23:14:38 +02:00
522d2550ee Add allocation ID to be retrieved by L0 getMemAllocProperties
zeMemGetAllocProperties() specifies an ID for the allocation can be
retrieved by the application. This can be used by applications to
identify the allocation throughout the application lifetime.

We were currently returning as id the same allocation address. This
patch fixes it to return a true unique identifier for the allocation.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-09-15 19:22:50 +02:00
bbfbf19a02 Move allowStatelessCompression from HwHelper to HwInfoConfig
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-4541
2021-09-09 11:37:47 +02:00
4390590831 Add shareable allocation for Windows
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2021-08-26 13:43:55 +02:00
eb14d8458b Add helper function to enable stateless compression
Related-To: NEO-5107

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-08-02 14:34:33 +02:00
b057935c7c Associate shared-allocations with device in multi-device systems
When a shared-allocation is created in a multi-device system and
no device is passed during the call, then the allocation needs to be
associated with all the devices. For now, that means we default to
creating the shared-allocation in the host, with no device-backing
memory, so all devices can access it.

However, if a device is passed, then the shared-allocation is
expected to be accessed only by that device, and there is no need
to allocate it solely in the host.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-07-29 20:28:27 +02:00
c7a936d1f4 Add memory banks to Simulated CSR
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-07-05 12:19:58 +02:00
ea214dd26b Select lowest subdevice when USM memory is allocated in not multicontext
Related-To: NEO-5498

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-21 18:45:11 +02:00
8667f3eafa Remove incorrect check for Shared USM creation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-07 14:48:33 +02:00
3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
ddca333045 Improve support for L0 uncached device allocations
Make sure UNCACHED flags are translated into setting the MOCS index
for uncaching L3.

Related-To: NEO-5500

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-04-08 13:00:03 +02:00
d6bbe48175 Handle SVM allocations from multi root device contexts
Related-To: NEO-5001, NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-24 11:14:39 +01:00
4abe4a96b8 Add multiGraphicsAllocation to CSR
Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-03-10 12:42:01 +01:00
779253c49c Add new flag to USM memory manager
Related-To: NEO-5498

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-03-10 11:47:34 +01:00
24b928303b Rename fields in AllocationProperties
Related-To: NEO-5498

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-03-02 18:32:37 +01:00
7dad49ccf4 Add new setters and getters for cache policies
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-02-11 14:07:06 +01:00
049e77b235 Check if KMD migration is supported
Related-To: NEO-3312

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-02-04 11:49:46 +01:00
c27d8c8dfd Wait for all gpuAllocation in clMemBlockingFreeINTEL call
Related-To: NEO-5422
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-01-20 10:28:32 +01:00
ae1e5a91b4 Unlock multi device setup for shared allocation
Related-To: NEO-5422
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-01-15 11:08:11 +01:00
068cb09c90 Add function to check for USM host allocations in SVM Allocs Manager
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-01-12 15:41:24 +01:00
3385500396 Use createHostUnifiedMemoryAllocation in clHostMemAllocINTEL
Unlock multi device setup for host allocation

Related-To: NEO-5422
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-01-05 17:16:59 +01:00
1b7d7afc07 Refactor USM properties
store reference to std of root device indices and device bitfields
store NEO::Device in USM properties

Related-To: NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-12-30 11:36:56 +01:00
b2cae02f66 Add kernel fixture with stateless indirect access
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-15 13:23:37 +01:00
ff069c1171 Enable AUB memory dumps of USM allocations
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-12-01 11:24:41 +01:00
6f582adf5a Only add indirect USM allocations to container once
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-11-06 21:46:52 +01:00
045632f355 Add new unified shared memory model
Related-To: NEO-3312

Change-Id: I640fb8d120729fa8bb2a23ff65c74c41ef27260d
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-11-02 19:23:40 +01:00
a939c89d91 Create internal BOs with map offset
Resolves: NEO-5097

Change-Id: I842f3d482420373cc630d5bfc034e229fa2cb30c
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-10-09 16:38:03 +02:00