Commit Graph

251 Commits

Author SHA1 Message Date
Mateusz Hoppe e240dca7cd refactor: remove inactive code
- verifyDebugCapabilities() did not fail build when debug_env did not have
systemThreadSurfaceAddress defined

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-10-04 11:50:30 +02:00
Mateusz Hoppe 46b78812cc fix: use internal options when native binary is rebuilt from spirv
Resolves: NEO-12838

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-09-30 19:19:31 +02:00
Maciej Plewka 80f75ceace fix: submit dummy exec to pin memory during zeContextMakeMemoryResident call
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-09-23 14:43:59 +02:00
Filip Hazubski ebc19b4a70 feature: Add logic to disable bindless addressing via AIL
Add mockable Device functions to get ReleaseHelper and AILConfiguration.

Resolves: NEO-12699

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-09-18 13:49:51 +02:00
Bartosz Dunajski b8fb16c603 fix: initialize kernel members at the beginning
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-18 11:13:35 +02:00
Compute-Runtime-Validation d842f65cf1 Revert "fix: submit dummy exec to pin memory during zeContextMakeMemoryReside...
This reverts commit f9b87d53e6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-09-05 03:28:03 +02:00
Maciej Plewka f9b87d53e6 fix: submit dummy exec to pin memory during zeContextMakeMemoryResident call
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-11879
2024-09-04 14:07:29 +02:00
Mateusz Hoppe 37b7caa137 fix: correct program header generation for shared isa allocation
- when kernels share single allocation, LOAD address in program headers
should point to correct virtual address including kernel offset

Related-To: NEO-7788, GSD-9836

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-09-03 17:50:29 +02:00
Winston Zhang 0590b34cfa feature: refactor and rewrite setErrorDescription
Related-To: NEO-8379

Signed-off-by: Winston Zhang <winston.zhang@intel.com>
2024-08-21 17:26:25 +02:00
Bartosz Dunajski 5ccfd6f2be fix: add missing AlignLocalMemoryVaTo2MB flag support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-08-01 13:54:51 +02:00
Filip Hazubski 5ae2709e6e fix: Remove allow-zebin and enable-zebin compile options
Zebin is enabled by default.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-06-10 14:08:40 +02:00
Mateusz Hoppe 11667bd853 fix: write ISA memory once for simulation csr types
Related-To: NEO-11408

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-05-23 14:42:12 +02:00
Fabian Zwoliński 465330ee6f fix: add nullptr dereference check in module destroy
Related-To: GSD-9058
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-05-16 07:54:46 +02:00
Szymon Morek 9989829487 fix: call writeMemory after shared ISA transfer
Related-To: NEO-11408

If downloadAllocation happens before makeResident,
such transfer might become outdated (zeroed out).
This commit fixes that by writing memory immediately
to tbx.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-15 16:59:18 +02:00
Compute-Runtime-Validation de789ac7e5 Revert "performance: remove page size limit for sharing ISAs"
This reverts commit e7c036a91b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-05-12 09:00:32 +02:00
Szymon Morek e7c036a91b performance: remove page size limit for sharing ISAs
Related-To: NEO-9403

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-10 08:56:49 +02:00
Szymon Morek 10ed479b16 performance: share inter-module ISA allocations
Related-To: NEO-10258

Currently each module has it's own GA
for kernel ISA's. This change allows new modules to
reuse existing allocation.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2024-05-09 08:43:55 +02:00
Mateusz Jablonski 959333d9bf fix: respect number of tiles when getting total private memory size of module
Related-To: GSD-8374
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-04-23 17:33:15 +02:00
Jitendra Sharma 0d53b21d3c refactor: correct variable naming
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-04-11 11:12:56 +02:00
Zbigniew Zdanowicz b3be51fc35 refactor: add checker for stateless only kernels
Related-To: NEO-10381

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2024-03-21 21:54:55 +01:00
Michal Mrozek 0edb025cf7 performance: apply padding only for last kernel.
not needed for all kernels, only for last one.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2024-02-20 14:30:14 +01:00
Kamil Kopryk 9b7d54ef66 fix: fix exported function address for heapless mode in L0
Related-To: NEO-7621
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-02-08 09:45:42 +01:00
Fabian Zwolinski c51b656d2c fix: request instruction cache invalidation on module destroy
Invalidation is requested on both linux and windows,
on Csr's that used Isa allocation.

Related-To: NEO-10045
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2024-01-29 16:00:34 +01:00
Kamil Kopryk bf4cf57001 fix: fix exported function address when heapless mode is enabled in L0
Related-To: IGC-8472
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-01-24 17:12:21 +01:00
Maciej Bielski f7b3b21efe fix: update build log when program build fails
Regression fix.

