Commit Graph

752 Commits

Author SHA1 Message Date
Chandio, Bibrak Qamar
2ba2970492 performance: Waiting on make resident Windows
Related-To: NEO-14056

No need to explicitly wait on Windows KMD during make resident as it has
a while loop that does it nevertheless. The KMD wait affects the API
overhead of zeCommandQueueExecuteCommandLists some platforms (MTL, and ARL).

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2025-04-01 00:12:45 +02:00
Maciej Plewka
a5e19330e9 fix: lock csr before locking residency controller in trim to budget path
Lock on csr is needed before lock on residency controller to prevent
incorrect lock order. Csr may be locked in waitOnCpu called from trimToBudget,
which may lead to deadlocks

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-03-28 16:18:20 +01:00
Szymon Morek
3fff3dd77b fix: set misaligned source memory 1-way coherent
Related-To: NEO-14443

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-28 14:16:45 +01:00
Lukasz Jobczyk
b43b23b6ed fix: Init wait utils after hwInfo init for both OS
Resolves: HSD-18041922513

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-27 16:45:22 +01:00
Szymon Morek
bb10290828 fix: make misaligned user memory 2-Way coherent
Related-To: NEO-9004

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-21 17:56:37 +01:00
Lukasz Jobczyk
6cb52f71b4 fix: Avoid mutex deadlock when switch ulls light ring buffer
Related-To: NEO-14406

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-19 11:47:40 +01:00
Michał Pryba
b9df406a46 refactor: remove minGen field and pregen12 platform cases
Related-To: NEO-12681
Signed-off-by: Michał Pryba <michal.pryba@intel.com>
2025-03-18 12:49:34 +01:00
Maciej Plewka
36fa6d66ae fix: lock csr in stopDirectSubmission if needed
Related-To: NEO-13875, NEO-14143, HSD-16026538384, HSD-16026780358
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2025-03-18 09:30:38 +01:00
Mateusz Hoppe
9d052cd8ee fix: pass rootDevice when creating secondary contexts
- fix initialization of gfxCoreHelper in drm and wddm

Related-To: NEO-7824, NEO-8171

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-03-17 16:03:27 +01:00
Tomasz Biernacik
afcbebef0b Revert "performance: configure Xe2 compression"
This reverts commit ec7821ed84.

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-03-14 11:25:20 +01:00
Compute-Runtime-Validation
0d5baa2c30 Revert "performance: Cache timestamps on CPU"
This reverts commit 83637404bf.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-03-12 04:41:46 +01:00
Mateusz Hoppe
a86105814d fix: default initialize allocated memory when memory is overwritten
Related-To: NEO-5093

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-03-11 15:32:33 +01:00
Lukasz Jobczyk
83637404bf performance: Cache timestamps on CPU
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-03-11 13:40:18 +01:00
Tomasz Biernacik
ec7821ed84 performance: configure Xe2 compression
Related-To: NEO-9421

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-03-10 15:40:00 +01:00
Szymon Morek
ff4da67979 fix: signal notify field before KMD wait
Related-To: NEO-13870

Currently all monitor fences are triggering
interrupt due to Notify Enable field.
With this change, such field is programmed
right before KMD wait.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-03-04 15:19:16 +01:00
Filip Hazubski
6b6202446b fix: Add asserts to ensure NonCopyable and NonMovable 3/n
Related-To: NEO-14068

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-18 17:16:03 +01:00
Filip Hazubski
4c7900008f refactor: Change wording from NonCopyableOrMovable to NonCopyableAndNonMovable
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2025-02-17 14:19:10 +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
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
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
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
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
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
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
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
Lukasz Jobczyk
09e23804dc refactor: Use timestamp types for events and in order nodes
Switching tagAllocation into UC causes regressions in non event
scenarios. It is no longer used as dependant type for semaphores.
Restoring previous GMM_USAGE settings for tag.
Marking events and in order nodes using only timestamp types as they
have proper GMM_USAGE settings already and can be both in smem and lmem.

Resolves: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-30 12:20:38 +01:00
Chandio, Bibrak Qamar
80dc4fb43a 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-01-28 22:04:37 +01:00
Lukasz Jobczyk
7eac78d253 refactor: Make semaphore dependant resources UC
Change for tagBuffer type on Windows. Timestamp types are already UC on all DC
flush platforms regardless of OS.

