Commit Graph

4884 Commits

Author SHA1 Message Date
Compute-Runtime-Validation c9d6615231 Revert "feature: Add extensions to expose dot product capabilities"
This reverts commit e988fe66e3.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-31 05:06:06 +01:00
Michal Mrozek 060fc40938 performance: move constants out of the loop.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2023-10-30 18:16:35 +01:00
Mateusz Jablonski d56abe6f60 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 17:26:20 +01:00
Aravind Gopalakrishnan e988fe66e3 feature: Add extensions to expose dot product capabilities
- Add new extension property for user to query platform DP support.
- Add new blackbox and ULTs for extension.

Related-To: NEO-8786

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-10-30 15:15:51 +01:00
Mateusz Jablonski 036d1e4814 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 12:48:51 +01:00
tkordek f8ad191b16 feature: Caller ID introduced to aubstream
... to distinguish environment of capturing.

Related-To: NEO-9235

Signed-off-by: Tomasz Kordek <tomasz.kordek@intel.com>
2023-10-30 12:37:49 +01:00
Mateusz Jablonski 80e59ff344 fix: don't call virtual method in ctor
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 12:26:57 +01:00
Michal Mrozek 80e3632c41 performance: do not free deferred allocations when not needed
Level Zero doesn't use deferred allocations so no point in paying the
price to check for them in cleanAllocationList.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2023-10-27 18:02:43 +02:00
Dominik Dabek 39cf653959 performance(ocl): cmd buffer prealloc per cmdqueue
Add mechanism to preallocate cmd buffer allocations in command stream
receiver reusable allocations list per command queue initialized.

This should limit additional allocations during hot loop.

Needs to be enabled in subsequent commits by setting product helper
method.

Related-To: NEO-8152

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-10-27 16:56:29 +02:00
Mateusz Jablonski 1e18bf0392 fix: define timestamp mask based on timer resolution
Related-To: HSD-18034577551
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-27 11:55:20 +02:00
Mateusz Jablonski 2eebbcd41e fix: don't transfer FtrTile64Optimization to gmmlib
Related-To: HSD-18034338825
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-27 08:07:58 +02:00
Mateusz Hoppe 5d572b9c8f feature: allow freeing memory in aubstream
Related-To: NEO-2707

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-26 17:16:23 +02:00
Compute-Runtime-Validation fca2159430 Revert "fix: if device hierarchy is flat then getSubDevicesCount return 1u"
This reverts commit cb0bb57f49.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-26 15:40:29 +02:00
Baj, Tomasz cb0bb57f49 fix: if device hierarchy is flat then getSubDevicesCount return 1u
Related-To: NEO-9167

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-10-25 15:51:52 +02:00
Andrzej Koska c4a24d8f31 fix: Avoiding races when modifying queue and Tag data
Related-To: NEO-8196
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2023-10-25 14:20:57 +02:00
Naklicki, Mateusz 1352bde5c8 fix: use pointer instead of std::function
MSVC Compiler found an issue that there could be an attempt to
reference a deleted function when using std::function.
As the functionality of ioctlHelper::getGpuTime is very straightforward,
simple function pointer should be sufficient to make the job and
it mitigates overhead of std::function.

Related-To: NEO-8324
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-10-25 06:23:43 +02:00
Compute-Runtime-Validation 69f614a8c2 Revert "fix: allow legacy device binary validation logic for Blender on DG2 p...
This reverts commit d3d15542fb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-24 21:00:19 +02:00
Jablonski, Mateusz ac5f64f5c6 fix: fix compilation error in clang on Windows (2/n)
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2023-10-24 15:59:06 +02:00
Mateusz Jablonski 6d2d16d68e fix: avoid overflow of gpu time stamp in ns
Related-To: NEO-8394
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-24 14:56:15 +02:00
Francois Dugast 1fd9d29f54 feature: update Xe KMD header
xe_drm.h header is generated from the series "uAPI Alignment - take 1 v4"
from https://patchwork.freedesktop.org/series/124387/

Related-To: NEO-8324
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Kamil, Kopryk <kamil.kopryk@intel.com>
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-10-24 12:03:45 +02:00
Kacper Nowak d3d15542fb fix: allow legacy device binary validation logic for Blender on DG2 platforms
Temporarily opt-out from additional compatibility checks
on DG2 for Blender AOT-compiled kernels.
This prevents a long kernel recompilation.

Additionally, same behavior can be enforced for other applications
manually via NEO debug key named DoNotUseProductConfigForValidationWa.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-9240
2023-10-23 18:20:37 +02:00
Zbigniew Zdanowicz 0b42510f41 fix: add l1 cache flush to barrier operations when required
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-23 18:18:22 +02:00
Mateusz Hoppe 52b0f32688 fix: offset cpu address when writing chunk in simulated csr
- not only gpuAddress is offset but also cpu address with data needs
to be offset while writing memory.

Related-To: GSD-6604

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-23 17:01:25 +02:00
Mateusz Jablonski 8da4a9cbc7 fix: add debug flag to control non walker signalling in in-order cmdlist
set to false by default

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-23 14:43:40 +02:00
Kulkarni, Ashwin Kumar 875f653952 Revert "feature: support UUID feature for windows"
This reverts commit cb2b4214b4.

Related-To: NEO-8799

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-10-23 14:08:03 +02:00
Zbigniew Zdanowicz 2e09b5ff66 refactor: reposition preamble helper implementation methods
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-20 13:18:29 +02:00
Fabian Zwolinski b8831e87b0 fix: iGPUs - increase size of reported global memory available on Linux to 94%
Related-To: NEO-8989, NEO-7229
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-20 10:51:47 +02:00
Fabian Zwolinski ede8663e41 fix: iGPUs - increase size of reported global memory available on Windows to 94%
Related-To: NEO-8989, NEO-7229
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-20 10:37:11 +02:00
Fabian Zwolinski 55abd8dc9a fix: reduce globalMemory by internalResourcesSize for iGPUs
internalResourcesSize is a constant 450 MB value.

