Commit Graph

14167 Commits

Author SHA1 Message Date
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
Naklicki, Mateusz 054d4d04fa refactor: use proper include pattern
Related-To: NEO-8043
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-09-21 13:14:25 +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
Artur Harasimiuk 5569dac6d0 ci: infra revision update
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-09-21 11:43:06 +02:00
Dominik Dabek 0936fca8cd fix(ocl): set split barrier required correctly
Fix bug introduced in neo 27314 - splitBarrierRequired was set for all
commands, should be only for cl_command_barrier.

Related-To: NEO-8147

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-09-21 11:32:50 +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
Kulkarni, Ashwin Kumar 3a5b038c45 fix(sysman): bugfix for return of correct uuid with zesInit flow
Related-To: LOCI-4907

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-09-21 09:41:49 +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
Latif, Raiyan 9bb559d468 feature: Ray Tracing Acceleration Structure (RTAS) Support
Related-To: LOCI-3419

Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
2023-09-20 19:57:56 +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
Dunajski, Bartosz 020822fe29 feature: re-enable in-order semaphores for regular CmdLists
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-20 15:34:05 +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
Maciej Plewka beb30f8ff0 test: Add mock release helper
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-20 14:39:15 +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 09ab0ca1d2 performance: remove not needed validation loop
- validation of arguments must be moved to validation layer

Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-20 12:35:18 +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
Zbigniew Zdanowicz 713511eea9 refactor: inline simple level zero queue method
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-20 12:12:56 +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
Zbigniew Zdanowicz 453d01efb2 performance: remove extra loop processing command lists in execute call
Related-To: NEO-7828

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-09-19 18:01:16 +02:00
Dunajski, Bartosz 9da60d8e07 feature: regular CmdList submission counter
This is prework for in-order cmd lists

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-19 16:26:38 +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
Mateusz Jablonski 8da3879944 refactor: remove not needed code
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-19 14:40:24 +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
Dunajski, Bartosz e08d46085b feature: enable in-order sync allocation for regular cmd lists 3
Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-19 10:07:57 +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
Artur Harasimiuk 9f45e74cfc ci: infra revision update
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-09-18 21:41:59 +02:00
ocldev 86fbe8e08e build: dependencies update
Signed-off-by: ocldev <ocldev@intel.com>
2023-09-18 16:42:40 +02:00
Artur Harasimiuk 23f5216f93 ci: infra revision update
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-09-18 16:26:23 +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
Maciej Plewka ee21f7c717 fix: Use cmdlist residency container for reused private allocs
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-18 13:50:17 +02:00
Jitendra Sharma 8f7b3e6699 feature: Report 128 GRF count with zetDebugGetRegisterSetProperties
Related-to: NEO-6788

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-09-18 11:03:59 +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
Aravind Gopalakrishnan 4e7f7b294c feature(sysman): Add boilerplate for RAS extensions
Related-To: LOCI-4877

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-09-17 00:20:48 +02:00
Compute-Runtime-Validation 47dac196d9 Revert "feature: Ray Tracing Acceleration Structure (RTAS) Support"
This reverts commit 179abf00de.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-16 04:37:55 +02:00
Spruit, Neil R f901b26222 fix: Return Invalid Argument given the wrong module used in static link
Related-To: LOCI-4939

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-09-15 23:20:10 +02:00
Latif, Raiyan 179abf00de feature: Ray Tracing Acceleration Structure (RTAS) Support
Related-To: LOCI-3419

Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
2023-09-15 19:05:20 +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
Mateusz Hoppe fb211a921d feature: bindless addressing support for image views
Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-09-15 15:25:47 +02:00
Lukasz Jobczyk 7f085af8a3 refactor: Add AIL MTL ULT
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-15 13:44:43 +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