Commit Graph

3289 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Mateusz Hoppe
dc32e2b7da refactor: extract ApiSpecificConfig methods to separate cpp file
- split ult config and ApiSpecificConfig used in ULTs

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-02 16:30:42 +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
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
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
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
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
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
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
Fabian Zwolinski
7ac0c4ba37 feature: add ocloc IGC_REVISION query
Related-To: NEO-8289
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-26 15:57:11 +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
Brandon Yates
b3464a2621 feature(debugger): Expose DBG regset
Related-To: NEO-8383

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-09-26 11:50:29 +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
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
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