Related-To: NEO-8989
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-20 10:10:41 +02:00
Kozlowski, Marek 90987bd878 feature: add minimal interface for software tag injection
* Add new Software Tag `ArbitraryString`
* Add minimal interface for injecting software tags

Related-To: NEO-5550

Signed-off-by: Marek Kozlowski <marek.kozlowski@intel.com>
2023-10-20 01:49:33 +02:00
Mateusz Hoppe 97faeae16f feature: heapAssigner per root device
- create heapAssigner per root device in memory manager to allow per
device config

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-19 19:52:24 +02:00
Dunajski, Bartosz 25195ebc96 fix: capability to write memory chunk in aub/tbx mode
Related-To: GSD-6604

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-19 19:13:11 +02:00
Mateusz Jablonski 4dfa12c8eb fix: add mechanism to detect gpu timestamp overflows
unify naming CpuGpu to GpuCpu

Related-To: NEO-8394
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-19 16:31:06 +02:00
Lukasz Jobczyk 750b5ba89a fix: flush necessary caches when dispatch pipe control
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-10-19 15:09:31 +02:00
Spruit, Neil R 58fa968273 fix: Calculate size of buffer surface state given mapped allocations
Related-To: NEO-8350

- given a virtual address part of a mapping to multiple physical
allocations, then the buffer surface state size is increased to
include the allocations which follow the current allocation, which
allows users access to the remainder of the mapped buffer.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-10-19 13:38:51 +02:00
Katarzyna Cencelewska ff1a8770fe fix: when gt type media on xe kmd then do not inizialize
also use proper size when query config

Related-To: HSD-18034189281
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-10-19 12:37:36 +02:00
Spruit, Neil R 456f07212d fix: Return pageSize/Heap for reservation based on the size and devices
Related-To: NEO-9127,NEO-9142

- Change the heap/pageSize used based on the size of the reservation
required and the device heaps available.
- Return the page size required based on the size requested by the user
for virtual reservation and the devices on the system.
- Check the size passed in by the user in memory map and physical memory
allocation is valid for the heap and page size that is required.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-10-19 10:44:13 +02:00
Mateusz Hoppe 5a4fa180d6 feature: control bindless compilation mode based on release
- check releaseHelper support when selecting bindless mode, if not
disabled, prefer bindless mode in L0 API
- bindless mode can be forced with DebugVariable: UseBindlessMode

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-19 10:11:11 +02:00
Compute-Runtime-Validation 096e424428 Revert "fix: initialize tile only when gt type main on xe kmd"
This reverts commit cbde47d638.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-19 09:47:58 +02:00
John Falkowski f156a74f54 fix: split chunking prefetch flags
Related-To: NEO-9120

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-10-18 19:20:42 +02:00
Katarzyna Cencelewska cbde47d638 fix: initialize tile only when gt type main on xe kmd
also use proper size when query config

Related-To: HSD-18034189281
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-10-18 16:01:16 +02:00
Compute-Runtime-Validation 713aa05f27 Revert "performance: limit monitor fence dispatch only to task count dispatches"
This reverts commit f26f027ee7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-18 11:15:40 +02:00
Mateusz Jablonski 15484c6778 fix: initialize member before using it
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-18 08:38:22 +02:00
Dunajski, Bartosz 95dc224021 refactor: change default PVC unit tests runner
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-18 08:22:27 +02:00
Dominik Dabek 75c4844987 feature(internal): logging kernel dispatch params
Use debug flag PrintKernelDispatchParameters to print params used in
thread group dispatch size heuristic when encoding kernel dispatch.

Related-To: NEO-6989

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-10-17 17:31:54 +02:00
Dunajski, Bartosz af7bcbf99c Revert "refactor: split CpuInaccessible MemoryPool types to Device and System"
This reverts commit 2e8cf5fdf5.

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-17 10:03:14 +02:00
Dunajski, Bartosz 0a787a0880 refactor: remove not used code
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-16 15:16:07 +02:00
Mateusz Hoppe 8c6b936dac fix: decanonize address passed to AubManager's freeMemory()
- the same address should be used for writeMemory() and freeMemory()

Related-To: NEO-2707

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-16 12:58:21 +02:00
Dunajski, Bartosz 2e8cf5fdf5 refactor: split CpuInaccessible MemoryPool types to Device and System
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-16 12:47:13 +02:00
Compute-Runtime-Validation 30b066c40e Revert "fix: synchronize host and device timers to avoid device timer overflow"
This reverts commit dae8c34f81.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-16 11:16:23 +02:00
Dunajski, Bartosz 0592390e2b refactor: print gmm compression settings
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-16 09:14:52 +02:00
Mateusz Jablonski 57e8edc489 refactor: remove not needed code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-16 08:51:29 +02:00
Zbigniew Zdanowicz 0b7e6d90a3 refactor: add ail context sync flag
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-15 15:10:13 +02:00
Mateusz Jablonski dae8c34f81 fix: synchronize host and device timers to avoid device timer overflow
Related-To: NEO-8394
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-13 17:40:45 +02:00
Mateusz Jablonski a3faf5dacc feature: Add support for ARL-S
Related-To: NEO-8187
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-13 10:28:21 +02:00
Dunajski, Bartosz 06a02552ce refactor: debug flag to override PAT index for given memory type
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-12 15:47:28 +02:00
Mateusz Jablonski a420e34b10 fix: explicitly remove assign operators when not needed
when class defines copy/move ctor then corresponding assign operator(s)
should be defined or deleted

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-12 10:25:15 +02:00
Mateusz Jablonski 3fdcf049bf fix: set default device hierarchy to composite for all platforms except xe hpc
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-12 10:09:50 +02:00
Mateusz Jablonski 5c1d82349b fix: set default Xe Hpc core device hierarchy to flat
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-11 16:18:14 +02:00
Pawel Cieslak 6e481535d0 fix: fix compilation issues when building with clang-16
Related-To: NEO-8284
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2023-10-11 15:08:01 +02:00
Compute-Runtime-Validation 55585b1fd8 Revert "performance: Remove tlb flush on DG2"
This reverts commit 3ba8ca47b0.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-11 11:02:41 +02:00
Mateusz Hoppe 5558222337 fix: handle completion in OsAgnosticMemoryManager
- add pollForCompletion() for contexts that used allocation prior to
freeGraphicsMemory()

