Commit Graph

4196 Commits

Author SHA1 Message Date
Compute-Runtime-Validation b2b41e613b Revert "fix: add alignment support to host and shared UnifiedMemoryAllocation"
This reverts commit c3df92ac41.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-12 13:04:08 +02:00
Mateusz Jablonski bfd7067c1a fix: create global and constant surface as lockable resource
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-12 10:55:36 +02:00
Diedrich, Kamil 5a4a2ab8ab feature: Add new environment variables for compiler cache
This patch add new environment variables to control compiler cache.
Works as follow: If persistent cache is set driver check if NEO_CACHE_DIR
is set. If not then driver checks XDG_CACHE_HOME - If exists
then driver create neo_compiler_cache folder, if
not then driver checks HOME directory. If each NEO_CACHE_DIR,
XDG_CACHE_HOME and HOME are not set then compiler cache is disabled.
Current support is for Linux only.

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>

Related-To: NEO-4262
2023-05-12 10:21:27 +02:00
Compute-Runtime-Validation 9bf472839d Revert "fix: set NotLockable flag when resource does not need to be lockable"
This reverts commit 50c67a759e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-11 18:23:55 +02:00
Mateusz Jablonski 50c67a759e fix: set NotLockable flag when resource does not need to be lockable
disable compression preference when resource is lockable

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-11 13:47:15 +02:00
Mateusz Jablonski f3a89bfe07 fix: add missing settings of isLockable flag in WddmMemoryManager class
- allocateGraphicsMemoryUsingKmdAndMapItToCpuVA in case of no compression
- allocate32BitGraphicsMemoryImpl in case of allocate by KMD

remove redundant ctor of StorageInfo class

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-11 12:14:18 +02:00
Lu, Wenbin c3df92ac41 fix: add alignment support to host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-11 11:45:12 +02:00
Filip Hazubski c4a80e193a Revert "fix: set NotLockable flag when resource doesn't need to be lockable"
This reverts commit 7b2af39fd6.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-05-11 09:17:34 +02:00
Mateusz Jablonski 1948781b67 fix: set isLockable flag in storage info even if no memory banks are used
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-11 07:26:28 +02:00
Dominik Dabek 1ec5ae277c feature: enable checking indirect access on pvc
Enable for zebin format but not CM kernels.
Use heuristic of simdSize == 1 to detect CM kernels.

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-05-10 11:38:00 +02:00
Mateusz Jablonski 7b2af39fd6 fix: set NotLockable flag when resource doesn't need to be lockable
disable compression preference when resource is lockable

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-10 10:16:24 +02:00
Daria Hinz 1d64b94f30 feature: Match config based on device & rev ID
This change matches the appropriate aot config
for the combination of device ID and revision ID.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7905
2023-05-10 08:22:09 +02:00
Dunajski, Bartosz cfacbbd811 refactor: Simplify OverrideBlitterMocs usage
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-09 19:22:57 +02:00
Mateusz Hoppe 9c17cb9bd9 fix: add CLOEXEC flag when opening gpu cards
- close-on-exec prevents old file descriptor to leak when exec() is
called

Resolves: NEO-7944

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-09 11:53:57 +02:00
Dunajski, Bartosz feff1c35cc feature: Experimental support of immediate cmd list in-order execution [5/n]
Related-To: LOCI-4332

- Signal non-timestamp Walkers with in-order CL value
- Event host synchronization based on CL signal value

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-09 11:46:14 +02:00
Zbigniew Zdanowicz 01c20212c3 performance: limit number of copies of dirty flags and state values
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-09 09:45:41 +02:00
Kamil Kopryk 909bb00f22 fix: populate ipVersion before release helper creation
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-08 16:14:47 +02:00
Kamil Kopryk a5765a9d8c fix: correct matrix multiply capability on xe lpg
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-08 14:37:28 +02:00
Kamil Kopryk ad2acc2b99 refactor: Add isAdjustWalkOrderAvailable to releaseHelper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-08 08:58:17 +02:00
Warchulski, Jaroslaw 7fdf4985a3 feature: add support for cl_khr_external_memory extension
Related-To: NEO-7069
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-05-05 15:51:39 +02:00
Mateusz Jablonski 769a9e515e fix: setup MultiTileArchInfo in Xe path
when discovering engines we know which tiles are available

Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-05 15:21:11 +02:00
Warchulski, Jaroslaw 9a73fa195b feature: Add support for CL_DEVICE_HANDLE_LIST_KHR
Related-To: NEO-6757
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-05-05 15:17:20 +02:00
Dunajski, Bartosz c1f71ea7f7 feature: new conditional bb_start mode + aub tests
Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-05-05 14:40:17 +02:00
Mateusz Jablonski b7d96314a0 fix: ensure resource info is created properly
the handle is not validated later, this change prevents nullptr dereference

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-05 13:08:34 +02:00
Spruit, Neil R 5633418891 fix: Don't fail on VM reserve with base address on windows
Related-To: LOCI-4333

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-05-04 20:05:16 +02:00
Filip Hazubski e8ac22c265 fix: Increase size of reported global memory available to 98%
This change applies to Linux.

Resolves: NEO-7229

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-05-04 13:56:26 +02:00
Mateusz Jablonski 87aab0bf6e fix: don't create fake memory regions in xe ioctl helper
populate memory info based on mem usage and gts info
propagate error from xeWaitUserFence function

Related-To: NEO-7931

