Commit Graph

1656 Commits

Author SHA1 Message Date
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
Compute-Runtime-Validation 7b5ef1b2f4 Revert "performance: Disable blit enqueue on xe_lpg"
This reverts commit ac97b1c493.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-11 10:10:21 +02:00
Yoon, Young Jin c6aac6f2bc fix: remove unnessessary check chunking prefetch
Removed checking for EnableBOChunkingPrefetch in prefetchBOWithChunking
in DrmAllocation so that zeCommandListAppendMemoryPrefetch will work
as expected with chunking enabled

Related-To: NEO-8098
Signed-off-by: Yoon, Young Jin <young.jin.yoon@intel.com>
2023-09-08 18:55:38 +02:00
Cencelewska, Katarzyna 79ea10ec98 fix: when no memoryBanks set properly flags to gemCreate
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-08 15:54:54 +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
Lukasz Jobczyk ac97b1c493 performance: Disable blit enqueue on xe_lpg
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-09-08 14:04:24 +02:00
Kamil Kopryk 79e30f9ecd fix: Correct maxEuPerSubSlice calculation in drm
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-09-08 13:33:58 +02:00
Cencelewska, Katarzyna 98dae70415 fix: add helper to proper call GemCreate on xe kmd
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-08 12:27:11 +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 3845eb3b90 fix: accept more than 16 root devices
Related-To: GSD-5892
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-06 10:13:25 +02:00
Naklicki, Mateusz ff57bec1f0 fix: ignore subDeviceId token instead of skipping builtins resolve
Previous implementation skipped resolving the subDeviceId token, which
caused in returning the LinkedPartially status if token was present.
It could result in ZE_RESULT_ERROR_INVALID_MODULE_UNLINKED when kernel
was created and crashing an app.

Related-To: NEO-6875, HSD-14015133115
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-09-05 16:26:44 +02:00
John Falkowski 15a5bd6d8e fix: Chunking check for KMD migration
Check for KMD migration to enable chunking

Related-To: NEO-8098

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-09-05 02:58:25 +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
John Falkowski 2166f7cbcc fix: Disable 1-tile chunking dev mem
Disable chunking for device memory allocation if only 1Tile

Related-To: NEO-8098

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-31 21:34:51 +02:00
Slawomir Milczarek 5833d65bc0 feature: Add support for memadvise with system preferred location
Related-To: NEO-7851

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2023-08-31 13:09:55 +02:00
Mateusz Jablonski 1b9d30ca01 refactor: unify logic isPipeControlPriorToNonPipelinedStateCommandsWARequired
accept debug flag for all platforms
cleanup ocl unit tests for xe hpg platforms
remove not needed excludes

Related-To: NEO-8187

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-31 11:35:21 +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
Kamil Kopryk 9e2ff7c5c3 fix: correct logging PrimeHandleToFd ioctl in xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-08-30 12:28:26 +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
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
Naklicki, Mateusz 20862ad8fd fix: resolve builtins depending on the product
Related-To: NEO-6875
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-08-29 15:25:08 +02:00
Mateusz Jablonski eebb44ed09 fix: adjust scope for state compute mode WA
Related-To: HSD-14014949602, HSD-14015138324, HSD-14015138326
Related-To: NEO-7786, NEO-8187
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-24 11:43:37 +02:00
Mateusz Jablonski db52486bbf refactor: move MTL specific definition of ProductHelper to Xe Lpg
Related-To: NEO-8187

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-24 10:50:26 +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
Compute-Runtime-Validation e61c5af7ec Revert "feature(debugger): online page fault event handling"
This reverts commit 0c6444aab7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-24 08:16:45 +02:00
Dominik Dabek 5c5c718af3 performance: detect indirect access in kernel, PVC
Enabling on pvc after patch in igc.