Related-To: NEO-2707

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-11 10:24:30 +02:00
Mateusz Jablonski af275ed341 fix: handle failure on set cache region
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-11 09:07:40 +02:00
Mateusz Jablonski bede264d0d fix: add unrecoverable to avoid undefined behavior
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-11 08:41:44 +02:00
Compute-Runtime-Validation dcbf147a52 Revert "fix: add fallback in setting hw ip version for MTL"
This reverts commit 2a5691f340.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-11 05:37:11 +02:00
Latif, Raiyan dee5ecfdf3 fix: ReturnSubDevicesAsApiDevices flag being ignored
Proper subdevice count being returned now in GfxCoreHelper
path, as previous method ignored the usage of the
ReturnSubDevicesAsApiDevices flag.

Related-To: LOCI-4859

Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
2023-10-10 17:05:00 +02:00
Mateusz Jablonski c7287f9feb fix: populate map of indices using push_back methods
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 15:50:27 +02:00
Mateusz Jablonski 420f273a6c fix: don't wait on condition in unit tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 15:14:30 +02:00
Lukasz Jobczyk 3ba8ca47b0 performance: Remove tlb flush on DG2
Resolves: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-10-10 14:36:12 +02:00
Zbigniew Zdanowicz f26f027ee7 performance: limit monitor fence dispatch only to task count dispatches
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-10 14:02:18 +02:00
Mateusz Jablonski a7bdd6ee0a fix: add early skip for negative file descriptor in Drm::discoverDevices
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 10:57:19 +02:00
Mateusz Jablonski a31dd7b454 fix: add unrecoverable to avoid out of bound access
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 10:45:30 +02:00
Mateusz Jablonski d76145ee65 refactor: correct printf formats
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 10:40:55 +02:00
Dunajski, Bartosz 91aa7fb2fe refactor: print allocation info to stdout if flag is set
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-10-10 10:22:28 +02:00
Mateusz Jablonski 2a5691f340 fix: add fallback in setting hw ip version for MTL
setup hw ip version based on device id and revision id

Related-To: NEO-8231
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-10 09:03:44 +02:00
Mateusz Hoppe 92a2d6df27 feature: add bindless addressing support query to releaseHelper
Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-09 16:42:56 +02:00
Mateusz Jablonski 099a3f30e3 fix: add FileDescriptor class to ensure file descriptor is closed
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-09 16:23:28 +02:00
Mateusz Hoppe c2d69e5857 feature: allocate SPECIAL_SSH heap in front window from EXTERNAL heap
- SPECIAL_SSH is used for debug surface SurfaceState which must be
located at bindless offset zero
- limit size of external front window

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-09 14:54:39 +02:00
Mateusz Hoppe 8b4242eb32 refactor: move setting GpuBaseAddress to mapGpu call
- set base address of heap after mapping allocation to gpu va
- ensures the same heapIndex is used while choosing heap range and
setting base

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-09 12:21:23 +02:00
Venevtsev, Igor 50b2262339 fix: stop direct submission blocking on platform destruction
Resolves: GSD-6341

Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2023-10-06 17:03:38 +02:00
Mateusz Jablonski 85eafc9e61 fix: query drm info to aligned storages
xe topology info to byte aligned storage
xe engine info to 2 byte aligned storage
system info to 4 byte aligned storage

all other info to 8 byte aligned storage

Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 16:11:40 +02:00
Mateusz Jablonski fd7c750cf7 fix: ensure local variable address is not exposed outside of function
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 15:59:16 +02:00
Mateusz Jablonski ece03e6bbf fix: add checks to avoid invalid behavior
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 15:45:33 +02:00
Filip Hazubski 0c8a514349 fix: Switch default device hierarchy to FLAT
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-10-06 15:24:50 +02:00
Mateusz Jablonski 6eeb9322b9 refactor: remove not needed method
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 15:22:40 +02:00
Mateusz Jablonski 2ab4aeda85 fix: add static casts to destination type to avoid overflows in multiplication
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 14:55:24 +02:00
Mateusz Jablonski 83c306e927 fix: avoid memory leak
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 13:16:56 +02:00
Filip Hazubski 08e92d154f fix: Add getDefaultDeviceHierarchy call to GfxCoreHelper
Added getDefaultDeviceHierarchy call that describes default device
hierarchy for a gfx core. Refactored L0 and OCL paths to use this
value by default and override this value when user sets
ZE_FLAT_DEVICE_HIERARCHY environment variable or
ReturnSubDevicesAsApiDevices debug key.

Updated ReturnSubDevicesAsApiDevices to force COMPOSITE device hierarchy
when set to 0.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-10-06 12:32:41 +02:00
Mateusz Hoppe 9134a4e1bc fix: call heapFree with gpu address for front window allocations
- when heapAllocate is used to get gpu address, heapFree should be
called on memory free

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-05 16:40:35 +02:00
Mateusz Jablonski 382fc952f2 refactor: add NonAssignableClass to define classes without assign operator
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 15:16:58 +02:00
Mateusz Jablonski 712ba60452 fix: add unrecoverable to avoid nullptr access
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 13:20:21 +02:00
Mateusz Jablonski 72182c28e9 refactor: add NonCopyableOrMovableClass to classes that don't need copy ctors
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 13:11:01 +02:00
Mateusz Jablonski 038c287656 fix: avoid double free when wddm initialization fails
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 13:03:49 +02:00
Mrozek, Michal 90e24a433d Revert "performance: Change thread group dispatch size algorithm"
This reverts commit ac7cd9c4c5.

Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2023-10-05 12:32:09 +02:00
Mateusz Hoppe e676ac49bb fix: front window allocations in device pool with correct gpu address
- use correct FRONT_WINDOW heap address when flag use32BitFrontWindow is
set while allocating from Device Pool
- applies to Windows OS