Resolves: GSD-7621

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-01-22 17:35:29 +01:00
Mateusz Jablonski a6458433dc refactor: correct naming of enum class constants 9/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 10:36:25 +01:00
Mateusz Jablonski dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Mateusz Jablonski 8c90350f3c refactor: correct naming of enum class constants 5/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 10:06:02 +01:00
Mateusz Jablonski b182917d9d refactor: correct naming of allocation types
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 16:23:37 +01:00
Mateusz Jablonski c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Lu, Wenbin 37deaf1ae5 fix: serialize printf kernel accesses using device-wise locks
Related-To: LOCI-4114

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-11-27 10:42:51 +01:00
Mateusz Jablonski 914a1f980f fix: don't return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE from linking module
https://github.com/intel/compute-runtime/issues/692
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-21 13:38:20 +01:00
Kamil Kopryk 73bb139e17 refactor: add applyExtraInternalOptions function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-11-03 09:43:37 +01:00
Mateusz Hoppe 5a4fa180d6 feature: control bindless compilation mode based on release
- check releaseHelper support when selecting bindless mode, if not
disabled, prefer bindless mode in L0 API
- bindless mode can be forced with DebugVariable: UseBindlessMode

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-10-19 10:11:11 +02:00
Maciej Bielski 1bbc7a4396 fix: of the check if ISA is already copied to allocation
Fixes logic errors:
* When kernel code-sections' allocations are optimized (placed on
a single page) then don't go to outer `else` branch if the section for
a given kernel has already been copied.
* When optimization is not in place for a given module then also skip
kernel code section copying if it has been already done

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-10-13 16:38:40 +02:00
Maciej Bielski f553d9f76b fix: one transfer per kernel ISA allocation(s) page
If several kernel heaps are sharing the same page then use a temporary
buffer to collect all of them and transfer to memory in one shot.
Previously there were several transfers performed (one per kernel) and,
observably, they happened not to be immediately effective at times.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-10-05 18:29:26 +02:00
Mateusz Jablonski fc508212de refactor: pass big parameters as reference instead of by value
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-04 14:53:13 +02:00
Maciej Bielski 97e7cda912 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-21 13:55:45 +02:00
Compute-Runtime-Validation 913a926fd4 Revert "feature: Optimize intra-module kernel ISA allocations"
This reverts commit c348831470.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-09-19 14:16:05 +02:00
Maciej Bielski c348831470 feature: Optimize intra-module kernel ISA allocations
So far, there is a separate page allocated for each kernel's ISA within
`KernelImmutableData::initialize()`. Apparently the ISA blocks are often
much smaller than a 64k page, which leads to poor memory utilization and
was even observed to cause the device OOM error if a single module has
several keys.

Improve the situation by reusing the parent allocation (owned by the
module instance) for modules, which kernel ISAs can fit together within
a single 64k page. This improves the memory utilization on a single
module level.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-09-19 12:05:09 +02:00
Spruit, Neil R f901b26222 fix: Return Invalid Argument given the wrong module used in static link
Related-To: LOCI-4939

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-09-15 23:20:10 +02:00
Compute-Runtime-Validation 21a506b045 Revert "fix: serialize printf kernel accesses using device-wise locks"
This reverts commit 3d33366ff6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-24 19:29:14 +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
Lu, Wenbin 3d33366ff6 fix: serialize printf kernel accesses using device-wise locks
Related-To: LOCI-4114

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-08-22 14:57:08 +02:00
Maciej Bielski 93af2e9c62 refactor: split ModuleImp::initialize to facilitate testing
Extract submethods from the original method to ease mocks injection.

Related-To: NEO-7788
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-08-17 14:29:25 +02:00
Zhang, Winston 8962c95000 feature: zeDriverGetLastErrorDescription error messages (module)
When there is a PRINT_DEBUG_MESSAGE message in module that is
applicable to the user, it is now also set to
Driver::zeDriverGetLastErrorDescription.
ULTs are also added to verify that setErrorDescription successfully
stores the error message.

Related-To: LOCI-4653

Signed-off-by: Zhang, Winston <winston.zhang@intel.com>
2023-08-16 00:14:49 +02:00
Fabian Zwolinski 6fca8ee195 refactor: Remove SourceLevelDebugger
Removed:
- SourceLevelDebugger (with tests)
- DebuggerLibrary
- DebuggerLibraryRestore
- debuggerSupported field from hwInfo.capabilityTable
- HasSourceLevelDebuggerSupport matcher
- ExperimentalEnableSourceLevelDebugger debug var
- EnableMockSourceLevelDebugger debug var
- DebuggerOptDisable debug var
- lib_names.h.in file
- third_party/source_level_debugger/igfx_debug_interchange_types.h

Related-To: NEO-7213
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-08-10 11:14:02 +02:00
Mateusz Hoppe 30426d35c8 feature(zebin): dump zebin when building module from SPIRV
- Debug key DumpZEBin should dump zebin elf for modules created from
SPIRV format

Related-To: NEO-7895

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-31 10:23:47 +02:00
Spruit, Neil R 11c96559a9 fix: Use Symbols map to report exported symbols vs external functions
Related-To: LOCI-4578

- Report all symbols in the Symbols Map for a Module as the Exported
symbols instead of using the External Functions Program Info.
- Resolves the issue of reporting symbols for platforms that don't have
ZEBIN binaries by default.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-07-06 17:41:45 +02:00
Spruit, Neil R 907f41529c feature: zeModuleInspectLinkageExt to read Linkage of modules
Related-To: LOCI-2914

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-06-15 18:13:43 +02:00