Enabling only for JIT kernels because AOT could have been compiled with
IGC older than required.

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-08-24 02:15:11 +02:00
Brandon Yates 0c6444aab7 feature(debugger): online page fault event handling
Related-to: LOCI-2052

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-08-23 18:29: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
Mateusz Jablonski f3aa042ec2 refactor: remove redundant specializations of product helper methods
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-23 12:56:52 +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
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
Cencelewska, Katarzyna dfa420d318 fix: remove wa for override patIndex on mtl
after forcing cacheable to 0 this wa should be not needed

Related-To: NEO-8120
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-08-22 12:09:19 +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
Hazubski, Filip 94bfc3418b fix: Update value of XE_ONE_SEC variable
Update the value to correspond to used unit of time (ns).

Related-to: NEO-7996

Signed-off-by: Hazubski, Filip <filip.hazubski@intel.com>
2023-08-18 14:52:16 +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
John Falkowski 2403212dcd fix: chunking prefetch add USER_FENCE
Add USER_FENCE before PREFETCH call and after the BIND

Related-To: NEO-8098

Signed-off by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-17 21:32:47 +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
Kamil Kopryk ffac216ab2 fix: use decanonize from gmm helper in xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-08-07 17:45:03 +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
John Falkowski f652c7311d feature: Add prefetch for chunking with shared and device mem
Perform prefetching of chunks on shared and device allocations
after bind.

Related-To: NEO-8066

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off by: John Falkowski <john.falkowski@intel.com>
2023-08-05 02:17:39 +02:00
Compute-Runtime-Validation d93789dbab Revert "fix: use decanonize from gmm helper in xe"
This reverts commit e6b0930657.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-04 17:20:25 +02:00
Bari, Pratik 3f083360a2 feature(sysman): Added sysfs filenames for the memory module
- The sysfs filenames have been added in the sysfsNameToFileMap of the
SysmanKmdInterface classes.
- The functions returning the sysfs filenames have been removed from the
shared directory.
- The ULTs have been added to return the sysfs filenames.

Related-To: LOCI-4699

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-08-03 22:36:17 +02:00
Kamil Kopryk e6b0930657 fix: use decanonize from gmm helper in xe
Related-To: NEO-7996

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-08-03 15:18:48 +02:00
Mateusz Jablonski 1e95ed33f9 refactor: remove redundant parameter from HardwareInfo ctor
hw ip version is queried from KMD or set based on device id and rev id

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-31 16:12: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
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
Dunajski, Bartosz a241099dff feature: use WaitUserFence on zeEventHostSynchronize
Disabled by default. Debug flag is required.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-26 19:41:09 +02:00
Mateusz Jablonski f84f22d23c refactor: remove unused isSharedContext variable
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-26 12:14:23 +02:00
Mayank Raghuwanshi ea7d9fe106 feature: Xe Porting for sysman engine module
Related-To: LOCI-4243

Signed-off-by: Mayank Raghuwanshi <mayank.raghuwanshi@intel.com>
2023-07-26 10:24:05 +02:00
Filip Hazubski 6217d97bbe Revert "fix: Increase size of reported global memory available to 98%"
Temporarily reverting back to previously reported value to avoid corner-case
regression. Intent is reintroduce as soon as regressions are rootcaused.

This only affects Linux.

Related-To: GSD-5474, GSD-5412

This reverts commit e8ac22c265.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-26 07:52:40 +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
Mayank Raghuwanshi 175ceb9bd1 feature: Add support for media freq domain on linux
Related-To: LOCI-4552

Signed-off-by: Mayank Raghuwanshi <mayank.raghuwanshi@intel.com>
2023-07-25 08:12:33 +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
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
Compute-Runtime-Validation 5c60b4d973 Revert "feature: Add support for Media frequncy Domain on linux"
This reverts commit 085293b230.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-20 03:04:52 +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
Mayank Raghuwanshi 085293b230 feature: Add support for Media frequncy Domain on linux
Related-To: LOCI-4552

