Commit Graph

514 Commits

Author SHA1 Message Date
Maciej Plewka
560b588cbe fix: Update residency fence value after ring buffer switch
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-11-17 20:46:14 +01:00
Fabian Zwolinski
f91757c093 fix: enable 4KB allocation alignment through KMD on Windows
Related-To: NEO-9446
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-11-16 13:04:23 +01:00
Dominik Dabek
8f06f3f50a performance: add override cacheable to gmm
add attribute to override cacheable attribute to gmm constructor

enable this override for command buffers on mtl

change command buffers back to allocation by kmd

this keeps the quicker allocation which is needed to keep enqueue times
low

Related-To: NEO-8152

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-11-16 10:00:45 +01:00
Dominik Dabek
961a8d91d0 refactor: move gmm constructor flags to struct
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-11-15 09:26:13 +01:00
Mateusz Jablonski
c454e0d33e fix: handle not exisiting wsl compute helper library
https://github.com/intel/compute-runtime/issues/688
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-14 16:06:14 +01:00
Compute-Runtime-Validation
b3a7f5dccb Revert "fix: support alignments in WSL2 device and shared memory allocation"
This reverts commit ae86635307.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-11-11 16:25:52 +01:00
Lu, Wenbin
ae86635307 fix: support alignments in WSL2 device and shared memory allocation
Related-To: NEO-8431

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-11-09 19:47:11 +01:00
Katarzyna Cencelewska
fbe61cf547 fix: add kmd wait on cpu when wait on paging fence when needed
add storing of throttle hint value for direct submission

Related-To: NEO-9123
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-11-09 19:22:15 +01:00
Zbigniew Zdanowicz
19586277ca refactor: add debug flag to control delay after waiting for paging fence on cpu
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-11-03 12:49:39 +01:00
Zbigniew Zdanowicz
db10e85526 refactor: add new diagnostic mode for device state
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-10-31 16:02:53 +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
Mateusz Jablonski
036d1e4814 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 12:48:51 +01: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
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
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
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
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
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
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