Commit Graph

3218 Commits

Author SHA1 Message Date
Compute-Runtime-Validation
918b41d26d Revert "feature: Add CPU side USM allocation to trim candidate list on page f...
This reverts commit 60a4448a07.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-24 08:44:22 +02:00
Milczarek, Slawomir
60a4448a07 feature: Add CPU side USM allocation to trim candidate list on page fage fault
Enable eviction of CPU side USM allocation for UMD migrations on Windows.

Related-To: NEO-8015
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-23 10:24:28 +02:00
Milczarek, Slawomir
7fe3ca010e test: Add mock for cpu page fault manager
Related-To: NEO-8015

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-21 17:18:42 +02:00
Igor Venevtsev
9ee6e5bf19 performance: Enable ULLS direct submission on DG2 Windows
Resolves: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-07-21 16:48:33 +02:00
Compute-Runtime-Validation
4a562e352b Revert "feature: Add CPU side USM allocation to trim candidate list on page f...
This reverts commit cce2cc920d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-21 16:40:59 +02:00
Lukasz Jobczyk
47d099a565 performance: Enable ULLS on MTL Windows
Resolves: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-21 15:06:38 +02:00
Lukasz Jobczyk
038cbefe3a performance: Disable tlb flush on MTL Windows
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-21 14:30:39 +02:00
Milczarek, Slawomir
cce2cc920d feature: Add CPU side USM allocation to trim candidate list on page fault
Enable eviction of CPU side USM allocation for UMD migrations on Windows.

Related-To: NEO-8015

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-21 14:18:38 +02:00
Igor Venevtsev
d2dc9fab11 feature: check direct submission support on Windows
- WDDM 2.0 only supported
- WSL is not supported

Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-07-21 13:53:23 +02:00
Lukasz Jobczyk
bc4d9290d1 refactor: Prepare to enable ULLS per OS
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-20 17:11:51 +02:00
Lukasz Jobczyk
bbe7d051e3 fix: Restore ULLS sfence on integrated devices
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-20 17:02:44 +02:00
Dunajski, Bartosz
31d351cd53 refactor: unify and simplify Drm CSR methods
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-20 11:42:21 +02:00
Compute-Runtime-Validation
8c155a2e89 Revert "performance: Memory handling improvements"
This reverts commit 5b80bd4d7c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-20 11:37:09 +02:00
Artur Harasimiuk
1434872427 refactor: remove unused code
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-07-20 11:09:55 +02:00
Compute-Runtime-Validation
5c60b4d973 Revert "feature: Add support for Media frequncy Domain on linux"
This reverts commit 085293b230.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-20 03:04:52 +02:00
Neil R Spruit
8efd8853fb feature: L0 Device Hierarchy support for Composite & Flat modes
Related-To: LOCI-4615

- Added Support for users to set ZE_FLAT_DEVICE_HIERARCHY to either FLAT
or COMPOSITE to change how devices are returned in zeDeviceGet and
clGetDeviceIDs.
- COMPOSITE is default behavior that exists today.
- FLAT returns all sub devices which have no sub devices and all root
devices that have no sub devices in zeDeviceGet ie with all devices
flattened out in order.
- Added zeDeviceGetRootDevice for one to retrieve the Root Device for
any SubDevice.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-07-20 01:00:54 +02:00
Filip Hazubski
5b80bd4d7c performance: Memory handling improvements
By default prefer allocating memory first by KMD, instead of malloc first.

By default prefer not caching allocations on MTL devices. This results
in allocations being handled with non-coherent pat index.

For integrated devices when caching is not preferred do not allow
direct memory access in CPU domain. For map/unmap operations create
a dedicated memory allocation for CPU access, instead of accessing it
directly, reusing the same logic as when mapping/unmapping local memory.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-19 19:21:44 +02:00
Mayank Raghuwanshi
085293b230 feature: Add support for Media frequncy Domain on linux
Related-To: LOCI-4552

Signed-off-by: Mayank Raghuwanshi <mayank.raghuwanshi@intel.com>
2023-07-19 16:43:27 +02:00
Mateusz Jablonski
46007dde5b test: move wddm memory manager tests from OCL to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-19 16:09:22 +02:00
Wilma, Pawel
39b25abf0e feature: debug flag to enable/disable AIL
Related-to: NEO-8049

Signed-off-by: Wilma, Pawel <pawel.wilma@intel.com>
2023-07-19 12:10:05 +02:00
Mateusz Jablonski
01990e8bd7 feature(internal): add debug flag to control preferred allocation method on Wddm
Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-18 16:46:17 +02:00
Dominik Dabek
622a3ed89c performance(ocl): flag to not dcFlush on no event
If waitForBarrier is not passed outEvent then do
dcFlush on the next synchronize call.