Resolves: NEO-13847

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-01-28 14:51:28 +01:00
Raiyan Latif
fcb584299f fix: Properly signal/wait on OpaqueWin32 Ext Semaphores
Related-To: NEO-11488

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2025-01-24 20:58:45 +01:00
Raiyan Latif
12e3204cab fix: Process OpaqueWin32 external semaphore properly
Related-To: NEO-11488

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2025-01-20 00:22:14 +01:00
Kamil Kopryk
99a7b5a4fb refactor: remove not needed volatile
Related-To: NEO-10767
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-01-16 00:43:10 +01:00
Compute-Runtime-Validation
242a31a024 Revert "refactor: remove excess cast to C-string and add const reference"
This reverts commit 34ee40393f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-15 02:43:40 +01:00
Semenov Herman (Семенов Герман)
34ee40393f refactor: remove excess cast to C-string and add const reference
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-14 13:25:31 +01:00
Mateusz Jablonski
6fd860eac4 performance: move std::string instead of copying it
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2025-01-14 13:03:42 +01:00
Mateusz Hoppe
3e9f1d0730 refactor: add debug message about invalid driver path
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2025-01-09 18:30:00 +01:00
Raiyan Latif
b8157a2547 fix: Fix ULTs & signal path in External Semaphore
- Temporarily disables Multi-Threaded ULTs, to be
re-enabled in a separate dedicated test binary

Related-To: NEO-11488

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2025-01-09 07:40:16 +01:00
Compute-Runtime-Validation
58707e0cf7 Revert "refactor: migration to std::make_unique C++17"
This reverts commit 4cf685cb7d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-01-09 01:41:36 +01:00
Semenov Herman (Семенов Герман)
4cf685cb7d refactor: migration to std::make_unique C++17
Signed-off-by: Semenov Herman (Семенов Герман) <GermanAizek@yandex.ru>
2025-01-08 17:20:00 +01:00
Latif, Raiyan
3122ce963e fix: Fix wait path in Experimental External Semaphore
Related-To: NEO-11488

Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
2025-01-06 04:05:59 +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
Raiyan Latif
06c94d47f9 feature: Add External Semaphore experimental [3/N]
Related-To: NEO-11488

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2024-12-18 05:29:33 +01:00
Filip Hazubski
a0cc124b2e performance: Pass RootDeviceIndicesContainer by reference
Additionally pass std::map by reference in UsmMemAllocPoolsManager c-tor.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-12-17 14:18:30 +01:00
Lukasz Jobczyk
c2093990d4 fix: Flush monitor fence only to context where needed
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-11 10:06:43 +01:00
Fabian Zwoliński
d2ce3badfc fix: bindlessHeapsHelper handle unavailable external heap
This PR handles the situation in which a component
has reserved a front window space for itself in the external heap,
so that the Compute Runtime cannot access this area.

In such a situation, we perform the following steps:
1. reserve 4GB chunk in heapStandard
2. split our chunk into 2 parts: heapFrontWindow, heapRegular
3. from this point on, map all linearStream allocations in reserved 4GB
chunk

Patch applies to Windows and WSL.
Patch only applies when the bindless global allocator is enabled.

Related-To: HSD-16025889919
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-12-05 14:18:01 +01:00
Chandio, Bibrak Qamar
ab2e831a4a fix: zeDeviceGetGlobalTimestamp to use submisison
Related-To: GSD-10253, GSD-9467, GSD-9381, NEO-11908

When EnableGlobalTimestampViaSubmission is set then
zeDeviceGetGlobalTimestamp uses immediate cmd submission
method to get GPU time.

Signed-off-by: Chandio, Bibrak Qamar <bibrak.qamar.chandio@intel.com>
2024-12-04 19:10:07 +01:00
Lukasz Jobczyk
d40a804bca performance: Allocate by KMD on BMG
Related-To: NEO-10526

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-12-04 14:41:25 +01:00
Szymon Morek
d5e5c8e59e fix: call flushMonitorFence on BCS CSR
Related-To: NEO-12477

Also, make sure that global fence is always resident

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-12-03 12:48:54 +01:00
Compute-Runtime-Validation
f5cda5ba53 Revert "fix: call flushMonitorFence on BCS CSR"
This reverts commit fc8aa8246b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-11-30 22:31:30 +01:00