Co-authored-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-04 13:51:37 +02:00
Mateusz Jablonski 26a2a2829e fix: don't create fake distance info in xe ioctl helper
populate multi tile engine info based on gt_id from xe engine info

Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-04 08:21:28 +02:00
Bellekallu Rajkiran d3a31957db feature(sysman): Add delay for HBM diagnostics
Add debug variable to set sleep duration for HBM
IFR to complete

Related-To: LOCI-4298

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2023-05-03 20:27:21 +02:00
Filip Hazubski 9215d41b85 Revert "feature: Don't allow to build program with stateful accesses on PVC"
This reverts commit 1676c32c78.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-05-02 22:12:40 +02:00
Mateusz Jablonski 88c352c580 refactor: move query engine / memory info logic to ioctl helper
Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-02 10:05:26 +02:00
Lu, Wenbin 5d653c8536 fix: Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-02 09:19:23 +02:00
Mateusz Jablonski 74205f3f37 Revert "feature: enable allocating shared usm in heap extended host by default"
This reverts commit 26f16f4e98.
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-02 09:12:26 +02:00
Aravind Gopalakrishnan 1883161e1e fix: Add debug key to Force Tlb flush
Related-To: GSD-4457

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-05-01 17:52:22 +02:00
Diedrich, Kamil 5149d74141 refactor: Remove globaly enabled cl_cache
Current behaviour will be detecd path existence

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-28 23:28:49 +02:00
Fabian Zwolinski cbce863dc2 refactor: Rename member variables to camelCase 3/n
Additionally enable clang-tidy check for member variables

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-28 16:01:14 +02:00
Mateusz Jablonski fd1ad7c1f0 feature: setup heap extended host size based on system memory size
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 15:23:01 +02:00
Kamil Kopryk 1676c32c78 feature: Don't allow to build program with stateful accesses on PVC
Related-To: NEO-6075
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-04-28 15:02:13 +02:00
Mateusz Jablonski 26f16f4e98 feature: enable allocating shared usm in heap extended host by default
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 13:18:20 +02:00
Mateusz Jablonski 55f6b142cd fix: handle dot character in kernel name when parsing zebin
Related-To: NEO-7934
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 12:07:50 +02:00
Mateusz Jablonski 5a5c20f99c fix: create separate heap for host and shared usm in 48-56b VA
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 10:09:38 +02:00
Cencelewska, Katarzyna 861ec524c6 fix: check icbe version only once when patchtoken
- set by default flag ZebinIgnoreIcbeVersion to true
- for zebin icbe version check is only inside flag
- only when use patchtoken then check icbe version is mandatory

Resolves: NEO-7904
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-04-28 09:26:02 +02:00
Kamil Kopryk 171e97e71a feature: introduce release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-04-27 21:38:08 +02:00
Fabian Zwolinski e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +02:00
Dominik Dabek c84c7a0c91 performance: adjust thread group dispatch size
adjust thread group dispatch size on pvc if chosen size does not evenly
divide dimension

this is to avoid leftover thread groups

Related-To: NEO-7927

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-27 18:24:53 +02:00
Mateusz Jablonski 2f9135a4e6 fix: change type of container with registered engines per root device
use StackVec instead of unordered map
resize container at MemoryManager's creation time

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 17:06:42 +02:00
Milczarek, Slawomir 3ead7f6ac9 refactor: Simplify prefetch memory logic for kmd-migrated shared allocation
Related-To: NEO-7641

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-27 12:14:16 +02:00
Mateusz Jablonski 32d8a3bc6d fix: store registered engines per root device
in most cases we need to iterate over engines associated to single root device

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 10:54:07 +02:00
Spruit, Neil R 364c2da9fb feature: Add Support for zeMemPutIpcHandle & zeMemGet IPC Handle converters
Related-To: LOCI-4172, LOCI-4305, LOCI-4306

- Create a new IPC Memory handle upon call to getIpcMemHandle if the
previous handle has been freed.
- Release the Ipc Memory Handle when zeMemPutIpcHandle is called.
- Create a new IPC Handle for tracking thru zeMemGetAllocProperties
when ze_external_memory_export_fd_t is used.
- Convert FD to opaque IPC handle and IPC Handle to FD.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-04-27 03:53:52 +02:00
Fabian Zwolinski c441e9e971 refactor: Rename member variables to camelCase
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-26 16:05:07 +02:00
Dunajski, Bartosz 14c3777409 feature: Experimental support of immediate cmd list in-order execution [1/n]
Related-To: LOCI-4332

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-26 13:15:59 +02:00
Lukasz Jobczyk e35a7746a4 fix: Restore sfence in PCI barrier
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-26 11:43:44 +02:00
Compute-Runtime-Validation 79800d235c Revert "feature: enable checking indirect access"
This reverts commit 6ec044563f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-26 04:28:13 +02:00
Diedrich, Kamil 26ca64bb28 Add process safety to cl_cache on Linux
Current flow will be to have one synchronization point
config.file. Read remains unblocking, only write(caching)
operation will be blocking (lock on config.file)

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-25 17:35:40 +02:00
Milczarek, Slawomir c9fdeb200c [perf] Prefetch of kmd-migrated shared allocation with initial placement on GPU
Related-To: NEO-7646

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-25 17:27:33 +02:00
Mateusz Jablonski 06bd405e88 feature: add debug flag to control usage of heap extended for USM Host
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-25 15:39:49 +02:00
Lukasz Jobczyk f509ac3fce Remove UseDrmVirtualEnginesForBcs from CAL config
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-25 14:27:31 +02:00
Fabian Zwolinski 2022592f3d Apply CamelCase for class and struct names 2/2
Additionally change .clang-tidy not to ignore struct names.

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-25 13:10:23 +02:00
Dunajski, Bartosz 6e9257c623 Debug flag to force early exit
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-25 09:44:44 +02:00
Krzysztof Gibala 16db7cc890 fix: Add missing checks in multi gpu scenario
- Check allocation root device index during eviction
- Wait for and marked allocation only from the current root device index