Related-To: NEO-8147

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-07-18 15:38:54 +02:00
Maciej Plewka
18ead77e78 fix: Add mutex for ulls controller initializer
Resolves: NEO-7925

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-07-18 12:16:12 +02:00
Artur Harasimiuk
260003caa8 refactor: remove unused code
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-07-18 11:00:25 +02:00
Katarzyna Cencelewska
33a5dd486b refactor: remove not needed arguments in adjustGpuPtrToHostAddressSpace
- add also tests to confirm that proper alignment is applied

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-18 08:41:59 +02:00
Mateusz Jablonski
0c6d2ebaf3 refactor: remove default argument in SettingsFileReader ctor
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-17 15:06:36 +02:00
Mateusz Jablonski
f363463e2d test: move memory manager tests from OCL to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-17 14:53:16 +02:00
Compute-Runtime-Validation
204e5fd306 Revert "fix: Remove tlb flush from DG2 and MTL"
This reverts commit 8ef4629e50.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-15 04:53:37 +02:00
Katarzyna Cencelewska
d74bba95c4 fix: use proper gpu ptr when 32 bit
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-14 11:00:40 +02:00
Lukasz Jobczyk
8ef4629e50 fix: Remove tlb flush from DG2 and MTL
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-14 10:25:03 +02:00
Lukasz Jobczyk
f370b8f56a fix: Remove alignment condition for tlb flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-14 10:19:12 +02:00
Maciej Bielski
c7a971a28f feature: add optional onChunkFree callback to AbstractBuffersPool
Instances returned by `getAllocationsVector()` in some cases cannot be
freed (in the `malloc/new` sense) until the `drain()` function invokes
`allocInUse()` on them. Plus, the `chunksToFree` container operates on
pairs `{offset, size}`, not pointers, so such pair cannot be used to
release allocations either.

Provide an optional callback, which can be implemented by the custom
pool derived from `AbstractBuffersPool`. This callback can be used, for
example, to perform actual release of an allocation related to the
currently processed chunk.

Additionally, provide the `drain()` and `tryFreeFromPoolBuffer()`
functions with pool-independent versions and keep the previous versions
as defaults (for allocators with a single pool). The new versions allow
reusing the code for cases when allocator has multiple pools.

In both cases, there was no such needs so far but it arose when working
on `IsaBuffersAllocator`. The latter is coming with future commits, but
the shared code modifications are extracted as an independent step.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-07-13 17:26:51 +02:00
Dominik Dabek
a463a2efc4 performance: update tg dispatch size heuristic
If workgroup dimension x is 1, use y to ajust for divisible by dispatch
size.

Related-To: NEO-7927, GSD-5417

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-07-13 15:29:55 +02:00
Lu, Wenbin
4de792cee0 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-07-13 08:48:41 +02:00
Compute-Runtime-Validation
6c9a68340a Revert "feature(zebin): Re-introduce support for validation using PRODUCT_CON...
This reverts commit e466fcd7be.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-13 07:55:32 +02:00
Mateusz Hoppe
9fd7f9cf05 fix: set ImplicitArgs size to size of defined fields
Resolves: NEO-8169

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-12 21:30:32 +02:00
Kacper Nowak
e466fcd7be feature(zebin): Re-introduce support for validation using PRODUCT_CONFIG value
Related-To: IGC-6300
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-07-12 18:29:35 +02:00
Mateusz Jablonski
16dd1ebd9a fix: add missing nullptr check in adjustRootDeviceEnvironments method
Related-To: NEO-8166
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-12 14:23:17 +02:00
Milczarek, Slawomir
a6a0b95344 fix: Cpu page fault manager with control of host ptr eviction
Related-To: NEO-8015

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-07-12 14:13:17 +02:00
Zbigniew Zdanowicz
1c0285a156 fix: correct alignment of per thread scratch size
Related-To: NEO-5288

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-12 12:31:47 +02:00
Young Jin Yoon
40af0dddeb feature: disable chunking when debugger is used
Added if conditions to enable useChunking flag by checking
with ExecutionEnvironment::isDebuggingEnabled.

Related-To: NEO-8164
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-12 03:26:49 +02:00
Kacper Nowak
b908203001 fix: Compile built-ins per release
- Preserve releases on CMake level.
- Instead of generating builtins per platform, generate them per-release
(+ correct naming accordingly).
- Stop using revisions in builtin compilation logic path, as they are
already embedded in release (device ip).
- Remove platform names & revisions from names for generated files
(related to builtins).
- Remove unnecessary code, refactor ULT logic.

Related-To: NEO-7783
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-07-11 16:02:36 +02:00
Fabian Zwolinski
1a398c7199 fix: huge host and shared allocation
Related-To: NEO-7229
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-07-11 15:16:50 +02:00
Lukasz Jobczyk
83bd33befc refactor: Add flag to control BCS split for pageable memory
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-11 15:12:40 +02:00
Mateusz Jablonski
4e464e9d6f fix: adjust root device indices when filtering root device environments
Related-To: NEO-8166
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-11 13:12:20 +02:00
Zbigniew Zdanowicz
3f7269d401 fix: make sip state programing once for all level zero command queues
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-11 11:34:21 +02:00
Young Jin Yoon
81822e3716 refactor: rename pageSize2Mb to pageSize2M
The previous name "pageSize2Mb" defined in
shared/source/helpers/constant.h is inconsistent to other variable,
i.e. pageSize64k.

Furthermore, it's a bit misleading because the page size is defined in
Megabytes (MB), not in Megabits (Mb).

Related-to: NEO-7695
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-10 20:12:09 +02:00
Mateusz Hoppe
9f466a9967 test: fix DebugSession ULT
- use size of state save area header when comparing contents

Related-To: NEO-7630

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-10 11:11:04 +02:00
Jaime Arteaga
23eeaf816d feature: Add debug keys for chunking allocation and size
Related-to: NEO-7695

New debug keys added:

EnableBOChunking is now a mask
0 = no chunking (default).
1 = shared allocations only
2 = device allocations only
3 = shared and device allocations

MinimalAllocationSizeForChunking sets the minimum allocation
size to apply chunking. Default is 2MB.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-07-07 23:39:43 +02:00
Cencelewska, Katarzyna
aa0beb8191 fix: Unify logic calculating threads per work group part 4
- also use helper when checking that is simd1 to have same flow

Related-To: NEO-8087
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-07-07 15:34:59 +02:00