Related-To: NEO-4550, NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-05 12:19:20 +02:00
Mateusz Jablonski 6d259ac4b7 fix: add unrecoverable to avoid out of bound access
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-05 12:03:28 +02:00
Compute-Runtime-Validation d5f90ae155 Revert "fix: query drm info to 8 byte aligned storage"
This reverts commit 9b344280d6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-05 06:07:27 +02:00
John Falkowski ffab8fd9cc fix: add concurrent atomic access with KMD migration
Related-To: NEO-8219

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-10-05 03:13:22 +02:00
Mateusz Jablonski ad2701ad26 fix: add unrecoverable to avoid out of bound access
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-04 15:59:18 +02:00
Mateusz Jablonski 95eb5df978 refactor: use reference in for-range loops
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-04 15:32:26 +02:00
Zbigniew Zdanowicz ec9fa23b2e refactor: change order of fields of EncodeDispatchKernelArgs structure
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-04 15:00:29 +02:00
Mateusz Jablonski fc508212de refactor: pass big parameters as reference instead of by value
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-04 14:53:13 +02:00
Mateusz Jablonski 6b3ad5b3e3 fix: add unrecoverable in case of nullptr
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-04 14:38:05 +02:00
Mateusz Jablonski 747d44f8fc fix: add unrecoverable in case of allocation type unknown
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-04 14:02:36 +02:00
Compute-Runtime-Validation 8042df8bb4 Revert "fix: support alignments in device and shared memory allocation on WSL2"
This reverts commit dd46bf1e90.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-04 02:25:25 +02:00
Lu, Wenbin dd46bf1e90 fix: support alignments in device and shared memory allocation on WSL2
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-10-03 19:22:23 +02:00
Mrozek, Michal ac7cd9c4c5 performance: Change thread group dispatch size algorithm
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2023-10-03 19:04:22 +02:00
Mateusz Jablonski 895a586083 refactor: use reference in for-range loops
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:56:53 +02:00
Mateusz Jablonski 9b344280d6 fix: query drm info to 8 byte aligned storage
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:43:53 +02:00
Jitendra Sharma 8a01619310 refactor: Enable CSR heap sharing on Older Generation platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-10-03 18:19:50 +02:00
Mateusz Jablonski 5e4ea627f7 refactor: correct printf formats
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:14:20 +02:00
Fabian Zwolinski d7d577ba48 feature: enable cl_cache by default on Windows
Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-03 16:57:10 +02:00
Mateusz Jablonski 110164a52a fix: remove invalid std::forward
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 16:41:41 +02:00
Fabian Zwolinski 1f1af5bb36 refactor: windows cl_cache eviction mechanism
Refactored eviction mechanism works as follows:
- eviction is needed only if
total size of cache binaries + size of the new binary exceed cache limit
- single evition call removes files with a summed size of 1/3 of the cache limit
- if new binary can not fit in the cache size limit
even after eviction, it will not be saved
- cache limit applies only to
files in cache directory with .cl_cache/.l0_cache extension.
Only these files are counted and only these files are removed

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-03 16:20:28 +02:00
Compute-Runtime-Validation 8fa0b90f35 Revert "fix: query drm info to 8 byte aligned storage"
This reverts commit d0e615820c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-03 15:41:11 +02:00
Jitendra Sharma 5a018385aa feature: Add BCS engine as internal engine for dg1
Related-To: NEO-9033
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-10-03 14:39:31 +02:00
Zbigniew Zdanowicz 0a99384936 fix: set flushed task count for all cases of post sync task count operations
- set monitor fence dispatch for all cases task count post sync operation
- stand alone flush task count will not happen when already flushed and so
monitor fence
- monitor fence then must be dispatched together with task count post sync

Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-03 12:31:45 +02:00
Mateusz Jablonski d0e615820c fix: query drm info to 8 byte aligned storage
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 11:13:38 +02:00
Mateusz Jablonski 7531ced0e3 refactor: remove not needed error handling for make_unique
make_unique does not return empty object on failure

Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 10:56:15 +02:00
Mateusz Jablonski 1963ea69e5 fix: add missing member initializations
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 08:41:46 +02:00
Naklicki, Mateusz 0461af492d fix: unify path for getting number of grfs per thread
Related-To: NEO-8043

Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-10-03 08:17:46 +02:00
Mateusz Jablonski 9337911742 fix: add self-assign check in operator=
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 08:09:16 +02:00
Fabian Zwolinski 7c80f49176 fix: refactor Windows cl_cache and add extra safety layers
What's changed:
- Add early return when open existing config
fails due to different error than `ERROR_FILE_NOT_FOUND`
- Swich `ReadFileEx` to `ReadFile`
- Add `SetFilePointer` to make sure we're reading
from the beginning of the file
- Pass `overlapped` to `WriteFile` to make sure
we're writing from the beginning of the file

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-10-02 19:04:14 +02:00
Zbigniew Zdanowicz d27d81f206 fix: dispatch monitor fence when stalling command dispatched
Resolves: NEO-9034

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-02 16:47:02 +02:00
John Falkowski 56f05303c9 feature: add support for zeMemGet/SetAtomicAccessAttributeExp
Resolves: NEO-8219

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-10-02 15:59:17 +02:00
Compute-Runtime-Validation 1ac37d4a49 Revert "refactor: Enable CSR heap sharing on Older Generation platforms"
This reverts commit 58ff9c6d94.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-02 15:13:23 +02:00
Baj, Tomasz cb903cbc03 refactor: Move disableRcs to releaseHelper
Related-To: NEO-8296

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-09-29 14:19:02 +02:00
Hoppe, Mateusz 8da92f56c7 refactor: code cleanup
- remove not needed branch and message

Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2023-09-29 13:40:51 +02:00
Hoppe, Mateusz 5c565efe28 feature: bindless global heap with debugger
- program debugSurface's SurfaceState at the beginning of Bindless Surface
State Heap - SPECIAL_SSH
- ensure SPECIAL_SSH is resident