Signed-off-by: Mayank Raghuwanshi <mayank.raghuwanshi@intel.com>
2023-07-19 16:43:27 +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
Katarzyna Cencelewska d74bba95c4 fix: use proper gpu ptr when 32 bit
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2023-07-14 11:00:40 +02:00
Lukasz Jobczyk f370b8f56a fix: Remove alignment condition for tlb flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-14 10:19:12 +02:00
Lu, Wenbin 4de792cee0 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-07-13 08:48:41 +02:00
Bari, Pratik b9837ef068 feature(sysman): Added changes for Porting Frequency API
The new classes SysmanKmdInterface, SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe have been introduced.
A map is maintained in the SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe class for the sysfs file names.
The access specifier of the function getDrmVersion has been changed from
protected to public so as to use it in the sysman code. This is required
for the SysmanKmdInterface pointer to point to the
SysmanKmdInterfaceI915 and SysmanKmdInterfaceXe accordingly.
The ULTs have been added for the new sysfs file path corresponding to
the i915 and the Xe driver.

Related-To: LOCI-4399

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-07-13 08:41:05 +02:00
Young Jin Yoon 40af0dddeb feature: disable chunking when debugger is used
Added if conditions to enable useChunking flag by checking
with ExecutionEnvironment::isDebuggingEnabled.

Related-To: NEO-8164
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-12 03:26:49 +02:00
Kacper Nowak b908203001 fix: Compile built-ins per release
- Preserve releases on CMake level.
- Instead of generating builtins per platform, generate them per-release
(+ correct naming accordingly).
- Stop using revisions in builtin compilation logic path, as they are
already embedded in release (device ip).
- Remove platform names & revisions from names for generated files
(related to builtins).
- Remove unnecessary code, refactor ULT logic.

Related-To: NEO-7783
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-07-11 16:02:36 +02:00
Fabian Zwolinski 1a398c7199 fix: huge host and shared allocation
Related-To: NEO-7229
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-07-11 15:16:50 +02:00
Mateusz Jablonski 4e464e9d6f fix: adjust root device indices when filtering root device environments
Related-To: NEO-8166
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-07-11 13:12:20 +02:00
Young Jin Yoon 81822e3716 refactor: rename pageSize2Mb to pageSize2M
The previous name "pageSize2Mb" defined in
shared/source/helpers/constant.h is inconsistent to other variable,
i.e. pageSize64k.

Furthermore, it's a bit misleading because the page size is defined in
Megabytes (MB), not in Megabits (Mb).

Related-to: NEO-7695
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-10 20:12:09 +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
Mateusz Hoppe 6205cca038 fix(debugger): require immediate binding for Module's allocations
- all bos from Module must have requireImmediateBinding
flag set
- this change fixes hang in debugger - where MODULE LOAD event
was not sent

Resolves: NEO-8121

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-06 17:34:22 +02:00
Dominik Dabek f1f0f2410c refactor: remove unused getBaseTimeout
Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-07-05 16:12:15 +02:00
Lukasz Jobczyk e70f441f52 fix: Idle gpu before invalidate aux table
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-05 13:51:27 +02:00
Kamil Kopryk 3f27b5225c performance: Check if print xe logs is needed before locking
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-07-03 14:01:31 +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
Lukasz Jobczyk c294ef48ce fix: Make tlb flush os agnostic
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-06-30 14:12:59 +02:00
Dominik Dabek 10ac167bdc fix(ocl): do not multiply kmdNotify waitTimeout
With direct submission disabled this resulted in waitTimeout long enough
that kmdWait fallback was rarely used.
This caused more CPU spin time.

Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-06-29 16:06:28 +02:00
Compute-Runtime-Validation 550b6703b8 Revert "feature: enable direct submission Windows WDDM 2.0"
This reverts commit 87eb609958.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-29 10:33:39 +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
Mateusz Jablonski c6404e6626 fix: don't submit to gpu when device state is invalid
Related-To: NEO-8049
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-28 12:08:49 +02:00
Igor Venevtsev 87eb609958 feature: enable direct submission Windows WDDM 2.0
Resolves: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-06-28 09:01:09 +02:00
Igor Venevtsev feb605577c fix: start direct submission controller on first wddm csr flush
Related-To: NEO-8072

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-06-27 17:30:45 +02:00
Aravind Gopalakrishnan ba4c4a5af0 feature(sysman): Retrieve uuid for Sysman device properties
- Abstracts product helpers logic for uuid
- Add UUID retrieval for Linux for Sysman via zesInit path

