Commit Graph

774 Commits

Author SHA1 Message Date
Lukasz Jobczyk a0f683e42b fix: Move evict after unlock to wddm layer
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-27 10:52:23 +02:00
Maciej Bielski 0f8ee57f98 feature: add NEO_LOCAL_MEMORY_ALLOCATION_MODE
Allow the application to force storageInfo.localOnly and get the
out-of-memory returned if not possible.

This is a windows-only feature supported on discrete platforms.

Related-To: NEO-13428
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-05-20 14:15:17 +02:00
Compute-Runtime-Validation 0a096f1d50 Revert "fix: propagate error createInternalHandle wddm"
This reverts commit eeddd779f0.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-05-16 02:41:16 +02:00
Dominik Dabek eeddd779f0 fix: propagate error createInternalHandle wddm
Unify with linux implementation, return -1 on error and 0 on success.

Related-To: NEO-6893

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2025-05-15 15:52:37 +02:00
Maciej Bielski 6e54911cdd fix: do not evict explicitly resident allocations
Related-To: NEO-13428
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2025-05-15 08:50:58 +02:00
Lukasz Jobczyk 1d1414febc refactor: remove unused dc flush mitigation
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-09 08:26:26 +02:00
Szymon Morek 6ae43123f6 fix: correct usages of ULLS-related resources
Related-To: NEO-14360

Current gmm usage type of these resources is causing
them to be cached, which is incorrect.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2025-05-08 12:12:45 +02:00
Michal Mrozek afdc04975f refactor: remove ftrSvm variable
- it is true on all platforms.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2025-05-07 16:16:42 +02:00
Krzysztof Sprzaczkowski de72e91269 feature: Native GPU fence synchronization object implementation
Related-To: NEO-10811
Signed-off-by: Krzysztof Sprzaczkowski <krzysztof.sprzaczkowski@intel.com>
2025-05-07 11:00:34 +02:00
Lukasz Jobczyk ac7bd757a6 refactor: deallocate via gmm
Related-To: NEO-13051

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-05-06 18:12:46 +02:00
Raiyan Latif ee4be92cc1 feature: Add TimelineWin32 External Semaphore support
Related-To: NEO-14397

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2025-05-01 18:51:58 +02:00
Lukasz Jobczyk c1df81c9be refactor: Simplify handles destroy
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-24 11:13:18 +02:00
Compute-Runtime-Validation d28fcdb55b Revert "refactor: Simplify handles destroy"
This reverts commit 8776bdba2f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-04-24 05:51:18 +02:00
Lukasz Jobczyk 8776bdba2f refactor: Simplify handles destroy
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-23 14:30:37 +02:00
Lukasz Jobczyk 53f0832614 fix: Register shared handle size on windows
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-23 13:00:27 +02:00
Lukasz Jobczyk d510f742da fix: Pass Deallocate2 callback to gmm
Resolves: HSD-18041541320

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-22 12:08:56 +02:00
Oskar Hubert Weber 1816c8eac4 fix: avoid joining thread in deferred deleter
Join thread in DllMain (which we are not aware of)
can result in hang occurring in DeferredDeleter, if the library is
freed before FreeLibraryAndExitThread call from within the worker thread,
the thread gets stuck, thus the main thread is stuck on worker->join().

Related-To: NEO-14121

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2025-04-17 16:17:42 +02:00
Compute-Runtime-Validation 331b515478 Revert "fix: avoid joining thread in deferred deleter"
This reverts commit 38a3667304.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2025-04-16 15:18:27 +02:00
Oskar Hubert Weber 38a3667304 fix: avoid joining thread in deferred deleter
Join thread in DllMain (which we are not aware of)
can result in hang occurring in DeferredDeleter, if the library is
freed before FreeLibraryAndExitThread call from within the worker thread,
the thread gets stuck, thus the main thread is stuck on worker->join().

Related-To: NEO-14121

Signed-off-by: Oskar Hubert Weber <oskar.hubert.weber@intel.com>
2025-04-16 10:02:10 +02:00
Lukasz Jobczyk 06e375fdc6 refactor: Add debug break for partial make resident
Resolves: NEO-13711

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2025-04-15 14:59:28 +02:00
Tomasz Biernacik 194c3058b8 performance: change usage for ringBuffer on integrated devices
Related-To: NEO-9421

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-04-14 12:25:38 +02:00
Tomasz Biernacik 18435df04c fix: unify deferring MOCS to PAT
Related-To: NEO-14643

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2025-04-11 20:10:25 +02:00
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