Related-To: NEO-7063

Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2023-09-29 13:13:46 +02:00
Mateusz Jablonski ae90fd9e57 refactor: remove dead code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-29 12:23:22 +02:00
Mateusz Jablonski a033df33ff fix: remove preferSmallWorkgroupSizeForKernel method
Related-To: HSD-18033866078
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-29 11:55:09 +02:00
Jitendra Sharma 58ff9c6d94 refactor: Enable CSR heap sharing on Older Generation platforms
Related-To: LOCI-4312
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-29 11:54:51 +02:00
Dominik Dabek b2a8fa6e57 performance: allocate cmd buffer by umd on mtl
Default allocation by kmd is slower, this improves enqueue times.

Related-To: NEO-8152

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-09-29 11:30:56 +02:00
Mateusz Hoppe 0f2a04fef4 feature: linux support for global ssh heap
Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-29 11:18:01 +02:00
Dunajski, Bartosz c5f5f60f8d feature: cross CmdList and Event in-order data sharing [1/n]
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-29 11:14:18 +02:00
Mateusz Jablonski 7d356795f0 fix: ensure memory placement key does not apply to unknown alloc type
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-28 08:43:30 +02:00
Mateusz Jablonski 3a21b3b228 refactor: remove not needed code
Related-To: NEO-7527

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-28 07:52:39 +02:00
Mateusz Jablonski 5f846d8a13 refactor: remove not needed code
Related-To: NEO-7527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 18:17:04 +02:00
Mateusz Jablonski 2a78a00855 fix: correct passing string in populateArgMetadata
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 18:00:33 +02:00
Mateusz Jablonski 03874b8815 refactor: remove not needed code
Related-To: NEO-7527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 17:45:54 +02:00
Katarzyna Cencelewska 027551724e fix: override value of MaxDualSubSlicesSupported when equal 0
when kmd is not set value of MaxDualSubSlicesSupported
then set it as half of MaxSubSlicesSupported

Related-To: NEO-8397
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-09-27 17:37:24 +02:00
Dunajski, Bartosz 4e8600d8d0 feature: initial support for RelaxedOrdering of in-order Events chaining
Disabled by default.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-27 16:45:20 +02:00
Mateusz Jablonski 5dc56c221f refactor: remove not needed function
Related-To: NEO-7527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 14:44:56 +02:00
Mateusz Jablonski 09044dfbaa refactor: remove not needed code
Related-To: NEO-7527

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 14:35:49 +02:00
Mateusz Jablonski 60c30a05e7 refactor: remove not needed function
Related-To: NEO-7527

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-27 14:15:11 +02:00
Katarzyna Cencelewska e71db368db fix: use proper pointer inside appendWriteGlobalTimestamp
Resolves: NEO-8105
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-09-27 14:00:37 +02:00
Mateusz Jablonski 3ceafa2259 fix: remove setting debug flags for ioctl helper xe
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-26 15:42:52 +02:00
Kacper Nowak 160303924d refactor: Correct logic for SIMD1
- For calculating number of threads per workgroup, for SIMD 1, return
local work size (each software thread should be mapped into a whole hardware
thread).
- Correct logic of calculating space for per thread data for SIMD 1.
- Minor: unit tests refactor.
- Corrected naming.
Related-To: NEO-8261
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-09-26 15:28:37 +02:00
Compute-Runtime-Validation 65337482ff Revert "feature: enable cl_cache by default on Windows"
This reverts commit e16220dc9f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-26 15:06:34 +02:00
Dominik Dabek eebf2bbd26 performance(ocl): timestamp packet count per gfx
Add support for different timestamp packet counts per gfx family.
Change all packet counts to 1 except for xe-hpc.

Related-To: NEO-8154

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-09-25 20:34:58 +02:00
Katarzyna Cencelewska ebc024f0f1 fix: add check to copy/fill buffer builtins that pointers aligned to 4 bytes
it is a compiler hint to provide information about alignment

Resolves: NEO-7973
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-09-25 17:38:26 +02:00
Mateusz Jablonski 071e240d15 fix: transfer ftrTile64Optimization flag to gmmlib
Related-To: NEO-8053
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-25 16:04:21 +02:00
Dunajski, Bartosz 202a33ffac feature: track InOrder allocation ownership
CmdList can be released before Event. In this case, GfxAllocation
destruction must be deferred.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-25 15:03:25 +02:00
Fabian Zwolinski e16220dc9f feature: enable cl_cache by default on Windows
Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-25 14:40:43 +02:00
Dunajski, Bartosz 80d0c74605 fix: track registered CSR clients 2
Related-To: NEO-8884

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-25 09:35:55 +02:00
Compute-Runtime-Validation ade538ce54 Revert "fix: track registered CSR clients"
This reverts commit 53f635e392.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-24 10:07:26 +02:00
Dunajski, Bartosz 480c058cb2 feature: in-order patching for ComputeWalker
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-22 15:00:44 +02:00
Baj, Tomasz f62ace8929 feature: Add releaseHelper for PVC
Related-To: NEO-8296

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-09-22 14:06:43 +02:00
Konstanty Misiak a1a8d8fded fix(wa): Override AuxilarySurfaceMode when required
Related-To: NEO-8012

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2023-09-22 13:41:34 +02:00
Fabian Zwolinski 5881b97db2 fix: cl_cache windows - delete incorrectly created config.file
config.file should not be created manually by the user.
In a scenaro when the user manually creates an empty config.file,
then reading data from this file ends with failure,
because the file is empty.
Such scenario completely freezes the cache creation
until the user manually deletes the empty config file.
This patch fixes such freeze by automatically deleting config
if read fails with ERROR_HANDLE_EOF error.
Patch applies to windows only.

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-22 13:27:25 +02:00
Zbigniew Zdanowicz d725d454ea performance: emit fence on immediate copy engine only for blocking calls
- this change handles level zero immediate command lists on copy engine
- monitor fence will be dispatched for blocking calls
- asynchronous mode will dispatch monitor fence only on host synchronization

Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-22 13:14:37 +02:00
Dunajski, Bartosz 53f635e392 fix: track registered CSR clients
In L0 its not possible to track objects relations. For example CmdList
may be removed before Event.
In such case, Event needs to safely skip unregister call, without
accessing CmdList/CmdQueue object.