Related-To: LOCI-4137

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-06-26 19:17:21 +02:00
Joshua Santosh Ranjan 97b4d8bab5 feature: add initial support for host mapped timestamps
Related-To: LOCI-4171

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2023-06-26 08:29:58 +02:00
Kamil Kopryk 1007013dfd fix: return correct value in xe helper initialize
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-22 20:59:12 +02:00
Ryabov, Vladislav 6d41a6bc40 fix: wrong parameter passed to getModuleFileName
The size was passed in bytes, not in number of TCHARs.

Signed-off-by: Vladislav Ryabov <vladislav.ryabov@intel.com>
2023-06-22 16:39:37 +02:00
Kamil Kopryk 082d33bb7c fix: correct query topology on xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-22 13:24:52 +02:00
Lukasz Jobczyk a61b39c47b fix: Invalidate constant cache when ULLS enabled
Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-06-21 15:17:14 +02:00
Matias Cabral 96517a08aa feature: Implement zetMetricGroupGetGlobalTimestampsExp()
Resolves: LOCI-3072

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2023-06-21 09:48:41 +02:00
Bari, Pratik a15e8a9679 feature: Added changes for Porting Memory API with XE driver
The Memory Info object is used in the getState function for memory.
Some of the ULTS in the memory modules has been modified.
A function to return the sysfs nodes for the Memory address range has
been added in the IoctlHelper class corresponding to the XE and i915
driver.

Related-To: LOCI-4397

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-06-20 21:38:17 +02:00
Milczarek, Slawomir f189f425ce feature: KMD migration on access counters with no preferred location
Set no preference for KMD migrated shared allocation and rely on ACC to migrate.

Related-To: NEO-6839

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-06-20 08:14:34 +02:00
Mateusz Jablonski 5ab592994c refactor: remove not used parameter in ioctl helper xe method
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-19 14:15:43 +02:00
Maciej Plewka 4e91c4b08f fix: Use virtual map calls to gmm only for compressed formats
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-06-16 13:46:35 +02:00
Matias Cabral cfa187aec6 feature: Support for metrics group exp extension
Support zet_metric_global_timestamps_resolution_exp_t

Resolves: LOCI-4350

Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2023-06-16 07:48:32 +02:00
Compute-Runtime-Validation 6c4391c84a Revert "feature: enable direct submission on Windows for WDDM 2.0"
This reverts commit 386e7e5259.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-16 07:33:56 +02:00
Igor Venevtsev 386e7e5259 feature: enable direct submission on Windows for WDDM 2.0
Related-To: NEO-4843

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-06-15 18:46:11 +02:00
Mateusz Jablonski 3b981331c9 fix: correct handling ZE_ENABLE_PCI_ID_DEVICE_ORDER flag
- by default ZE_ENABLE_PCI_ID_DEVICE_ORDER is disabled
- by default devices are sorted by type (discrete first), then by pci order
- when ZE_ENABLE_PCI_ID_DEVICE_ORDER is enabled, devices are sorted by pci id

Related-To: LOCI-4520

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-14 16:27:55 +02:00
Dominik Dabek 60d5e22f3b fix(ocl): reduce busy waiting in clFinish
Use flushStamp=taskCount when passed flushStamp==0.
This will cause driver to busy wait for a short while before falling
back to use kmd notify.

Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-06-14 13:56:40 +02:00
Compute-Runtime-Validation 02436b8877 Revert "fix: support alignments in host and shared UnifiedMemoryAllocation"
This reverts commit c11809e002.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-06-14 06:32:40 +02:00
Lu, Wenbin c11809e002 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-06-13 10:01:11 +02:00
Kamil Kopryk 0605716499 fix: don't query ipVersion if not supported
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-12 16:12:24 +02:00
Kamil Kopryk 6a0f7afd64 feature: verify stateful information only when binary is generated by IGC
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>