Related-To: NEO-7920
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2023-04-24 23:26:28 +02:00
Maciej Bielski d4de925711 refactor: add isKernelIsaAllocationType helper
Preparatory step, the helper will be also used by following changes.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-04-24 17:16:11 +02:00
Fabian Zwolinski e2e00413a8 Apply CamelCase for class and struct names
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-24 15:36:27 +02:00
Dominik Dabek 6ec044563f feature: enable checking indirect access
Enable for zebin format but not CM kernels.
Use heuristic of simdSize == 1 to detect CM kernels.

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-24 14:57:50 +02:00
Milczarek, Slawomir bf778be99e [fix] zeCommandListAppendMemAdvise to clear preferred location correctly
The memadvise with preferred location for kmd-migrated shared allocation
is set to device associated with cmd list by default to migrate data
to lmem on non-atomic gpu page fault as well (for performance reasons).

Related-To: NEO-7252

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-24 14:51:49 +02:00
Maciej Bielski 09b111cc97 refactor: improve code reuse and readability
Extract distinct steps as dedicated functions, especially when the code
is duplicated. This eases analysis of the logic and highlights
differences between callers of a common code.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-04-24 12:30:01 +02:00
rcombs fc53bbe183 unified_memory_manager: mark comparison operators as const
This fixes the build on some compilers.

Signed-off-by: rcombs <rcombs@rcombs.me>
2023-04-24 10:47:30 +02:00
Lukasz Jobczyk 853a65aae9 Add PCI barrier implementation
Resolves: NEO-7850

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-24 10:33:03 +02:00
Mateusz Jablonski 1a1bd04d4a fix: handle empty print format in case without string map
https://github.com/intel/compute-runtime/issues/635
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-21 09:56:40 +02:00
Mateusz Hoppe 44273fcea0 fix: do not remove log file when logging disabled
- initialization of FileLogger always removed log file - this change only
removes old file when logging is enabled in current run

Resolves: NEO-7199

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-04-21 00:44:03 +02:00
Andrzej Koska b22f3f0796 Fix for handling incorrect patchSize in patchWithRequiredSize
This fix adds additional size control to patched memory

Related-To: NEO-7760
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2023-04-20 16:07:45 +02:00
Kacper Nowak 83e9a148ca Fix: Unify fp16/fp32/fp64 flags across all platforms
Unify fp16/fp32/fp64 across all platforms. The capabilities indicated by
those flags now refer to both emulated and native-supported (HW) ones:

- Global/local atomic load: HW support on all platforms (handled by native
i16 atomic or) for FP16, FP32 and FP64.
- Global/local atomic store: HW support on all platforms (handled by
native i16 atomic exchange) for FP16, FP32 and FP64.
- Global/local atomic compare/exchange: HW support on all platforms
for FP32.
- Global/local atomic min/max: Emulation support on all platforms for
FP64, HW support on all platforms for FP32, HW support on XE+ platforms
and emulation support on all others for FP16.
- Global atomic add: HW support for PVC+ platforms, emulation support on
all other platforms for FP64, HW support on XE+ platforms and emulation
support on all other platforms for FP32.
- Local atomic add: Emulation on all platforms for both FP64 and FP32.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-7734
2023-04-20 15:03:39 +02:00
Cencelewska, Katarzyna 659109adc6 fix: do not add link engines on integrated gpu
- caps check is not needed when link engines are not available for
product

Related-To: NEO-7886
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-04-20 13:28:20 +02:00
Daria Hinz 2647efc23c feat: Add support for ip version value in ocloc
Ocloc supports passing hw ip version value to -device arg in
the form of major.minor.revision.
This change adds support for directly passed value as uint32_t as well.
Support added for single and fat binary.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7903
2023-04-20 13:20:11 +02:00
Compute-Runtime-Validation 858ed05466 Revert "[fix] zeCommandListAppendMemAdvise to clear preferred location correc...
This reverts commit 63470ed698.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-20 11:04:34 +02:00
Compute-Runtime-Validation ca51e557a2 Revert "Remove default support for DCD"
This reverts commit a3e923e359.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-20 04:41:33 +02:00
Fabian Zwolinski a3e923e359 Remove default support for DCD
Related-To: NEO-7213
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-19 19:18:48 +02:00
Mateusz Jablonski 688d958fe8 fix: handle single storage USM in gtpin helpers
use GPU address from gpu allocation instead of CPU allocation
check page fault manager presence before migrating to GPU domain

Related-To: NEO-7690
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-19 14:26:25 +02:00
Mateusz Hoppe 97a8f15fbd fix: cleanup memory leaks in ocloc
- enable memory leaks detection in ocloc tests

Related-To: NEO-7467

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-04-19 13:48:49 +02:00
Maciej Plewka bab299ee78 Increment fenceValue only after successful bind operation
Related-To: NEO-7835

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-19 12:26:45 +02:00
Milczarek, Slawomir 63470ed698 [fix] zeCommandListAppendMemAdvise to clear preferred location correctly
The memadvise with preferred location for kmd-migrated shared allocation
is set to device associated with cmd list by default to migrate data
to lmem on non-atomic gpu page fault too (for performance reasons).

