Commit Graph

110 Commits

Author SHA1 Message Date
Mateusz Jablonski
d25237c104 fix: pass ReadOnly flag only for page-misaligned input ptr
Related-To: NEO-12986
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-11 10:42:42 +01:00
Mateusz Jablonski
a924761ed1 fix: correct flags for creating allocation with existing system memory
on Windows setup ReadOnly flag, it makes there is no ProbeForWrite call within
CreateAllocation2 function call

it doesn't force read-only access from GPU perspective, that access it
defined in MapGpuVa function

Related-To: NEO-12986, HSD-15016952776
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-03 11:24:55 +01:00
Compute-Runtime-Validation
3556d9ded6 Revert "fix: set ReadOnly flag when creating allocation with existing system ...
This reverts commit bddb24124d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-31 12:15:12 +01:00
Mateusz Jablonski
bddb24124d fix: set ReadOnly flag when creating allocation with existing system memory
setting ReadOnly flag makes there is no ProbeForWrite call within
CreateAllocation2 function call

it doesn't make read-only access from GPU perspective, that access it
defined in MapGpuVa function

Related-To: NEO-12986, HSD-15016952776
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-01-30 19:43:44 +01:00
Chodor, Jaroslaw
dd3d5c6460 feature: Add logic for reading loaded library's version
getLoadedLibVersion is intended for reading version of a library that was
already loaded into the process prior to this call (i.e. new instance of
the library willnot be loaded).
Note: Currently, only windows version of this functionality is implemented.
Related-To: GSD-10248

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-12-20 17:29:19 +01:00
Wenbin Lu
2ba80ce114 feature: support physical host memory
Related-To: NEO-11981

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-11-20 08:19:52 +01:00
Chodor, Jaroslaw
d1ab846a5a refactor: cleanup around options files
This patchset improves handling of library names for NEO's dynamic
dependencies.

Related-To: NEO-12747

Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2024-11-15 22:21:16 +01:00
Dominik Dabek
22a3ec948b fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-10-24 18:07:04 +02:00
Fabian Zwoliński
ea5b586c37 fix: move pathExists out of sys calls and do not mock it
Moved pathExists from SysCalls to path.h.
In ULTs, use unchanged pathExists and mock stat, getFileAttributesA instead.
Add Windows and Linux ULTs for pathExists.

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-09-10 19:24:45 +02:00
Mateusz Jablonski
c934877790 refactor: remove not needed function
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-30 12:18:14 +02:00
Compute-Runtime-Validation
5dbbaa39b9 Revert "fix: ulls controller sleep, windows"
This reverts commit 6455d4648c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-08-24 06:37:58 +02:00
Dominik Dabek
6455d4648c fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-08-23 12:05:26 +02:00
Mateusz Hoppe
8a7923c6ee fix: allow fork() after zeInit()
- do not release resources derived from parent process
- zeInit() in child should initilize new driver

Related-To: NEO-11761

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-23 15:31:50 +02:00
Mateusz Hoppe
0800ab54f5 refactor: remove redundant getPid()
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-22 22:51:47 +02:00
Dominik Dabek
dc26b25169 Revert "fix: ulls controller sleep, windows"
This reverts commit 672cc0ebc7.

Resolves: HSD-18038912878, NEO-11770

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-21 14:10:43 +02:00
Dominik Dabek
672cc0ebc7 fix: ulls controller sleep, windows
Request higher resolution for windows periodic timers for ulls
controller sleep.

Allows for controller thread to sleep with granularity of 1ms.

Related-To: NEO-10800

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-18 06:28:15 +02:00
Maciej Plewka
32cfa3d497 fix: stop using LocalOnly flag on Xe2+ platforms
Related-To: NEO-11391
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-06-10 11:26:20 +02:00
Bartosz Dunajski
da9c009b88 feature: assign unique interrupt to queue
Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-06-07 10:06:31 +02:00
Anvesh Bakwad
f75d03c866 fix(sysman): Fix memory management issues in Sysman PMT windows module
Related-To: NEO-11251

Signed-off-by: Anvesh Bakwad <anvesh.bakwad@intel.com>
2024-05-23 18:36:17 +02:00
Igor Venevtsev
6425afc548 fix: properly set ReadOnly flag for D3DKMTCreateAllocation2
This is an OS behavior to have failed an allocation with a
const buffer backing storage (PAGE_READONLY attribute set)
ReadOnly flag allows to create allocation with read-only
backing storage

