Commit Graph

6564 Commits

Author SHA1 Message Date
Jack Myers
7d4e70a25b fix: tbx page fault manager hang issue
- Updated `isAllocTbxFaultable` to exclude `gpuTimestampDeviceBuffer` from being
faultable.
- Replaced `SpinLock` with `RecursiveSpinLock` in `CpuPageFaultManager` and
`TbxPageFaultManager` to allow recursive locking.
- Added unit tests to verify the correct handling of `gpuTimestampDeviceBuffer`
in `TbxCommandStreamTests`.

Related-To: NEO-13748
Signed-off-by: Jack Myers <jack.myers@intel.com>
2025-02-12 02:19:37 +01:00
Jaroslaw Warchulski
9732653019 performance: reuse usm allocations with similar requested size
Resolves: NEO-14009
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-02-11 10:50:27 +01:00
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
Brandon Yates
62b30fa72c feature: Enable page faults for xe driver with debugger on
Related-to: NEO-10134

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-02-10 22:25:19 +01:00
Kamil Kopryk
03b56dc919 fix: untrusted input
Do not read an unlimited size of environment variables.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-02-10 14:54:03 +01:00
Chandio, Bibrak Qamar
7149743162 fix: Set vmbind user fence when makeMemoryResident
Related-To: NEO-11977, GSD-10293

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-02-10 14:20:09 +01:00
Bartosz Dunajski
18d7a22861 refactor: pass increment address and value to dispatch params
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-02-10 14:04:34 +01:00
Dominik Dabek
b987877712 fix: remove patchtoken fallback
Related-To: NEO-14028

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-02-10 12:29:45 +01:00
Dominik Dabek
e2d317aaee performance: tweak usm reuse cleaner
Cleaner thread will run every 15ms instead of 2s.
Allocations will be held for at least 10s.
If deferred deleter has elements to release, will skip cleaning cache.
Will clean only 1 allocation per cache, per cleaning run.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-02-10 12:18:13 +01:00
Slawomir Milczarek
cdc3b477c9 build: Add missing header to system calls wrapper
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-02-10 11:42:40 +01:00
Szymon Morek
844a934c15 fix: Add debug flag to enable dummy pages
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-07 20:25:49 +01:00
Slawomir Milczarek
354064a539 refactor: Extend wrapper for system calls with mkfifo command
Related-To: NEO-12952

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-02-07 18:49:36 +01:00
Bartosz Dunajski
f887e25a79 feature: dont reset aggregated CB Event in-order state on append
Related-To: NEO-13971

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-02-07 16:55:18 +01:00
Maciej Plewka
5ef1ff574b fix: Don't check aux capable in case of MSAA surface on xe2 and later
Related-To: NEO-13290
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-02-07 16:47:33 +01:00
Fabian Zwoliński
1eb8e0efd9 fix: configure small buffers params based on productHelper
Refactor buffer pool allocator to support configurable
SmallBuffersParams based on product helper capabilities.

This patch enables setting custom pool
parameters instead of using fixed static values.

For devices with 2MB local memory alignment enabled
(is2MBLocalMemAlignmentEnabled),
use larger pool configuration:
- Pool size: 16MB (up from 2MB)
- Threshold: 2MB (up from 1MB)
- Alignment: 64KB (unchanged)
- Starting offset: 64KB (unchanged)

This improves memory utilization for devices supporting larger memory
alignments
while maintaining original parameters for other devices.

Key changes:
- Moved params from static template to instance member
- Added SmallBuffersParams struct with default/large configs
- Added constructor and setter methods for params configuration

Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-02-07 12:01:23 +01:00
Bartosz Dunajski
56b1468b58 feature: increment value for aggregated CB Event support [1/n]
Related-To: NEO-13971

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-02-07 09:11:48 +01:00
Mateusz Hoppe
1877e66bc8 feature: add mechanism to extend cmdlist launch params
Related-To: NEO-13954

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-06 22:05:15 +01:00
Mateusz Hoppe
05977f6158 feature: add getMaxLocalSubRegionSize() to product helper
Related-To: NEO-13954

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-06 15:20:34 +01:00
Andrzej Koska
d0871e0e37 fix: Fix copying with blitter
Related-To: NEO-12134, NEO-13874, NEO-14002

Thanks to this change we avoid programming y1 offset for 2D surface
above the maximum allowable value, i.e. 16 kb for blitter for BMG

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2025-02-06 14:11:23 +01:00
Michał Pryba
9119a1e802 refactor: adjust file names after pre-gen12 removal 6/n
Related-To: NEO-12681
Signed-off-by: Michał Pryba <michal.pryba@intel.com>
2025-02-06 14:00:01 +01:00
Michał Pryba
2cdd9f46cd refactor: adjust file names after pre-gen12 removal 5/n
Related-To: NEO-12681
Signed-off-by: Michał Pryba <michal.pryba@intel.com>
2025-02-06 08:24:40 +01:00
Compute-Runtime-Validation
5d3a914849 Revert "fix: Fix copying with blitter"
This reverts commit efcbd3875b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-06 02:14:19 +01:00
Jaroslaw Warchulski
f07fa90483 fix: set correct allocation size in freeSVMAlloc
Resolves: GSD-10621
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2025-02-05 20:10:43 +01:00
Brandon Yates
f7e63ba0d0 feature: Add support for optional PF enable flag for exec queue create
Related-to: NEO-8306

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-02-05 19:24:01 +01:00
Mateusz Jablonski
81227cedd1 feature: enable WMTP on PTL
Related-To: NEO-13706
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-02-05 16:59:23 +01:00
Michał Pryba
3c027cfedc refactor: adjust file names after pre-gen12 removal 4/n
Related-To: NEO-12681
Signed-off-by: Michał Pryba <michal.pryba@intel.com>
2025-02-05 15:42:32 +01:00
Kamil Kopryk
b8504913e3 fix: allow for image array type if array size is 1 for Xe2 and later
This commit enabled the use of the array image type with array size 1
from Xe2.
Additinally, it removes two incorrect unit tests, as array size of 0 is not
correct with the OpenCL specification.