Related-To: NEO-6075

Ngen binaries contain stateful information, however they are
not used in isa on Pvc. Therefore, we can just ignore them.
2023-06-12 11:45:41 +02:00
Mateusz Jablonski 0c7a36bc8f fix: obtain hw ip version from kmd in wsl mode
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-06-07 15:20:13 +02:00
Dunajski, Bartosz 5fe9d70066 feature: new multitile post sync layout for immediate write [1/n]
No functional changes in this commit. This is prework.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-06-07 13:11:10 +02:00
Kamil Kopryk dadd19e17b fix: init releaseHelper after ipVersion setup
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-06 14:22:42 +02:00
Kamil Kopryk b092dd0cf2 fix: call isPrefetchDisablingRequired directly from release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-06 09:13:10 +02:00
Kamil Kopryk ef18464353 refactor: move getProductMaxPreferredSlmSize to release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-05 15:16:30 +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
Fabian Zwolinski 076e0a0fa8 fix: Increase size of reported global memory available on Windows to 98%
Related-To: NEO-7229
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-06-02 14:21:59 +02:00
Warchulski, Jaroslaw 03d9a20559 feature: add debug flag to wait for release memory
Related-To: NEO-6766
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-06-02 09:57:27 +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
Cencelewska, Katarzyna d2436a8231 fix: add limitations for setting gmm flag Cacheable
- move isCachingOnCpuAvailable to product helper
- isCachingOnCpuAvailable should return false on mtl
- if wsl, skip checking method from product helper

Related-To: NEO-7194
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-05-30 17:04:57 +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
Mateusz Jablonski 61055478d4 fix: adjust scope of disable L3 for debug WA
Related-To: HSD-1609398399
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-30 14:23:16 +02:00
Mateusz Jablonski c544004b8e fix: move getProductConfigFromHwInfo to CompilerProductHelper
add tests for default PVC configs

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-29 14:08:52 +02:00
Spruit, Neil R b589e32c4b fix: Force Close of IPC handles at memFree
Related-To: LOCI-4455

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-05-26 17:09:47 +02:00
Maciej Plewka 4b6194cf0c fix: Use Gmm to map virtual gpu addresses
Related-To: NEO-5842, NEO-7946

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-05-25 15:49:05 +02:00
Kamil Kopryk ab1b4681cc Revert "fix: call isPrefetchDisablingRequired directly from release helper"
This reverts commit 4ecff31c26.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-25 15:11:20 +02:00
Jaime Arteaga 37ed03a15c feature: Propagate error from makeResident to caller
Have makeResident return error to the caller, instead of always
SUCCESS. This will allow interfaces like zeContextMakeMemoryResident
to fail properly.

Additionally, change the parsing of MemoryOperationsStatus from
ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY to
ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY, since when making resources
resident, it is the device running out of memory, instead of the
host.

Related-To: LOCI-4443

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-05-24 21:08:27 +02:00
Neil R Spruit ded9d7bff2 feature: Get Peer Allocation with specified base Pointer
Related-To: LOCI-4176

- Given a Base Pointer passed into Get Peer Allocation, then the base
pointer is used in the map of the new allocation to the virtual memory.
- Enables users to use the same pointer for all devices in Peer To Peer.
- Currently unsupported on reserved memory due to mapped and exec
resiedency of Virtual addresses.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-24 20:41:20 +02:00
Kamil Kopryk 223eb3e3fc Revert "refactor: move getProductMaxPreferredSlmSize to release helper"
This reverts commit 944c332371.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-24 17:05:12 +02:00
Kamil Kopryk f32d62970d fix: remove not needed adjustIpVersionIfNeeded function
Related-To: NEO-7786


Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-24 15:56:27 +02:00
Mateusz Hoppe 7d82b690e4 fix(debugger): use per-context fences for vm_bind operations
- vm_bind with user fence updates fence value independently for every
VM hence with per-context VMs, every context needs its unique fence
address. This prevents 2 contexts from updating value possibly
writing lower value than the one that was already stored

