Commit Graph

219 Commits

Author SHA1 Message Date
Mateusz Jablonski
85eafc9e61 fix: query drm info to aligned storages
xe topology info to byte aligned storage
xe engine info to 2 byte aligned storage
system info to 4 byte aligned storage

all other info to 8 byte aligned storage

Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 16:11:40 +02:00
Compute-Runtime-Validation
d5f90ae155 Revert "fix: query drm info to 8 byte aligned storage"
This reverts commit 9b344280d6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-05 06:07:27 +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
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
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
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
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
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
Kulkarni, Ashwin Kumar
3a5b038c45 fix(sysman): bugfix for return of correct uuid with zesInit flow
Related-To: LOCI-4907

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-09-21 09:41:49 +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
Dunajski, Bartosz
7562842a58 refactor: remove LogicalStateHelper
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-09-13 10:29:53 +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
Kacper Kasper
996c261430 fix: OclocIgcFacade->getIgcRevision() could return nullptr
* Make sure igcRevision is always initialized.
* Improve coverage.

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-08-31 12:57:27 +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
Filip Hazubski
fe601f527f fix: Provide DRM_XE_VM_CREATE_FAULT_MODE flag to GemVmCreate calls
DRM_XE_VM_CREATE_FAULT_MODE flag is to be used when
Drm::hasPageFaultSupport returns true.

Related-To: NEO-7996

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-08-24 08:25:58 +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
Bari, Pratik
f9e4381c1e feature: Add FsAccess and Derived class in Sysman Kmd Interface
- The FsAccess, ProcFsAccess and SysfsAccess classes have been added in
a file in the Sysman Shared directory. The instances of these classes
are maintained in the Sysman Kmd Interface classes.
- Added functions for opendir, readdir and closedir in the shared code.
- Added a ULT in the sysman directory to cover these new functions from
the shared code.

Related-To: LOCI-4689

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-08-23 11:38:57 +02:00
Mateusz Jablonski
8b09bb855e fix: add missing includes
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-22 16:31:11 +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
Filip Hazubski
7ea22d0369 feature: Add pat index programming to gem create ext call
When upstream ioctl helper is created it will try to create small
allocation, adding I915_GEM_CREATE_EXT_SET_PAT extension. If it
succeeds, for all resources with valid pat index value it will then
explicitly program pat index value with gem create ext call.

PrintBOCreateDestroyResult value can be used to:
- print whether the set pat extension is supported by the kernel, when
  ioctl helper is created
- print whether set pat extension was added for a given gem create ext
  call and what pat index value was programmed

Note: introduced changes are disabled by defualt.
Toggle DisableGemCreateExtSetPat can be used to enable new functionality.

Related-To: NEO-7896

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-31 09:00:04 +02:00
Dunajski, Bartosz
31d351cd53 refactor: unify and simplify Drm CSR methods
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-20 11:42:21 +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
Katarzyna Cencelewska
33a5dd486b refactor: remove not needed arguments in adjustGpuPtrToHostAddressSpace
- add also tests to confirm that proper alignment is applied

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-18 08:41:59 +02:00
Jaime Arteaga
23eeaf816d feature: Add debug keys for chunking allocation and size
Related-to: NEO-7695

New debug keys added:

EnableBOChunking is now a mask
0 = no chunking (default).
1 = shared allocations only
2 = device allocations only
3 = shared and device allocations

MinimalAllocationSizeForChunking sets the minimum allocation
size to apply chunking. Default is 2MB.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-07-07 23:39:43 +02:00
Compute-Runtime-Validation
2d7505c01c Revert "feature: Add pat index programming to gem create ext call"
This reverts commit 6489379508.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-02 05:06:58 +02:00
Filip Hazubski
6489379508 feature: Add pat index programming to gem create ext call
When upstream ioctl helper is created it will try to create small
allocation, adding I915_GEM_CREATE_EXT_SET_PAT extension. If it
succeeds, for all resources with valid pat index value it will then
explicitly program pat index value with gem create ext call.