Related-To: NEO-8884

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-22 09:42:55 +02:00
Fabian Zwolinski f931c25307 fix: add missing file handle close
Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-21 16:50:16 +02:00
Maciej Plewka 8658fdb04e fix: Use stack vec for api specific prefix
Related-To: NEO-8388, GSD-6296

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-21 16:10:54 +02:00
Dunajski, Bartosz 42496ac96d feature: initial support for patching regular in-order CmdList
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-21 14:20:50 +02:00
Maciej Bielski 97e7cda912 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-21 13:55:45 +02:00
Zbigniew Zdanowicz 7dfd3e5e59 performance: use dedicated flag to dispatch monitor fence
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-21 13:25:06 +02:00
Fabian Zwolinski e96dd344c3 feature: add new environment variables for compiler cache on Windows
Changes:
- replaced registry keys with environment variables
for cl_cache in OCL
- added compiler cache helpers
- implemented support for new env vars on Windows
- added tests

New env vars mechanism works as follows:
If `PERSISTENT_CACHE` is set,
driver checks if `NEO_CACHE_DIR` is set.
If `NEO_CACHE_DIR` is not set,
driver uses `%LocalAppData%\NEO\neo_compiler_cache`
as `cl_cache` destination folder.
If `NEO_CACHE_DIR` is not set and `%LocalAppData%`
path could not be obtained,
compiler cache is disabled.

In the current Windows implementation,
special characters in the folder path are not supported.

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-21 12:40:48 +02:00
Dunajski, Bartosz b94f58abaa feature: debug flag to enable in-order events
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-21 11:22:48 +02:00
Mateusz Jablonski 3b2c41e5ee fix: define isDirectSubmissionSupported per HW release
Related-To: NEO-8187
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-21 09:37:48 +02:00
Maciej Plewka 49cc570e59 fix: move adjust depth to image hw
Related-To: NEO-8390, HSD-16021488507

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-20 15:54:45 +02:00
Katarzyna Cencelewska d7d46a9fc5 refactor: use initialized variable in getHighestEnabledDualSubSlice
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-09-20 14:49:56 +02:00
Mateusz Jablonski b1808f7830 fix: correct suggested number of work groups for concurrent kernels on PVC
value depends on CCS count:
- single CCS mode (default) - 50% available
- two CCS mode - 25% available
- four CCS mode - 12.5% available

Related-To: NEO-8377
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-20 13:40:22 +02:00
Zbigniew Zdanowicz a16d8f7b88 refactor: change direct submission interfaces to accept monitor fence
- unify Linux and Windows default settings
- unify override default code
- correct size estimation when fence is required
- call virtual function once for both estimation and dispatch

Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-20 13:17:12 +02:00
Mateusz Hoppe 69f5ca6345 feature: bindless addressing - flush state cache after reusing SS slot
- when Surface State is reused for new resource, State Cache needs to be
invalidated

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-20 12:53:32 +02:00
Zbigniew Zdanowicz 40e169f8e2 refactor: add batch buffer attribute for explicit monitor fence dispatch
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-20 12:18:32 +02:00
Mateusz Jablonski 381d7d7a02 refactor: Move MTL specific definition of CompilerProductHelper to Xe Lpg
Related-To: NEO-8187

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-20 11:13:12 +02:00
Dunajski, Bartosz d3d5da1f72 feature: initial 64b in-order CmdList support
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-19 15:23:37 +02:00
Mateusz Jablonski 698a3ed3de fix: correct adjusting hw info for IGC, cover all cases
Related-To: NEO-8203

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-19 15:23:18 +02:00
Kacper Nowak 0ead0dc1a1 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-09-19 14:52:31 +02:00
Compute-Runtime-Validation 913a926fd4 Revert "feature: Optimize intra-module kernel ISA allocations"
This reverts commit c348831470.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-19 14:16:05 +02:00
Maciej Bielski c348831470 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-19 12:05:09 +02:00
Dominik Dabek 1b7e178b25 performance(ocl): program barrier pc in taskStream
Program barrier to task stream, before next enqueue kernel.
This will reduce the number of batch buffer starts for sequences of
enqueue, barrier, enqueue, ... .

Related-To: NEO-8147

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-09-19 11:48:02 +02:00
Compute-Runtime-Validation f8cae41e70 Revert "fix: correct adjusting hw info for IGC, cover all cases"
This reverts commit a75fcb6de0.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-19 02:53:33 +02:00
Mateusz Jablonski a75fcb6de0 fix: correct adjusting hw info for IGC, cover all cases
Related-To: NEO-8203
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-18 13:50:32 +02:00
Mateusz Hoppe 371412a826 refactor: remove useLocalMem from allocate32BitGraphicsMemoryImpl
- this method allocates System Memory
- argument is not needed - ExternalHeap is selected inside this function
- remove unneeded ults
- allocate memory in Device Pool for external heap allocation in
OsAgnosticMemoryManager

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-18 10:08:09 +02:00
Francois Dugast 670eaeb050 feature: update Xe KMD header
xe_drm.h header is taken from commit e51e857ffad411e1b78821866e9f02187345a11a
https://gitlab.freedesktop.org/drm/xe/kernel

Related-To: NEO-8324

Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-18 08:44:00 +02:00
Brandon Yates 7c1f5585d7 feature(debugger): online page fault event handling
Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc20