Resolves: NEO-8004

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-24 15:17:31 +02:00
Kamil Kopryk 915495ce28 refactor: remove not needed forward declaration
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-23 16:06:16 +02:00
Daria Hinz 331f167cfe feature: Add debug flag for setting hw ip version
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7954
2023-05-23 15:32:46 +02:00
Kamil Kopryk 4ecff31c26 fix: call isPrefetchDisablingRequired directly from release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-23 15:12:39 +02:00
Kamil Kopryk 944c332371 refactor: move getProductMaxPreferredSlmSize to release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-23 13:55:17 +02:00
Kamil Kopryk 4be9b7e609 fix: setup ipVersion in linux paths
Get ipVersion from productHelper function on xe and upstream.
On prelim first try to query ipVersion from kmd,
if it fails, get ipVersion from productHelper function.

Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-23 09:27:15 +02:00
Matias Cabral 38bc7ae403 build: update i915 headers
third_party/uapi/drm - from c7c12de893f808bd7c1215fe9056262295e5203b
https://cgit.freedesktop.org/drm-tip

third_party/uapi/prelim/drm from prelim v2.0-rc17
https://github.com/intel-gpu/drm-uapi-helper

Signed-off-by:  Matias Cabral <matias.a.cabral@intel.com>
2023-05-22 10:25:00 +02:00
Kamil Kopryk 3e6c83d28a fix: initialize ipVersion in wddm paths
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-22 10:13:13 +02:00
Compute-Runtime-Validation c748fd07dc Revert "fix: initialize ipVersion in linux paths"
This reverts commit 049cd1b568.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-20 07:32:36 +02:00
Kamil Kopryk 049cd1b568 fix: initialize ipVersion in linux paths
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-19 13:49:27 +02:00
Compute-Runtime-Validation e03160a87c Revert "fix: call isPrefetchDisablingRequired directly from release helper"
This reverts commit 546318d258.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-19 05:31:21 +02:00
Francois Dugast ae7cff3c3e fix: waitUserFence on bind and unbind in Xe
This fixes illegal memory accesses by the job submitted to the GuC.
Also some unit tests are added to harness the vmBind operation.

Related-To: NEO-7996
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-18 15:27:47 +02:00
Filip Hazubski d234bc970d refactor: Move getMaxNumSamplers function to ProductHelper
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-05-18 09:25:07 +02:00
Kamil Kopryk 546318d258 fix: call isPrefetchDisablingRequired directly from release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-17 16:25:49 +02:00
Milczarek, Slawomir ac9a96c07f refactor: Unify getters to check platform support for KMD migration
Related-To: NEO-6465

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-05-17 15:45:42 +02:00
Rafal Maziejuk d236bcbba9 feature: add isTranslationExceptionSupported method
Related-To: NEO-7782

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2023-05-17 15:12:46 +02:00
Milczarek, Slawomir 22e6e327fc refactor: Use helper to check platform support for KMD migration
Related-To: NEO-6465

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-05-16 16:14:42 +02:00
Kamil Kopryk 7d20449589 fix: Add release helper for dg2
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-16 12:04:03 +02:00
Kamil Kopryk e0d3db3d91 fix: improve release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-15 14:30:15 +02:00
Milczarek, Slawomir 66eb1c9c0a refactor: Add helpers to control kmd migration support on PVC platform
This commit keeps KMD migration still disabled by default on PVC platform.