Related-To: NEO-9664, HSD-16021966023

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2024-04-19 11:32:46 +02:00
shubham kumar
6a55bbe6cd feature(sysman): Add pmt support in windows
Related-To: NEO-8804

Signed-off-by: shubham kumar <shubham.kumar@intel.com>
2024-04-10 12:42:19 +02:00
Compute-Runtime-Validation
5288100d86 Revert "feature(sysman): Add pmt support in windows"
This reverts commit ebf88c92ca.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-04-09 17:37:41 +02:00
shubham kumar
ebf88c92ca feature(sysman): Add pmt support in windows
Related-To: NEO-8804

Signed-off-by: shubham kumar <shubham.kumar@intel.com>
2024-04-04 11:08:58 +02:00
Artur Harasimiuk
c3d884e548 test: improve test timeout configuration
Allow custom values for different test types, i.e. ULT, AUB, etc. can
have custom timeout by using e.g.: NEO_{ULT,AUB,...}_ITERATION_MAX_TIME.
Old behavior with reading NEO_ULT_ITERATION_MAX_TIME for each test type
is preserved but new envirnoment variable has precedence.

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-02-28 09:05:29 +01:00
Mateusz Jablonski
2b25cbaa41 test: remove not needed printf
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-01-15 19:20:45 +01:00
Dominik Dabek
997bdfa010 performance: add windows thread priority debug key
Set windows thread priority to "above normal" on wddm init if flag is
set.

Related-To: NEO-8215

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-01-15 08:14:46 +01:00
Kamil Kopryk
5432b57fd0 refactor: improve readability
Added a time unit to the variable name to make it clear.
Removed incorrect and not needed check.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-01-05 14:53:52 +01:00
Mateusz Jablonski
f1841527a9 test: lower priority of alarm thread in Windows ULT
notify alarm thread readiness by setting atomic bool

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-07 11:14:11 +01:00
Compute-Runtime-Validation
253035878a Revert "test: lower priority of alarm thread in Windows ULT"
This reverts commit 95eb723ca5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-12-07 05:13:42 +01:00
Dominik Dabek
6cf6a8def8 performance: add power throttling debug key
Set windows process power throttling hint to HIGH on wddm init

Related-To: NEO-8215

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-12-04 15:03:33 +01:00
Mateusz Jablonski
95eb723ca5 test: lower priority of alarm thread in Windows ULT
notify alarm thread readiness by setting atomic bool

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 14:25:35 +01:00
Mateusz Jablonski
039c993219 test: improve alarm handler on Windows
- check elapsed time in a loop
- log more details
- disable abort request during global cleanup

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-01 16:01:56 +01:00
Mateusz Jablonski
8e3caef814 test: add support for alarm in Windows ULT
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-27 14:24:45 +01:00
Zbigniew Zdanowicz
e0ce08bb77 fix: detect gpu hang or page fault at direct submission flush to gpu
Related-To: NEO-8395

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-11-06 14:22:02 +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
e301418423 fix: correct issues with clang tidy
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-31 12:23:42 +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
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
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
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
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
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 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
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 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
Cencelewska, Katarzyna
bd8625c96a fix: wa override pat index for uncached types on xe_lpg
always force pat index 2(UC) when uncached type

Related-To: NEO-7565
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-08-30 08:37:31 +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
Compute-Runtime-Validation
8c155a2e89 Revert "performance: Memory handling improvements"
This reverts commit 5b80bd4d7c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-20 11:37:09 +02:00
Filip Hazubski
5b80bd4d7c performance: Memory handling improvements
By default prefer allocating memory first by KMD, instead of malloc first.

By default prefer not caching allocations on MTL devices. This results
in allocations being handled with non-coherent pat index.

For integrated devices when caching is not preferred do not allow
direct memory access in CPU domain. For map/unmap operations create
a dedicated memory allocation for CPU access, instead of accessing it
directly, reusing the same logic as when mapping/unmapping local memory.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-19 19:21:44 +02:00
Mateusz Jablonski
01990e8bd7 feature(internal): add debug flag to control preferred allocation method on Wddm
Related-To: NEO-7194
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-18 16:46:17 +02:00