Related-to: LOCI-2052

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-18 00:15:45 +02:00
Fabian Zwolinski 0538f0524a refactor: make os_handle.h non os specific
Use the same file `os_handle.h` on both
Linux and Windows.
Change implementation of `HandleType` -> `UnifiedHandle` to
`std::variant<int, void *>`
use `int` on Linux
use `void *` on Windows

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-15 15:53:41 +02:00
Dominik Dabek ee767822b8 performance(ocl): add bcsEngineCount to cmdq
Related-To: NEO-8155

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-09-15 15:49:56 +02:00
Maciej Plewka 44b3f18567 refactor: Use release helper for adjusting depth
Related-To: NEO-8295, HSD-14019991753

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-15 13:24:37 +02:00
Lukasz Jobczyk 7cb92dad25 fix: add AIL for svchost on MTL
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-15 13:05:15 +02:00
Compute-Runtime-Validation 73731d3be5 Revert "fix: correct suggested number of work groups for concurrent kernels o...
This reverts commit 6fc673b0fe.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-15 04:21:58 +02:00
Cencelewska, Katarzyna d5441cc2d9 fix: change process name in AIL for Adobe Premiere Pro
Related-To: HSD-22018809561
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-14 20:53:46 +02:00
Mateusz Jablonski 6fc673b0fe fix: correct suggested number of work groups for concurrent kernels on PVC
value depends on CCS count:
- single CCS mode (default) - no limitations
- two CCS mode - 25% available
- four CCS mode - 12.5% available

Related-To: NEO-8377
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-14 16:13:54 +02:00
Baj, Tomasz e10f39017d fix: Add ImageInfo to createGraphicsAllocation on Linux
Related-To: NEO-6757

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-09-14 12:58:59 +02:00
Mateusz Jablonski fca50ba710 refactor: remove not needed logic for syncobj in xe
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-14 10:27:28 +02:00
Kamil Kopryk 1ab0467301 fix: Add bind info for allocation from ipc handle in xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-09-13 12:34:10 +02:00
Mateusz Jablonski 3eb98163a8 fix: define isCachingOnCpuAvailable per hw release
Related-To: NEO-8187
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-13 11:13:42 +02:00
Mateusz Jablonski 2f7c33c1fd refactor: move xe hpg specific appendBlitCommandsBlockCopy to xe hpg file
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-13 10:49:28 +02:00
Dunajski, Bartosz 7562842a58 refactor: remove LogicalStateHelper
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-13 10:29:53 +02:00
Mateusz Jablonski f94ed7cd28 refactor: pass root device environment to CacheSettingsHelper::preferNoCpuAccess
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-13 09:32:36 +02:00
Compute-Runtime-Validation 413365a7bf Revert "fix: Correct logic for SIMD1"
This reverts commit fc099ead2e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-13 08:23:59 +02:00
Kacper Nowak fc099ead2e fix: Correct logic for SIMD1
- For calculating number of threads per workgroup, treat simd 1 as it
  was simd 32
- Correct logic of calculating space for per thread data for simd 1
- Minor: unit tests refactor
- Corrected naming
Related-To: NEO-8261
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-09-13 07:03:12 +02:00
Cencelewska, Katarzyna a6ea67bd09 fix: add empty functions to set and get gemTiling in xeIoctlHelper
it is needed until there is no support in xe kmd for image tiling

Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-12 16:11:37 +02:00
Cencelewska, Katarzyna df961b3dc0 fix: update properly bindInfo in GemCreate on xe kmd
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-12 16:04:28 +02:00
Fabian Zwolinski 0dd40b8616 refactor: Split compiler interface between OSs
Create new file:
`os_handle.h` which contains OS specific Handle type.
Add `shared/source/os_interface/<windows/linux>`
include directory to level_zero.

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-12 15:56:53 +02:00
Filip Hazubski afba02afa9 fix: Add AIL for Adobe Premiere Pro
Use legacy platform name: "Intel(R) OpenCL".

Resolves: HSD-22018809561

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-09-12 15:39:47 +02:00
Mrozek, Michal d9f938f3db refactor: remove not needed code
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2023-09-12 14:25:04 +02:00
Dunajski, Bartosz 6648065703 feature: add indirect semaphore mode
Related-To: NEO-8242

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 13:15:51 +02:00
Dunajski, Bartosz 2a6be2fccd feature: update conditional bb start to use qword data
Related-To: NEO-8242

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 11:24:28 +02:00
Dunajski, Bartosz def3f2e9ad refactor: improve semaphore programming
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-12 11:24:11 +02:00
Filip Hazubski d7db6ac467 feature: Add preferredPlatformName field to RuntimeCapabilityTable
For all of the devices, preferredPlatformName is initialized with
nullptr by default and platform name will be initialized to driver's default
platform name, at the moment this is "Intel(R) OpenCL Graphics".

When Platform is initialized and preferredPlatformName is not nullptr then
Platform name will be set to the value stored in preferredPlatformName.

Add ENABLE_LEGACY_PLATFORM_NAME AIL enum related to added functionality.

Move PlatformInfo to NEO namespace.

Related-To: HSD-22018809561

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-09-12 11:07:14 +02:00
Mrozek, Michal 451c48fc2f refactor: remove not needed code.
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2023-09-12 10:51:35 +02:00
Compute-Runtime-Validation b5e9c10f64 Revert "performance(ocl): program barrier pc in taskStream"
This reverts commit 839c2d6737.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-12 01:32:28 +02:00
Mateusz Jablonski c851896482 refactor: move XeHpg specific setExtraAllocationData definition to Xe Hpg file
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-11 13:32:00 +02:00
Dominik Dabek 839c2d6737 performance(ocl): program barrier pc in taskStream
Program barrier immediately to task stream.
This will reduce the number of batch buffer starts.

Related-To: NEO-8147

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-09-11 13:23:26 +02:00
Lukasz Jobczyk a38ac3557b performance: Disable blit enqueue on xe_lpg
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-11 13:10:23 +02:00
Mateusz Jablonski aa6b837a67 fix: define preferred allocation method per hw release
Related-To: HSD-18033144631
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-11 12:54:52 +02:00
Compute-Runtime-Validation 1579c69316 Revert "performance: allocate timestamp packet tag buffer in local mem on DG2"
This reverts commit 819908ec94.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-11 12:07:26 +02:00
Compute-Runtime-Validation 7b5ef1b2f4 Revert "performance: Disable blit enqueue on xe_lpg"
This reverts commit ac97b1c493.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-11 10:10:21 +02:00
Yoon, Young Jin c6aac6f2bc fix: remove unnessessary check chunking prefetch
Removed checking for EnableBOChunkingPrefetch in prefetchBOWithChunking
in DrmAllocation so that zeCommandListAppendMemoryPrefetch will work
as expected with chunking enabled