Related-To: NEO-7252

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-19 09:55:32 +02:00
Kacper Nowak c7adbc2140 Add debug key for dumping ELF to file
Add "DumpZEBin" debug flag. When this flag is enabled, Zebin will be
dumped to a .elf file (with appropiate suffix, in case such file has
been dumped before).
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-7895
2023-04-18 20:40:25 +02:00
Dominik Dabek 411ed1c643 feat: direct submission variable timeout
Add mechanism to increase direct submission timeout up to a maximum
value when no new submissions were made since last sleep.

This should help in workloads that have delays between iterations larger
than current direct submission controller timeout.

Related-To: NEO-7878

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-18 17:33:55 +02:00
Mateusz Jablonski 51b8dc66a3 fix ocloc/ult: set default PVC device to pvc xt C0
ensure default hw ip version matches the value from helper
change pvc ult execution to revision 3

Related-To: NEO-7738
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-18 13:48:48 +02:00
Fabian Zwolinski b909b03b02 Rename OpenCL Platform Name
- Rename "Intel(R) OpenCL HD Graphics" -> "Intel(R) OpenCL Graphics"
- Add and implement new DebugVariable - OverridePlatformName - for
overriding Platform Name in OpenCL

Related-To: NEO-7826
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-17 11:09:32 +02:00
Compute-Runtime-Validation e79fb5f39b Revert "fix ocloc/ult: set default PVC device id to pvc xt device id"
This reverts commit bd84ba819b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-15 11:43:21 +02:00
Kacper Nowak e19e006370 feat(zebin): Add debug flag for logging ZE Info
Add debug key LogZEInfo for logging ZE Info from zebin elf.
ZE Info will be dumped to a file (default igdrcl.log)

Related-To: NEO-7895
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-14 17:14:07 +02:00
Maciej Plewka 730578112f Report cl_khr_integer_dot_product extension
Related-To: NEO-6206

With this commit OpenCL will report cl_khr_integer_dot_product extension
in version 2. With all properties enabled.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-14 14:46:18 +02:00
Kulkarni, Ashwin Kumar 3213f96109 Disable context creation and HWS when NEO_L0_SYSMAN_NO_CONTEXT_MODE is set
Related-To: LOCI-4295

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-04-14 11:51:53 +02:00
Fabian Zwolinski 3fe0272381 Do not force Cooperative Context in Offline Debugging Mode
Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-13 22:52:01 +02:00
Milczarek, Slawomir 0ff46562db [perf] Improve placement of KMD shared allocation in scenario with subdevice 1
Improves performance for benchmarks with KMD-migrated shared allocation
in scenarios with ZE_AFFINITY_MASK=0.1.

Related-To: NEO-7881

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-13 17:55:50 +02:00
Mateusz Jablonski e4a446df58 feature usm: add debug flag to allocate shared USM in heap extended
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-13 11:30:09 +02:00
Mateusz Jablonski bd84ba819b fix ocloc/ult: set default PVC device id to pvc xt device id
ensure default hw ip version matches the value from helper
change pvc ult execution to revision 3

Related-To: NEO-7738
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-13 10:54:28 +02:00
Konstanty Misiak 1f37e69fd2 Refactor of IO functions
Related-To: NEO-4562

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-04-13 10:46:47 +02:00
Daria Hinz c3f4074f0a fix: Unification of aot config with hw ip version
In the case of mtl+ platforms, the returned config value
should equal the hardware ip version value.
This change fixes situations where some config has not been
added and in this case we returned an unknown value.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7738
2023-04-12 18:34:03 +02:00
Fabian Zwolinski 6fa8682c96 Switch to SingleAddressSpace in Offline Dbg Mode
Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-12 18:07:02 +02:00
Maciej Plewka 095108edd8 Abort when blit resolve operation dispatched for different tilings
Related-To: NEO-7872, NEO-7873, NEO-7874, NEO-7875

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-12 13:17:00 +02:00
Compute-Runtime-Validation a10c4f7920 Revert "feat: enable checking indirect access"
This reverts commit 392e6ab0a7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-12 06:46:02 +02:00
Dominik Dabek 392e6ab0a7 feat: enable checking indirect access
If indirect accesses in kernel are not detected by IGC, indirect
allocations will not be made resident for this kernel.

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-11 17:45:24 +02:00
Fabian Zwolinski 91019afa4b Fix perContextSipKernels map in BuiltIns
Previously std::once_flag was assigned per map:
std::unordered_map<ContextId, std::unique_ptr<SipKernel>> which was
incorrect and caused the situation in which SipKernel is allocated only
on 1 context and was skipped for other contexts, so we ended up with
only one allocation regardless of the number of contexts.

This change assigns std::once_flag for each allocated SipKernel.

Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-11 17:24:57 +02:00
Milczarek, Slawomir 8e04a7a83f Access counters mode to not rely on KMD cross-tile migrations (by default)
Add new regkey KMDSupportForCrossTileMigrationPolicy
(disabled by default, in absence of KMD suppport for cross-tile migrations)
to control placement of shared allocation and memory prefetch behavior.