Related-To: NEO-6465

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-05-15 13:51:19 +02:00
Compute-Runtime-Validation b2b41e613b Revert "fix: add alignment support to host and shared UnifiedMemoryAllocation"
This reverts commit c3df92ac41.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-05-12 13:04:08 +02:00
Mateusz Jablonski bfd7067c1a fix: create global and constant surface as lockable resource
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-12 10:55:36 +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
Mateusz Jablonski f3a89bfe07 fix: add missing settings of isLockable flag in WddmMemoryManager class
- allocateGraphicsMemoryUsingKmdAndMapItToCpuVA in case of no compression
- allocate32BitGraphicsMemoryImpl in case of allocate by KMD

remove redundant ctor of StorageInfo class

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-11 12:14:18 +02:00
Lu, Wenbin c3df92ac41 fix: add alignment support to host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-05-11 11:45:12 +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
Kamil Kopryk 909bb00f22 fix: populate ipVersion before release helper creation
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-08 16:14:47 +02:00
Kamil Kopryk ad2acc2b99 refactor: Add isAdjustWalkOrderAvailable to releaseHelper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-05-08 08:58:17 +02:00
Mateusz Jablonski 769a9e515e fix: setup MultiTileArchInfo in Xe path
when discovering engines we know which tiles are available

Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-05 15:21:11 +02:00
Spruit, Neil R 5633418891 fix: Don't fail on VM reserve with base address on windows
Related-To: LOCI-4333

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-05-04 20:05:16 +02:00
Filip Hazubski e8ac22c265 fix: Increase size of reported global memory available to 98%
This change applies to Linux.

Resolves: NEO-7229

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-05-04 13:56:26 +02:00
Mateusz Jablonski 87aab0bf6e fix: don't create fake memory regions in xe ioctl helper
populate memory info based on mem usage and gts info
propagate error from xeWaitUserFence function

Related-To: NEO-7931

Co-authored-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-04 13:51:37 +02:00
Mateusz Jablonski 26a2a2829e fix: don't create fake distance info in xe ioctl helper
populate multi tile engine info based on gt_id from xe engine info

Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-04 08:21:28 +02:00
Mateusz Jablonski 88c352c580 refactor: move query engine / memory info logic to ioctl helper
Related-To: NEO-7931
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-02 10:05:26 +02:00
Aravind Gopalakrishnan 1883161e1e fix: Add debug key to Force Tlb flush
Related-To: GSD-4457

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-05-01 17:52:22 +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
Fabian Zwolinski cbce863dc2 refactor: Rename member variables to camelCase 3/n
Additionally enable clang-tidy check for member variables

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-28 16:01:14 +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 5a5c20f99c fix: create separate heap for host and shared usm in 48-56b VA
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 10:09:38 +02:00
Kamil Kopryk 171e97e71a feature: introduce release helper
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-04-27 21:38:08 +02:00
Fabian Zwolinski e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +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
Milczarek, Slawomir 3ead7f6ac9 refactor: Simplify prefetch memory logic for kmd-migrated shared allocation
Related-To: NEO-7641

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-27 12:14:16 +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
Spruit, Neil R 364c2da9fb feature: Add Support for zeMemPutIpcHandle & zeMemGet IPC Handle converters
Related-To: LOCI-4172, LOCI-4305, LOCI-4306

- Create a new IPC Memory handle upon call to getIpcMemHandle if the
previous handle has been freed.
- Release the Ipc Memory Handle when zeMemPutIpcHandle is called.
- Create a new IPC Handle for tracking thru zeMemGetAllocProperties
when ze_external_memory_export_fd_t is used.
- Convert FD to opaque IPC handle and IPC Handle to FD.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-04-27 03:53:52 +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
Compute-Runtime-Validation 79800d235c Revert "feature: enable checking indirect access"
This reverts commit 6ec044563f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-26 04:28:13 +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
Mateusz Jablonski 06bd405e88 feature: add debug flag to control usage of heap extended for USM Host
Related-To: NEO-7665
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-25 15:39:49 +02:00
Fabian Zwolinski 2022592f3d Apply CamelCase for class and struct names 2/2
Additionally change .clang-tidy not to ignore struct names.

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-25 13:10:23 +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
Krzysztof Gibala 16db7cc890 fix: Add missing checks in multi gpu scenario
- Check allocation root device index during eviction
- Wait for and marked allocation only from the current root device index