Related-To: NEO-8098
Signed-off-by: Yoon, Young Jin <young.jin.yoon@intel.com>
2023-09-08 18:55:38 +02:00
Fabian Zwolinski b2ba1fbecf fix: enforce zebin format by default in Ocloc for ICL/TGL/RKL/ADL
Products for which zebin has been set as default format in OCLOC:
- ICELAKE_LP
- TIGERLAKE_LP
- ROCKETLAKE
- ALDERLAKE_S
- ALDERLAKE_P
- ALDERLAKE_N

The default format does not override `--format` parameter.

Related-To: NEO-8334
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-08 16:16:18 +02:00
Cencelewska, Katarzyna 79ea10ec98 fix: when no memoryBanks set properly flags to gemCreate
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-08 15:54:54 +02:00
Mateusz Jablonski 46288b8efd fix: setup correct non-release key name in getStringWithFlags
unify function for getting env

Related-To: NEO-8347
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-08 15:39:36 +02:00
Lukasz Jobczyk e9f199bcad performance: Wait in busy loop with timeout before Gdi sync object
Resolves: NEO-8343

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-08 14:40:20 +02:00
Lukasz Jobczyk ac97b1c493 performance: Disable blit enqueue on xe_lpg
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-08 14:04:24 +02:00
Kamil Kopryk 79e30f9ecd fix: Correct maxEuPerSubSlice calculation in drm
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-09-08 13:33:58 +02:00
Maciej Plewka 09c1d474c9 fix: adjust depth limitations for images
Related-To: NEO-8239, HSD-14019991752

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-08 13:05:49 +02:00
Cencelewska, Katarzyna 98dae70415 fix: add helper to proper call GemCreate on xe kmd
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-08 12:27:11 +02:00
Mateusz Hoppe 93469eaf5d feature: bindless addressing for buffers with offset
- allocate SurfaceStates on kernel's heap for offsetted buffers

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-08 12:03:23 +02:00
Joshua Santosh Ranjan 91784a87cc fix: Return success for system address in setArg
This patch avoids returning error for system addresses in setArg

Related-To: GSD-3597

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2023-09-08 05:27:55 +02:00
Fabian Zwolinski 10675134e1 feature: Add process safety to Windows compiler cache
Related-To: NEO-8092

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
Co-authored-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-09-06 15:34:15 +02:00
Mateusz Jablonski 3845eb3b90 fix: accept more than 16 root devices
Related-To: GSD-5892
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-06 10:13:25 +02:00
Naklicki, Mateusz ff57bec1f0 fix: ignore subDeviceId token instead of skipping builtins resolve
Previous implementation skipped resolving the subDeviceId token, which
caused in returning the LinkedPartially status if token was present.
It could result in ZE_RESULT_ERROR_INVALID_MODULE_UNLINKED when kernel
was created and crashing an app.

Related-To: NEO-6875, HSD-14015133115
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-09-05 16:26:44 +02:00
Mateusz Jablonski 6d1c673a70 fix: correct scope of isCachingOnCpuAvailable within xe lpg
Related-To: HSD-18033144631, HSD-18033158637
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-05 15:45:25 +02:00
John Falkowski 15a5bd6d8e fix: Chunking check for KMD migration
Check for KMD migration to enable chunking

Related-To: NEO-8098

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-09-05 02:58:25 +02:00
Maciej Plewka 3b3e17e738 performance: Use vector for private allocs to reuse
Related-To: HSD-18033105655, HSD-18033153203

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-04 13:34:38 +02:00
Mateusz Jablonski 91b26277a4 feature: add method to adjust hw info for igc
Related-To: NEO-8203

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-04 11:58:13 +02:00
Jitendra Sharma 9818ef61a5 feature: Report correct GRF register count
Based on Large GRF enabled or not, report correct GRF
register.

Related-To: NEO-6788
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-04 11:42:48 +02:00
Lukasz Jobczyk b7ed51ad71 refactor: fix isDirectSubmissionSupported xe_hpg helper
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-04 09:15:03 +02:00
Compute-Runtime-Validation 869e3ec9f8 Revert "performance: Remove tlb flush on DG2"
This reverts commit ae0a6b8ea8.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-02 04:24:33 +02:00
Kacper Kasper 269cba1659 feature: enable cl_cache by default on Linux
Resolves: NEO-4262

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-09-01 15:13:13 +02:00
Compute-Runtime-Validation 154530ad23 Revert "feature: Report correct GRF register count"
This reverts commit 8eb3fe222e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-01 15:12:57 +02:00
Kacper Kasper abfed5a762 fix: add specialization constants to cache hash in spirv path
Related-To: NEO-4262

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-09-01 14:04:59 +02:00
Lukasz Jobczyk ae0a6b8ea8 performance: Remove tlb flush on DG2
Resolves: NEO-7116

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-01 11:57:26 +02:00
Zbigniew Zdanowicz cb641226b5 fix: add debug key to provide alternative directory for wddm residency logs
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-01 10:15:09 +02:00
Compute-Runtime-Validation 377d886c77 Revert "feature: enable cl_cache by default on Linux"
This reverts commit eeb8a5e1fb.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-01 04:58:52 +02:00
John Falkowski 2166f7cbcc fix: Disable 1-tile chunking dev mem
Disable chunking for device memory allocation if only 1Tile

Related-To: NEO-8098

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-31 21:34:51 +02:00
Jitendra Sharma 8eb3fe222e feature: Report correct GRF register count
Based on Large GRF enabled or not, report correct GRF
register.

Related-To: NEO-6788
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-08-31 18:48:29 +02:00