Related-To: NEO-7885

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-11 15:56:14 +02:00
Fabian Zwolinski a1066177a5 Attach UUID to SbaAllocations
Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-11 12:53:03 +02:00
Zbigniew Zdanowicz a114448792 [feat, perf] Indicate implicit scaling is dispatched from primary batch buffer
This change is part of performance feature to start command list batch buffers
as primary.
Implicit Scaling sometimes require to jump over control section and these jumps
must maintain the same level of batch buffer as the whole command list.

Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-11 12:39:25 +02:00
Milczarek, Slawomir 01d03aa5b6 Extended regkey to force prefetch of shared memory in enqueue commands
Extended the regkey ForceMemoryPrefetchForKmdMigratedSharedAllocations
to force meory prefetch of kmd-migrated shared allocation
in clEnqueueNDRangeKernel(), clEnqueueMemFillINTEL, ...

Related-To: NEO-7841

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-11 11:23:48 +02:00
John Falkowski 007d39cbf7 move two functions to cpp file
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-04-11 09:50:50 +02:00
John Falkowski e056082710 refactor graphics allocation structure elements for sub-allocation properties
Resolves:  LOCI-3772

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-04-07 16:53:23 +02:00
Mateusz Jablonski 31f32cc16e fix implicit args: generate local ids as for grf size 32
Related-To: IGC-6936

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-07 11:37:07 +02:00
Zbigniew Zdanowicz d4109eb153 [feat, perf] add closing mechanism to command list primary batch buffers
This change adds space reservation in command list for returning batch buffer
start hw command.
Primary batch buffer can be run from direct submission or from KMD call and
must be aligned to required size.
Ending patch for batch buffer start must be in the last command buffer of the
command list.

Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-07 11:28:41 +02:00
Zbigniew Zdanowicz 1fcf564cc1 Enable state base address tracking
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-07 11:22:24 +02:00
Compute-Runtime-Validation 6357ab73ea Revert "Report cl_khr_integer_dot_product extension"
This reverts commit 31983ec043.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-06 14:38:45 +02:00
Maciej Plewka 31983ec043 Report cl_khr_integer_dot_product extension
Related-To: NEO-6206

With this commir OpenCL will report cl_khr_integer_dot_product extension
in version 2. With all properties enabled.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-05 20:28:00 +02:00
Zbigniew Zdanowicz 4c7bc2ca98 [feature, perf] add alogrithm to chain command buffers in container
This feature is part of performance improvement to dispatch and start
command buffers as primary batch buffers.
When exhausted command buffer is closed, then reserve exact space for chained
batch buffer start and bind it to the next command buffer.
When closing command buffer, then save ending pointer and
reserve aligned space.

Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-05 15:49:01 +02:00
Zbigniew Zdanowicz e695059152 [perf] reduce host overhead in command list reset call
There is no need to reset all fields and load support flags every reset call.
Add dedicated calls that will reset values and dirty flags.
Call virtual methods only once at init time.

Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-05 11:29:39 +02:00
Compute-Runtime-Validation c927c46495 Revert "Report cl_khr_integer_dot_product extension"
This reverts commit dbd9b19b35.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-05 04:16:29 +02:00
Fabian Zwolinski fd971f7a61 Generate Offline Dump Context ID
On linux OfflineDumpContextId consists of
32b processId in bits 63:32
32b drmContestId in bits 31:0
Also cache linux implementation of getProcessId since
the value is constant.

Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-04 15:58:56 +02:00
Milczarek, Slawomir b839f26ed7 Call VM prefetch for KMD-migrated shared allocation on all VMs
Call VM prefetch ioctl on all VMs for the KMD to apply
a synchronoues bind operation of buffer objects on all VMs.

Related-To: NEO-7841

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-04 13:01:44 +02:00
Compute-Runtime-Validation e1af516c25 Revert "Enable state base address tracking"
This reverts commit 6a08d29869.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-04 11:37:19 +02:00
Dominik Dabek 1c52017ceb fix: use correct allocation type in program init
Globals surface allocation via USM manager will have correct allocation
type set (instead of just BUFFER) and will use cpu copy when possible.

Related-To: NEO-7796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-04 11:31:11 +02:00
Maciej Plewka dbd9b19b35 Report cl_khr_integer_dot_product extension
Releated-to: NEO-6206

With this commir OpenCL will report cl_khr_integer_dot_product extension
in version 2. With all properties enabled.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-04 11:15:38 +02:00
Zbigniew Zdanowicz a5179aae0b [perf] add debug key and control variable to command list primary buffer
Related-To: NEO-7807

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-04 10:58:11 +02:00
Zbigniew Zdanowicz f211d97363 [perf] simplify state transition for size properties
State base address size proprties are not used to track state changes, but
they are important to carry size values.
Simplify state base address tracking, so they can update the value of the
property, but not the dirty state.

Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-04 10:41:36 +02:00
Dunajski, Bartosz 3ff7a63145 Reduce number of jumps in RelaxedOrdering scheduler
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-04 09:07:59 +02:00
Bellekallu Rajkiran 310380119a feat(sysman): Support for registering events during listen
Related-To: LOCI-3682

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2023-04-04 07:07:19 +02:00
Zbigniew Zdanowicz 6a08d29869 Enable state base address tracking
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-03 15:26:09 +02:00
Dunajski, Bartosz 78cad1e3c0 Fix debug variable data type
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-03 11:34:38 +02:00
Zbigniew Zdanowicz 7731264fe3 [fix] update ray tracing commands programing
- 3D btd command should be programed only once per context
- Add conditional pipe control command prior dispatching 3D btd command
- share 3D btd state between immediate and regular command lists
- add pipe control after ray tracing kernel to invalidate state cache

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-04-03 11:21:24 +02:00
Milczarek, Slawomir 50da94dc56 Add regkey to force prefetch of shared memory in cmd list execute
Add the regkey ForceMemoryPrefetchForKmdMigratedSharedAllocations
to force meory prefetch of kmd-migrated shared allocation
in zeCommandQueueExecuteCommandLists().