Related-To: NEO-7920
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2023-04-24 23:26:28 +02:00
Dominik Dabek 6ec044563f feature: enable checking indirect access
Enable for zebin format but not CM kernels.
Use heuristic of simdSize == 1 to detect CM kernels.

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-04-24 14:57:50 +02:00
Milczarek, Slawomir bf778be99e [fix] zeCommandListAppendMemAdvise to clear preferred location correctly
The memadvise with preferred location for kmd-migrated shared allocation
is set to device associated with cmd list by default to migrate data
to lmem on non-atomic gpu page fault as well (for performance reasons).

Related-To: NEO-7252

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-24 14:51:49 +02:00
Maciej Bielski 09b111cc97 refactor: improve code reuse and readability
Extract distinct steps as dedicated functions, especially when the code
is duplicated. This eases analysis of the logic and highlights
differences between callers of a common code.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-04-24 12:30:01 +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
Kacper Nowak 83e9a148ca Fix: Unify fp16/fp32/fp64 flags across all platforms
Unify fp16/fp32/fp64 across all platforms. The capabilities indicated by
those flags now refer to both emulated and native-supported (HW) ones:

- Global/local atomic load: HW support on all platforms (handled by native
i16 atomic or) for FP16, FP32 and FP64.
- Global/local atomic store: HW support on all platforms (handled by
native i16 atomic exchange) for FP16, FP32 and FP64.
- Global/local atomic compare/exchange: HW support on all platforms
for FP32.
- Global/local atomic min/max: Emulation support on all platforms for
FP64, HW support on all platforms for FP32, HW support on XE+ platforms
and emulation support on all others for FP16.
- Global atomic add: HW support for PVC+ platforms, emulation support on
all other platforms for FP64, HW support on XE+ platforms and emulation
support on all other platforms for FP32.
- Local atomic add: Emulation on all platforms for both FP64 and FP32.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-7734
2023-04-20 15:03:39 +02:00
Cencelewska, Katarzyna 659109adc6 fix: do not add link engines on integrated gpu
- caps check is not needed when link engines are not available for
product

Related-To: NEO-7886
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-04-20 13:28:20 +02:00
Daria Hinz 2647efc23c feat: Add support for ip version value in ocloc
Ocloc supports passing hw ip version value to -device arg in
the form of major.minor.revision.
This change adds support for directly passed value as uint32_t as well.
Support added for single and fat binary.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7903
2023-04-20 13:20:11 +02:00
Maciej Plewka bab299ee78 Increment fenceValue only after successful bind operation
Related-To: NEO-7835

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-04-19 12:26:45 +02:00
Kulkarni, Ashwin Kumar 3213f96109 Disable context creation and HWS when NEO_L0_SYSMAN_NO_CONTEXT_MODE is set
Related-To: LOCI-4295

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-04-14 11:51:53 +02:00
Fabian Zwolinski 3fe0272381 Do not force Cooperative Context in Offline Debugging Mode
Related-To: NEO-7630
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-13 22:52:01 +02:00
Milczarek, Slawomir 0ff46562db [perf] Improve placement of KMD shared allocation in scenario with subdevice 1
Improves performance for benchmarks with KMD-migrated shared allocation
in scenarios with ZE_AFFINITY_MASK=0.1.

Related-To: NEO-7881

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-13 17:55:50 +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
Daria Hinz c3f4074f0a fix: Unification of aot config with hw ip version
In the case of mtl+ platforms, the returned config value
should equal the hardware ip version value.
This change fixes situations where some config has not been
added and in this case we returned an unknown value.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7738
2023-04-12 18:34:03 +02:00
Compute-Runtime-Validation a10c4f7920 Revert "feat: enable checking indirect access"
This reverts commit 392e6ab0a7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-04-12 06:46:02 +02:00