PrintBOCreateDestroyResult value can be used to:
- print whether the set pat extension is supported by the kernel, when
  ioctl helper is created
- print whether set pat extension was added for a given gem create ext
  call and what pat index value was programmed

Resolves: NEO-7896

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-06-29 08:51:00 +02:00
Jaime Arteaga
2efd6e547a feature: Add support for chunking in the UMD (1/N)
Read if support for chunking is available in the KMD.
If available, KMD will create a BO with 1 or more chunks,
depending on the chunk size selected.

Related-To: NEO-7695

Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc18

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-06-02 23:27:40 +02:00
Cencelewska, Katarzyna
115d6de350 fix: add debug key to verify device state before submit
- new debug key EnableDeviceStateVerification to check device state not
ony in debug mode

Related-To: NEO-7669
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-05-31 14:31:23 +02:00
Mateusz Jablonski
6f21d133cf fix: extend MemoryInfo class interface to expose single memory region
unify logic of OverrideDrmRegion debug flag

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-30 16:27:42 +02:00
Diedrich, Kamil
5a4a2ab8ab feature: Add new environment variables for compiler cache
This patch add new environment variables to control compiler cache.
Works as follow: If persistent cache is set driver check if NEO_CACHE_DIR
is set. If not then driver checks XDG_CACHE_HOME - If exists
then driver create neo_compiler_cache folder, if
not then driver checks HOME directory. If each NEO_CACHE_DIR,
XDG_CACHE_HOME and HOME are not set then compiler cache is disabled.
Current support is for Linux only.

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>

Related-To: NEO-4262
2023-05-12 10:21:27 +02:00
Zbigniew Zdanowicz
e5e39ce8f4 test: add test prelim mock drm class
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-05-11 19:15:38 +02:00
Mateusz Hoppe
9c17cb9bd9 fix: add CLOEXEC flag when opening gpu cards
- close-on-exec prevents old file descriptor to leak when exec() is
called

Resolves: NEO-7944

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-09 11:53:57 +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
Mateusz Jablonski
fd1ad7c1f0 feature: setup heap extended host size based on system memory size
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 15:23:01 +02:00
Mateusz Jablonski
2f9135a4e6 fix: change type of container with registered engines per root device
use StackVec instead of unordered map
resize container at MemoryManager's creation time

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 17:06:42 +02:00
Mateusz Jablonski
32d8a3bc6d fix: store registered engines per root device
in most cases we need to iterate over engines associated to single root device

Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-27 10:54:07 +02:00
Fabian Zwolinski
c441e9e971 refactor: Rename member variables to camelCase
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-26 16:05:07 +02:00
Diedrich, Kamil
26ca64bb28 Add process safety to cl_cache on Linux
Current flow will be to have one synchronization point
config.file. Read remains unblocking, only write(caching)
operation will be blocking (lock on config.file)

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-25 17:35:40 +02:00
Milczarek, Slawomir
c9fdeb200c [perf] Prefetch of kmd-migrated shared allocation with initial placement on GPU
Related-To: NEO-7646

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-25 17:27:33 +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
853a65aae9 Add PCI barrier implementation
Resolves: NEO-7850

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-24 10:33:03 +02:00
Mateusz Jablonski
e4a446df58 feature usm: add debug flag to allocate shared USM in heap extended
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-13 11:30:09 +02:00
Fabian Zwolinski
6fa8682c96 Switch to SingleAddressSpace in Offline Dbg Mode
Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-12 18:07:02 +02:00
Bellekallu Rajkiran
310380119a feat(sysman): Support for registering events during listen
Related-To: LOCI-3682

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2023-04-04 07:07:19 +02:00
Compute-Runtime-Validation
b11a64718a Revert "feature usm: allocate shared USM in heap extended"
This reverts commit 03ed1e1e12.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-30 11:39:59 +02:00
Bari, Pratik
b161af5886 Improve coverage in Fs Access
- Added ULTS to improve the code coverage in fs_access.
- Used the shared functions in the ULTs.
- Added the function for pwrite in the shared code.
Related-To: LOCI-2117

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-03-30 04:21:18 +02:00