Commit Graph

695 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Mateusz Hoppe
9e89704624 feature: debug flag to disable DriverStore path enforcement
Resolves: NEO-8320

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-31 08:20:53 +02:00
Mateusz Jablonski
a4addad510 refactor: prework for defining preferred allocation method per allocation type
Related-To: HSD-18032442707, HSD-18032440987
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-30 12:17:33 +02:00
Mateusz Jablonski
e429afec1e refactor: unify mocks for getenv function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-23 13:44:40 +02:00
Kacper Kasper
991febcdf4 fix: extend cache hash with compiler commit sha, lib size and mtime
Related-To: NEO-4262

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-08-22 15:28:57 +02:00
John Falkowski
d49190f4ae feature: Add debug/release variables prefixes
Add debug/release variables with prefixes for Level Zero, OpenCL and NEO

Resolves: NEO-6357

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-22 15:15:45 +02:00
Mateusz Hoppe
8435160db4 feature: bindless addressing for images
- program surface states for redescribed images correctly. Image copy
to/from memory are using redescribed surface states,
- refactor state base address programming - program address and size
together, set max size at the beginning due to lack of Enable flag
- set GpuBase in WddmAllocation when external heap is used
- return max ssh required size from kernelInfo or based on stateful args

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-18 15:59:20 +02:00
Artur Harasimiuk
f6e0c0cf89 Revert "feature: Add debug/release variable prefixes"
This reverts commit ec95d9314a.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-18 12:42:39 +02:00
Mateusz Hoppe
a26e25f1df fix: do not notify KMDAF when lock/unlock fails
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-08-17 11:32:40 +02:00
John Falkowski
ec95d9314a feature: Add debug/release variable prefixes
Resolves:  NEO-6357
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-10 14:01:09 +02:00
Lukasz Jobczyk
fc1f45b630 feature: Dispatch monitor fence from wait
Resolves: NEO-8240
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-08-08 16:42:27 +02:00
Katarzyna Cencelewska
6d8ff6399c feature: add possibility to force device id on Windows
Related-To: HSD-18031930757
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-08-07 11:25:11 +02:00
Katarzyna Cencelewska
db35790d5d fix: add missing types that require stateless access
Related-To: HSD-16020995919
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-28 21:32:21 +02:00
Zbigniew Zdanowicz
b4d6822991 fix: add time units to time interval logs
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-28 20:53:51 +02:00
Mateusz Jablonski
c68c41c8c4 refactor: prework for setting preferred allocation method per platform
Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-28 19:54:35 +02:00
Zbigniew Zdanowicz
0d8523c386 performance: add time measurement between make resident and wait on gpu
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-27 10:13:23 +02:00
Katarzyna Cencelewska
b529adf941 fix: for 32 bit addressing adjust correctly gpuAddress if CONSTANT_SURFACE
Related-To: HSD-16020995919
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-27 07:50:17 +02:00
Zbigniew Zdanowicz
5ca376e655 performance: add residency diagnostic for trim callback
Related-To: NEO-8211

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-07-26 07:46:55 +02:00
Compute-Runtime-Validation
e3a408f536 Revert "performance: Change preferred allocation method to AllocateByKmd"
This reverts commit 957aa99f9e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-25 07:23:46 +02:00
Mateusz Jablonski
957aa99f9e performance: Change preferred allocation method to AllocateByKmd
Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-24 14:17:44 +02:00
Mateusz Jablonski
c0015b3b95 fix: correct cleanup path when set priority call fail in wddm path
improve mock gdi - return unique handle and host ptr when creating allocation

Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-24 11:32:10 +02:00
Igor Venevtsev
d2dc9fab11 feature: check direct submission support on Windows
- WDDM 2.0 only supported
- WSL is not supported

Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-07-21 13:53:23 +02:00