Related-To: NEO-7841

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-03 11:14:18 +02:00
Mateusz Jablonski ab265bca93 fix blitter programming for media compression on xe hpg platforms
- when destination surface is media compressed then disable compression bit
- rename command field CompressionType->ControlSurfaceType
- program this field only on Xe Hpg platforms

Related-To: NEO-7415
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-31 17:15:28 +02:00
Compute-Runtime-Validation 9608879372 Revert "feature: pvc, cpu copy in program init"
This reverts commit 77d70fd4a7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-31 13:56:39 +02:00
Dunajski, Bartosz 17681aaa8a Fix RelaxedOrdering MiArbCheck estimation
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-31 11:58:49 +02:00
Dominik Dabek 77d70fd4a7 feature: pvc, cpu copy in program init
Use cpu copy for globals surface when allocated through svm, allocation
not set as lockable but locking allocation succeeds.
Make sure gfx allocations is unlocked after copy.

Related-To: NEO-7796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-30 18:05:24 +02:00
Milczarek, Slawomir 4e6995bc4c Set VM advise with preferred location to device by default
Apply the KMD advise with preferred device location for KMD-migrated
shared allocation to migrate to lmem on every GPU page fault
(default KMD migration policy).

Related-To: NEO-7851

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-03-30 17:04:23 +02:00
Fabian Zwolinski c0603e0854 Allocate SipKernel per ctx for Offline dbg mode
- Add debuggingEnabledMode getter in ExecutionEnvironment
- Add new overloaded function - BuiltIns::getSipKernel
- Add perContextSipKernels map to BuiltIns
- Add OsContext to PreemptionHelper::programStateSip arguments
- Add new overloaded function - SipKernel::getBindlessDebugSipKernel

Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-03-30 16:40:41 +02:00
Compute-Runtime-Validation 2b93126795 Revert "Add alignment support to createUnifiedMemoryAllocation"
This reverts commit ca02bbba4b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 15:43:47 +02:00
Mateusz Jablonski 8119905325 fix usm shared: propagate resource48Bit when allocating with kmd migrations
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-30 13:00:40 +02:00
Young Jin Yoon 3f6443edfb Change allowZebin to enableZebin for apiOptions
Changed -cl-intel-allow-zebin to -cl-intel-enable-zebin only for
API options.

Related-To: NEO-7801

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-03-30 12:46:10 +02:00
Compute-Runtime-Validation b11a64718a Revert "feature usm: allocate shared USM in heap extended"
This reverts commit 03ed1e1e12.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 11:39:59 +02:00
Rafal Maziejuk c8e900a97f Delete 0x0BD1, 0x0BD2 and add 0x0B69 PVC config
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-7741
2023-03-30 09:56:25 +02:00
Compute-Runtime-Validation 6bb48ff809 Revert "feature: pvc, cpu copy in program init"
This reverts commit 4c891e80a5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 07:51:25 +02:00
Mateusz Jablonski 03ed1e1e12 feature usm: allocate shared USM in heap extended
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-29 16:04:05 +02:00
Milczarek, Slawomir 02a2a5e641 Extended ForceBCSForInternalCopyEngine to apply to L0 internal cmd list
Related-To: NEO-7252

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-03-29 12:02:09 +02:00
Mateusz Jablonski 7a03c78b0d feature usm: allocate host USM in HEAP_EXTENDED
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-29 10:09:00 +02:00
Dominik Dabek ff2e4f6066 feat: dont wait on fence in ulls switch buffers
Related-To: NEO-7797

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-28 23:45:56 +02:00
Dominik Dabek 4c891e80a5 feature: pvc, cpu copy in program init
Use cpu copy for globals surface when allocated through svm, allocation
not set as lockable but locking allocation succeeds.

Related-To: NEO-7796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-28 23:23:40 +02:00
Rafal Maziejuk b9828b543e feature: adjust maxWorkGroupSize value
Related-To: NEO-7357

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2023-03-28 15:19:52 +02:00
Zbigniew Zdanowicz 6437c1a91e Flush state caches after command list is destroyed
When state base address tracking is enabled and command list use private heaps
then command list at destroy time must calls all compute CSRs that were using
that heap to invalidate state caches.
This allows new command list to reuse the same heap allocation for different
surface states, so before new use cached states are invalidated.

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-28 14:52:30 +02:00
Zhenjie Pan 820a189c52 fix: only increase fence/task count when submit task success
Related-To: NEO-7812

Signed-off-by: Pan Zhenjie <zhenjie.pan@intel.com>
2023-03-28 14:15:36 +02:00
Mateusz Hoppe d8f99161dd fix: create VMs with correct flags when perContextVms used
Related-To: NEO-7813

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-28 13:09:46 +02:00
Mateusz Jablonski 5d482ffe87 refactor: add constexpr for tera byte
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-28 12:55:52 +02:00
Mateusz Jablonski dd39b822d3 feature implicit args: patch rt dispatch global array in implicit args buffer
handle has_rtcalls in kernels and functions in zebin