Related-To: NEO-13976
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-02-05 13:50:05 +01:00
Szymon Morek
b11322332c performance: enable staging write for cl buffers
Related-To: NEO-13529

Also, add size threshold on iGPU on Linux,
and disable staging if imported host ptr could
be reused

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-02-05 09:41:17 +01:00
Andrzej Koska
efcbd3875b fix: Fix copying with blitter
Related-To: NEO-12134, NEO-13874

Thanks to this change we avoid programming y1 offset for 2D surface
above the maximum allowable value, i.e. 16 kb for blitter for BMG

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2025-02-04 19:07:50 +01:00
Michał Pryba
83daa48bb3 refactor: adjust file names after pre-gen12 removal 3/n
Related-To: NEO-12681
Signed-off-by: Michał Pryba <michal.pryba@intel.com>
2025-02-04 16:59:31 +01:00
Maciej Bielski
971b7c27a2 fix: enable usm compression on linux
Related-To: NEO-12056
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-02-04 13:09:04 +01:00
Slawomir Milczarek
733855e9d9 refactor: Add const suffix
Related-To: NEO-12952

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2025-02-04 12:35:21 +01:00
Chodor, Jaroslaw
a65d4da88b refactor: prevent copy/move on KernelDesc and ZebinExecEnv
Signed-off-by: Chodor, Jaroslaw <jaroslaw.chodor@intel.com>
2025-02-04 11:30:13 +01:00
Mateusz Hoppe
6e35d055f2 feature: make contextGroupSize dependent on number of processes
Related-To: NEO-12952

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-02-03 18:13:33 +01:00
Michał Pryba
75bc74089b refactor: adjust file names after pre-gen12 removal 2/3
Related-To: NEO-12681
Signed-off-by: Michał Pryba <michal.pryba@intel.com>
2025-02-03 15:31:51 +01:00
Bartosz Dunajski
dd1e85a3d4 fix: bcs mem fill pattern alignment
Related-To: NEO-13928

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-02-03 14:43:04 +01:00
Bellekallu Rajkiran
3bef9f886a fix: Crash on over memory allocation
- Add defer backing flag to gem create ioctl
- Make memory resident before lock

Related-To: NEO-13403

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2025-02-03 14:29: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
Maciej Plewka
aace15d6bc fix: remove msaa w/a for xe3
Related-To: NEO-13290, NEO-12587
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-02-03 10:38:01 +01:00
shubham kumar
f2b48b97d2 refactor: Prework to get sampling unit through ioctl query on xe
Related-To: NEO-13777

Signed-off-by: shubham kumar <shubham.kumar@intel.com>
2025-02-03 10:37:46 +01:00
Compute-Runtime-Validation
99d4e6d054 Revert "performance: don't wait immediately after VmBind"
This reverts commit 09118d2011.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-02-02 18:00:28 +01:00
Fabian Zwoliński
7e9c358a73 fix: apply 2MB alignment to large local memory image allocations
In this patch, we align up the allocation size to 2MB for all
image allocations >= 2MB located in local memory.
2MB alignment support is defined by function:
`is2MBLocalMemAlignmentEnabled`

Related-To: NEO-12287

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-01-31 14:58:24 +01:00
Francois Dugast
f91cde2a5b fix: invalid includes and missing rdtsc() on ARM
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
2025-01-31 13:05:06 +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
Compute-Runtime-Validation
d23249b061 Revert "fix: Set vmbind user fence when makeMemoryResident"
This reverts commit 80dc4fb43a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-31 11:36:29 +01:00
Brandon Yates
635f69e54a fix: Configure scratch pages for debugger
DG2 requires scratch pages on for debugger. Other platforms do not.

Related-to: NEO-13883

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-31 06:49:49 +01:00
Brandon Yates
106e8be9a9 fix: Don't abort application due to gpu fault when debugging is enabled
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2025-01-30 23:37:50 +01:00
Filip Hazubski
c306c457db fix: Add BMG device ids
Add following device ids: 0xE210, 0xE215, 0xE216

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-01-30 22:56:38 +01:00
Fabian Zwoliński
7918b44a94 fix: apply 2MB alignment to large local memory allocations
In this patch, we align up the allocation size to 2MB for all
allocations >= 2MB located in local memory.
2MB alignment support is defined by function:
`is2MBLocalMemAlignmentEnabled`

Related-To: NEO-12287

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2025-01-30 22:09:39 +01:00
Bartosz Dunajski
4846fbe410 refactor: unify blit memory fill methods and pass BlitProperties 2
Related-To: NEO-13003

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2025-01-30 20:16:10 +01:00