Commit Graph

34 Commits

Author SHA1 Message Date
Neil R. Spruit
43ebc17e17 feature: Support for opaque IPC handles on Windows and Linux
- Added support for creating and managing opaque IPC NT handles in the
WDDM layer.
- Introduced a new flag `shareableWithoutNTHandle` to indicate if memory
can be shared without an NT handle.
- Updated the `isShareableMemory` method to accommodate this new flag.
- Added debug variable EnableShareableWithoutNTHandle to control the
behavior of sharing memory without NT handles until requested.
- Updated Linux path to enable sharing DMA Buf FDs between processes
for use in pidfd_getfd
- Updated getfd and get IPC Handle helper functions to support opaque or
previous versions

Related-To: NEO-15345 , NEO-15346 , NEO-15347, NEO-10380

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-08-18 16:23:44 +02:00
Compute-Runtime-Validation
0855219087 Revert "feature: Support for opaque IPC handles on Windows and Linux"
This reverts commit 46b1b2783b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-08-15 02:22:02 +02:00
Neil R. Spruit
46b1b2783b feature: Support for opaque IPC handles on Windows and Linux
- Added support for creating and managing opaque IPC NT handles in the
WDDM layer.
- Introduced a new flag `shareableWithoutNTHandle` to indicate if memory
can be shared without an NT handle.
- Updated the `isShareableMemory` method to accommodate this new flag.
- Added debug variable EnableShareableWithoutNTHandle to control the
behavior of sharing memory without NT handles until requested.
- Updated Linux path to enable sharing DMA Buf FDs between processes
for use in pidfd_getfd

Related-To: NEO-15345 , NEO-15346 , NEO-15347, NEO-10380

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2025-08-14 08:33:56 +02:00
Aleksandra Nizio
6975f7bb8d fix: Disable compiler cache if any IGC_ env is set
Related-To: NEO-12721
Signed-off-by: Aleksandra Nizio <aleksandra.nizio@intel.com>
2025-07-07 09:55:49 +02: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
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
Fabian Zwoliński
e30b8c0300 fix: windows cl_cache fixes and improvements
Fixed the function that checks if a directory exists.
Added debug message in case config file creation fails.
Simplified setting pattern for searching all files in a directory.
Adding file search loop skip when found file is a directory.

Fixes: #762
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-09-09 19:25:52 +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
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
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
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
d56abe6f60 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 17:26:20 +01: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
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
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 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
Diedrich, Kamil
5149d74141 refactor: Remove globaly enabled cl_cache
Current behaviour will be detecd path existence

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-28 23:28:49 +02:00
Dunajski, Bartosz
6e9257c623 Debug flag to force early exit
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-04-25 09:44:44 +02:00
Lukasz Jobczyk
b21fef96cb Wait for events from host
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-10-10 12:12:13 +02:00
Bartosz Dunajski
cd702af3a1 Fix windows wrappers
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-06 09:01:36 +02:00
Krzysztof Gibala
0a41c42854 Add debug key for aub file generation per process id
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-07-14 08:59:26 +02:00
Jaroslaw Chodor
a77d2b1dde Cleanup in WDDM files
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-27 17:38:02 +02:00
Mateusz Jablonski
98c9e3f6ca Verify GL sharing based on luid from wglGetLuidINTEL function
Related-To: NEO-5016
Change-Id: I4409132ce000d6052c7f69a9b19c01389d51c2de
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-18 09:51:28 +02:00
Mateusz Jablonski
442b6cfc47 Verify GL sharing based on primary display's luid
Resolves: NEO-5016
Change-Id: I244536fdd8acacfeb423ae09e13191df66c4f74a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-09-02 17:14:13 +02:00
Jaroslaw Chodor
39f42b20ba Require OpenCLDriverName in DeviceRegistryPath
Change-Id: I93a8ca95082f6ddb48adffe33145568f32d77418
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-08-24 08:21:20 +02:00
Mateusz Jablonski
7df9945ebe Add absolute include paths
Change-Id: I67a6919bbbff1d30c7d6cdb257b41c87bad51e7f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 23:49:12 +01:00
kamdiedrich
e072275ae6 Reorganization directory structure [3/n]
Change-Id: If3dfa3f6007f8810a6a1ae1a4f0c7da38544648d
2020-02-23 23:48:28 +01:00