Related-To: NEO-7818
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-28 12:31:38 +02:00
Mateusz Jablonski 7e5e27f0b9 feature usm: reserve heap extended in 57 bit address space
use mocked mmap function in unit tests

Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-28 11:06:03 +02:00
Lu, Wenbin ca02bbba4b Add alignment support to createUnifiedMemoryAllocation
Allows the user to use alignments > 64KB in `createUnifiedMemoryAllocation`

So that the restriction in `piextUSMDeviceAlloc` of the DPC++ runtime
could be lifted

Related-To: LOCI-4168

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-03-28 10:57:04 +02:00
Zhenjie Pan 1ce269a9dd fix: wrong return value of zeCommandQueueExecuteCommandLists when OOM
zeCommandQueueExecuteCommandLists return ZE_RESULT_ERROR_UNKNOWN when OOM
in some scenario of direct submission.

Related-To: NEO-7840

Signed-off-by: Pan Zhenjie <zhenjie.pan@intel.com>
2023-03-28 09:52:17 +02:00
Kamil Kopryk d77f2989c7 Correct dg1 host mem capabilities
Related-To: NEO-7470

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-28 09:29:05 +02:00
Daria Hinz 865154cdc4 fix: Update acronyms for MTL
This change adds new product config device
acronyms available for mtl and changes enum names.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
2023-03-28 09:21:42 +02:00
Mateusz Hoppe d344945625 fix: remove print from xe ioctl helper
- driver should not print to stdout

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-27 23:46:18 +02:00
Dominik Dabek d7981e153e fix(ocl): tweak resolve deps with pipecontrols
Keep resolving with semaphores if multiple (>2) queues are submitting to
the same CSR. In such case, semaphores allow concurrent execution while
pipecontrols would serialize it.

Related-To: NEO-7321

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-27 17:22:03 +02:00
Yates, Brandon 0f6140deb0 fix(l0debug): windows topology map should always be created
Topology map was only being created when ZET_ENABLE_PROGAM_DEBUGGING was
set.  This was not correct.  Now it is unconditionally created at init,
and debug attach will fail if it is not valid.

Related-to: LOCI-3937

Signed-off-by: Yates, Brandon <brandon.yates@intel.com>
2023-03-27 16:24:57 +02:00
Kacper Nowak f1c64adb3c fix(ocl): Fix potential mem leak + simplify code
- Fix potential memleak in case ASSERT returns false and test gets
aborted
- Remove not needed function argument
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-03-27 13:31:42 +02:00
Milczarek, Slawomir 5936734550 Add regkey to set preferred location for kmd-migrated shared allocation
The regkey SetVmAdvisePreferredLocation sets the KMD VM advise
with preferred location for KMD-migrated shared allocation
(default - none, 1 - system, 2 - device memory).

Related-To: NEO-7252

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-03-27 12:48:46 +02:00
Dunajski, Bartosz e49e245bec Revert "Disable RelaxedOrdering if UpdateTagFromWait is disabled"
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-27 11:47:10 +02:00
Compute-Runtime-Validation b1fba762fd Revert "Correct dg1 host mem capabilities"
This reverts commit 41ac42978c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-26 13:21:41 +02:00
Dunajski, Bartosz b3c2fa41c5 OCL: Optimize IOQ barriers handling
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-24 12:52:47 +01:00
Kamil Kopryk 41ac42978c Correct dg1 host mem capabilities
Related-To: NEO-7470
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-24 10:33:08 +01:00
Zbigniew Zdanowicz b4cce380c8 Revert "Enable state base address tracking"
This reverts commit 6fb905acb2.

Resolves: HSD-18028477709

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-24 10:20:36 +01:00
Spruit, Neil R 9a056318a4 fix_l0:Unbind immediately during unmap
- Explicitly force unbind of Buffer Objects during unmap to ensure that
Buffer Objects can be reused in the same application.

Related-To: LOCI-4162

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-03-23 18:47:48 +01:00
Maciej Bielski 3ec0a637ba fix(l0): return API error on ISA allocation OOM
It is possible that a module has so many kernels that the 4GB limit of
GPU VA is depleted when each kernel allocates a 64 KB page for its own
ISA. In such case, propagate the ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY to
the API caller to indicate the actual problem.

Currently such scenario is not detected, the execution advances a bit
further and the following crashes do not let the user to easily
understand what happened.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-03-23 17:30:15 +01:00
Zbigniew Zdanowicz ef12312672 [perf] add selective properties update for one-time and multi-time properties
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-23 15:59:50 +01:00
Zbigniew Zdanowicz 38e50007f7 [perf] simplify memory layout of command container class
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-23 13:31:47 +01:00
Zbigniew Zdanowicz 179429b25c Add stateless arguments checker for single kernel
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-23 10:55:15 +01:00
Dunajski, Bartosz 151aecc8bd Disable RelaxedOrdering if UpdateTagFromWait is disabled
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-22 18:15:39 +01:00
Cencelewska, Katarzyna 1624ad911b wa: set flag ForceDummyBlitWa to -1 to apply wa properly on mtl
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-22 13:32:15 +01:00
Francois Dugast e2a4cd0d48 xe: Add IOCTL support for GemCreate
This is needed to execute some workloads with iGPUs.

Signed-off-by: Francois Dugast <francois.dugast@intel.com>
2023-03-22 12:20:13 +01:00
Compute-Runtime-Validation 7b5897d585 Revert "wa: set flag ForceDummyBlitWa to -1 to apply wa properly"
This reverts commit 095f5a773a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-22 10:42:46 +01:00
Compute-Runtime-Validation 7785a27f2f Revert "feature usm: allocate host / shared USM in HEAP_EXTENDED"
This reverts commit 2d0c61aa33.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-22 02:36:23 +01:00
Mateusz Jablonski 5610eae710 refactor: fix typo Barrierl -> Barrier
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-21 15:58:24 +01:00
Zbigniew Zdanowicz 6fb905acb2 Enable state base address tracking
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-21 15:53:24 +01:00
Mateusz Jablonski 415d2cb121 fix xe: add missing wait on fence before unbind
Related-To: NEO-7306
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-21 15:37:44 +01:00
Mateusz Jablonski 2d0c61aa33 feature usm: allocate host / shared USM in HEAP_EXTENDED
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-21 15:31:33 +01:00
Igor Venevtsev 062abef8ef Revert "Deferred deletion of allocations in main thread"
This reverts commit 2ea734491a.

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-03-20 18:17:15 +01:00
Cencelewska, Katarzyna 095f5a773a wa: set flag ForceDummyBlitWa to -1 to apply wa properly
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-20 09:41:31 +01:00
John Falkowski a1e2eca9e8 Add zeMemGetAllocProperties extension for sub-allocations
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-03-17 21:21:44 +01:00
Mateusz Hoppe c0794bd974 feature: assert support - decode zebin argument
Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-17 11:15:13 +01:00
Cencelewska, Katarzyna a4a296d59f wa: enable wa to add additional dummy blits after blit copy
- reduce number of dummy blits where are not needed
- track if dummy blit required in cmdlist

Related-To: NEO-7450
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-17 10:43:00 +01:00
Fabian Zwolinski 65c73a690f Introduce Online, Offline, Disabled DebuggingModes
This change allows to set DebuggingMode via
ZET_ENABLE_PROGRAM_DEBUGGING env var
0: Disabled
1: Online
2: Offline

Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-03-17 09:31:17 +01:00
Zbigniew Zdanowicz bc4e540c33 [fix] unify heaps size programing
- share same code between csr and cmd container to get default heap size
- share handling of debug flag to change heap size
- share platform level surface heap size between csr and command list
- refactor heap size files
- put heap size constant and function into namespace
- command list surface heap size increased to 2MB for xehp+ to match csr
- command list increased surface heap size only for sba tracking
- sba tracking heap consumption increased due to different reset policy

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-17 08:34:06 +01:00
Kulkarni, Ashwin Kumar ae566a42d8 Disable context creation when NEO_L0_SYSMAN_NO_CONTEXT_MODE is set
Related-To: LOCI-4031

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-03-16 19:14:46 +01:00
Zbigniew Zdanowicz f348bf78a3 [fix] allow to use all available command buffer size after reset
- this change uses unified approach to reuse command buffer
- unified method takes all available space when reseting stream

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-16 12:48:52 +01:00
Mateusz Hoppe 0204761add feature: gpu assert implementation
- allocate assert buffer when kernel has assert
- track assert kernels in cmdlists and cmdqueues
- check and print assert at sync calls: cmdqueue synchronize(), fence
synchronize(), event hostSynchronize(), synchronous imm cmdlists
append()

Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-15 19:22:09 +01:00
Zbigniew Zdanowicz e645f58b65 [fix] Do not reset state heap position for command list reset
- state base address tracking allows to reuse base address state
- surface state slots can be reused after sba reload or cache flush
- to avoid cache flush after each reset, then allow to gradualy consume heaps
- only until natural heap depletion and then dispatch reload of sba state

Related-To : NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-15 19:04:20 +01:00
Filip Hazubski 0bee81c0c0 refactor: Move isLinearStoragePreferred function from gfx to product helper
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-03-15 18:51:59 +01:00
Fabian Zwolinski 93a30f002b L0 Debugger - check debug_eu entry.
Related-To: NEO-7790
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-03-15 16:14:49 +01:00
Lukasz Jobczyk 79075a3e92 Make command buffers resident at cmd container init
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-03-15 16:11:29 +01:00
Milczarek, Slawomir eff7439eca [perf] Set local memory pool for kmd-migrated shared allocation
Select ccs engine for usm device and shared allocations
(i.e. for transfers from local to local).

Related-To: NEO-7252

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-03-15 16:02:37 +01:00
Mateusz Jablonski e3c5cbc22f fix ocl/ocloc: expose cl_ext_float_atomics for OCL 2.0+
Related-To: NEO-7800
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-15 14:48:17 +01:00
Dunajski, Bartosz 686790274d Disable OCL RelaxedOrdering if tag update is required
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-15 14:44:05 +01:00
Mateusz Hoppe e62c5e25d5 refactor: change debugging enabled to debugging mode
Related-To: NEO-7630

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-15 13:41:41 +01:00
Mateusz Jablonski db719b2acb refactor: rename function getExtensions->getDeviceExtensions
Related-To: NEO-7800
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-15 12:46:46 +01:00
Compute-Runtime-Validation 3e1d931296 Revert "L0 Debugger - check debug_eu entry"
This reverts commit 9f935276a0.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-15 12:28:08 +01:00
Mateusz Jablonski 028e1bb1b6 fix ocloc: define extensions in one place
unify exposed device extensions between OCL and ocloc

Related-To: NEO-7800
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-15 11:14:46 +01:00
Dunajski, Bartosz 60741b05aa Add missing struct member initialization
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-15 10:09:05 +01:00