Commit Graph

3939 Commits

Author SHA1 Message Date
Mateusz Jablonski
9b35ba5e50 feature: add experimental support for cl-gl sharing on Linux
based on 'clgl-fork' branch from https://github.com/kallaballa/compute-runtime

EGL headers taken from https://github.com/KhronosGroup/EGL-Registry
revision: 57b4876de0f33677ece92dd9de0ef105ce69139d

Related-To: NEO-3599

Fixes https://github.com/intel/compute-runtime/issues/166

Co-authored-by: Jacek Danecki <jacek.danecki@intel.com>
Co-authored-by: Amir Hassan <amir@viel-zu.org>

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-17 08:58:29 +01:00
Zbigniew Zdanowicz
bc4e540c33 [fix] unify heaps size programing
- share same code between csr and cmd container to get default heap size
- share handling of debug flag to change heap size
- share platform level surface heap size between csr and command list
- refactor heap size files
- put heap size constant and function into namespace
- command list surface heap size increased to 2MB for xehp+ to match csr
- command list increased surface heap size only for sba tracking
- sba tracking heap consumption increased due to different reset policy

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-17 08:34:06 +01:00
Igor Venevtsev
f57ff2913c Optimize small buffers allocator
- Do not wait for GPU completion on pool exhaust if allocs are in use,
allocate new pool instead
- Reuse existing pool if allocs are not in use

Related-To: NEO-7769

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2023-03-15 19:12:30 +01:00
Filip Hazubski
0bee81c0c0 refactor: Move isLinearStoragePreferred function from gfx to product helper
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-03-15 18:51:59 +01:00
Filip Hazubski
a23230ebcf refactor: Remove tiledImagesSupported value
The value is redundant and capabilityTable.supportsImages
can be used instead.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-03-15 15:48:30 +01:00
Dunajski, Bartosz
686790274d Disable OCL RelaxedOrdering if tag update is required
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-15 14:44:05 +01:00
Mateusz Hoppe
e62c5e25d5 refactor: change debugging enabled to debugging mode
Related-To: NEO-7630

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-15 13:41:41 +01:00
Mateusz Jablonski
db719b2acb refactor: rename function getExtensions->getDeviceExtensions
Related-To: NEO-7800
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-15 12:46:46 +01:00
Mateusz Jablonski
028e1bb1b6 fix ocloc: define extensions in one place
unify exposed device extensions between OCL and ocloc

Related-To: NEO-7800
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-15 11:14:46 +01:00
Lukasz Jobczyk
320deec53b Wait for barrier on every OCL split blitter
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-03-15 09:34:41 +01:00
Dunajski, Bartosz
477448c097 RelaxedOrdering dispatch for OCL 2/n
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-14 15:48:06 +01:00
Dunajski, Bartosz
15485fb1c8 Register CSR clients for OCL CommandQueues
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-13 18:29:14 +01:00
Dunajski, Bartosz
97a35debde RelaxedOrdering dispatch for OCL 1/n
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-13 17:37:12 +01:00
Filip Hazubski
3cfba5b73d refactor(cmake): check images support per platform instead of per core
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-03-13 16:14:39 +01:00
Zhenjie Pan
00b675643e fix: missed error handler of SubmissionStatus::FAILED
Related-To: NEO-7802

Signed-off-by: Pan Zhenjie <zhenjie.pan@intel.com>
2023-03-13 16:08:27 +01:00
Filip Hazubski
91ced4edcc fix: Correct SCS programming for CL_DEPTH format
Resolves: HSD-14018806608

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-03-13 10:48:28 +01:00
Zbigniew Zdanowicz
f3324964f6 [perf] initialize stream properties only once without further check
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-10 17:50:49 +01:00
Zbigniew Zdanowicz
24c8f089ed [perf] add state compute mode dirty flag to allow selective properties update
- full properties update is time intesive task and must be done only once
- selective update can be done after initial update
- dirty flag will allow to distinguish initial update is done

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-10 17:27:08 +01:00
Kamil Kopryk
5a99635232 Don't check addressing mode for gtpin surface
If gtpin is used, then don't check addressing mode
of the last explicit arg, which is
gtpin's surface.

Related-To: NEO-6075
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-10 16:01:24 +01:00
Cencelewska, Katarzyna
398c7b2d29 refactor, remove typo in struct name
change name of EncodeSempahore to EncodeSemaphore
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-10 15:44:25 +01:00
Mateusz Jablonski
89cd4bd4a5 refactor: move getters for device extension support to compiler product helper
isMatrixMultiplyAccumulateSupported
isBFloat16ConversionSupported

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-10 15:41:26 +01:00
Kamil Kopryk
fa8579602f refactor: rename product helper files n/n
Related-To: NEO-7703
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-10 13:24:38 +01:00
Cencelewska, Katarzyna
c274309d7b wa: add dummy blits before command MI_FLUSH_DW
to guarantee that all subblt got complete for previous copy
affect xe hpg

temporary changes under flag ForceDummyBlitWa

Related-To: NEO-7450

Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-09 10:40:35 +01:00
Dominik Dabek
69a16fd3ed feature: check indirect access for kernel
Do not make indirect allocations resident if kernel does not use
indirect access.
For both level zero and opencl.
Currently disabled by default, enable with debug flag
DetectIndirectAccessInKernel

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-03-08 16:58:26 +01:00
Mateusz Jablonski
553dd7f21f refactor: return thread per eu from compiler product helper
Related-To: NEO-7442
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-08 16:25:20 +01:00
Mateusz Hoppe
0c5264dfeb Ocloc - fix binary output filename with "-output_no_suffix"
- .bin extension should be added to produced binary file when
"-output_no_suffix" flag is passed

Related-To: NEO-7474

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-08 15:51:20 +01:00
Kamil Kopryk
67b14e2034 refactor: rename test product helper files
Related-To: NEO-7703
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-08 13:21:34 +01:00
Kamil Kopryk
01db7df52b refactor: rename raiiProductHelper file
Related-To: NEO-7703
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-08 13:02:54 +01:00
Spruit, Neil R
86e739e9dc feature: Relaxed Virtual Memory reservation with pStart
Related-To: LOCI-3871

- Relaxed the Virtual Memory Reservation to allow pStart and not fail if
the pStart value is not obtained.
- Moves checks on pStart to the user to check and determine if they want
to re-reserve or use the address allocated.
- Changed reserveGpuAddress to use unit64_t type to allow internal
address range structure assignment without cast.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-03-08 08:06:50 +01:00
Jaime Arteaga
55952d33df feature: Enable use KMD calls in prefetch APIs
If applications call Prefetch APIs, like
zeCommandListAppendMemoryPrefetch and
clEnqueueMigrateMemINTEL, then enable the use of KMD calls
by default.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-03-07 16:31:50 +01:00
Kacper Nowak
27636f7258 fix(gtpin/ocl): Pass debug zebin to gtpin
In order to unify behaviour between L0/OCL with GTPin,
OCL callbacks should return debug zebin (if instrumented binary is
zebin). This commit fixes currently exisitng issue with no debug data being
passed to GTPin if instrumented binary is zebin.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-03-07 15:35:42 +01:00
Kacper Nowak
efba242570 fix(zebin): Extend oneDNN WA for whole application context
When a dummy kernel "kernel void_(){}" is passed in sources - specific
for workloads with ngen backend - enforce fallback to CTNI for the whole
application context (mark the context as non-zebinary).

Related-To: NEO-7772
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-03-07 14:21:57 +01:00
Fabian Zwolinski
6c59953072 Add FP64 emulation support for ATS-M
This patch adds FP64 emulation support for ATS-M.
Introducing new environment variable - NEO_FP64_EMULATION - which provides
an option to allow the opt-in emulation of FP64.
When emulation is enabled, we pass -cl-fp64-gen-emu (ocl) /
-ze-fp64-gen-emu (L0) as an internal option to IGC.

Related-To: NEO-7611
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-03-07 14:21:01 +01:00
Cencelewska, Katarzyna
3e116ea378 refactor: use same paths when add command mi_semaphore_wait
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-07 10:35:26 +01:00
Cencelewska, Katarzyna
50da32ffb1 wa: add dummy blits before command MI_ARB_CHECK
to guarantee that all subblt got complete for previous copy
affect xe hpg

Related-To: NEO-7450

Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-07 10:21:05 +01:00
Mateusz Jablonski
2e872c1871 fix ocloc: don't fail when help parameter is passed to ocloc compile
https://github.com/intel/compute-runtime/issues/621

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-06 10:08:00 +01:00
Krystian Chmielewski
58d3f892a9 refactor(zebin): move files to seperate directory
* Moved zebin related files to zebin directory.
* Moved zebin related code to Zebin namespace.
* Separated zeInfo from zebin elf.
* Seperated zeInfo decoding from zebin decoder.
* Refactored populateKernelPayloadArgument function.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-03 21:48:19 +01:00
Maciej Plewka
52d322e738 Move barrier flush property from csr to cmdQueue
Related-To: NEO-6982, HSD-15010621906

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-03-03 14:33:53 +01:00
Compute-Runtime-Validation
84a7438ff2 Revert "refactor(zeInfo): move zeinfo to seperate file"
This reverts commit e3ce887662.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-03 11:56:52 +01:00
Dunajski, Bartosz
72ada8b41f Add missing pollForCompletion on clEnqueueVerifyMemoryINTEL
Related-To: NEO-7618

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-03 10:55:33 +01:00
Mateusz Hoppe
0b7817eecf feature: Experimental OCL debugging
- notify module create/destroy

Related-To: NEO-7075

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-02 15:59:15 +01:00
Krystian Chmielewski
e3ce887662 refactor(zeInfo): move zeinfo to seperate file
* Moved zebin related files to zebin directory.
* Separated zeInfo from zebin elf.
* Seperated zeInfo decoding from zebin decoder.
* Refactored populateKernelPayloadArgument function.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-02 12:46:56 +01:00
Krystian Chmielewski
5caf7f7290 feat(linker): allow use of local symbols
This commit adds support for handling local symbols.
* Added 2 fields to SymbolInfo - binding, and associated
instructions segment id.
* Simplified code for decoding elf symbols and relocations.
* Simplified code for patching instruction segments.
* Changed logic of decodeElfSymbolTableAndRelocations:
* Add every global symbol to symbol map.
* Add any local symbol used by relocation to symbol map.
* Changed logic of link:
* After performing relocations remove local symbols from map.
* Replaced UNRECOVERABLE_IF with returning error.
* Removed LocalSymbolInfo structure used before for local kernel jumps.
* Removed old tests.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-02 12:39:21 +01:00
Krystian Chmielewski
9f7f2318bd fix(ocloc): fallback to deprecated acronyms
When revision_id argument is passed fallback to using
initHardwareInfoForDeprecatedAcronyms.
* initHardwareInfoForProductConfig returns INVALID_DEVICE if device
acronym and revision id is passed.
* initHardwareInfoForDeprecatedAcronyms sets aot config revision
to revisionId.

Resolves: NEO-7738

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-02 11:43:34 +01:00
Mateusz Jablonski
bd32b21f7c refactor: add method to get hw config from CompilerProductHelper
Related-To: NEO-7622

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-02 08:25:50 +01:00
Kacper Kasper
4320fd6785 Fix LUID and node mask deviceInfo on Windows
Resolves: NEO-7761

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-03-01 08:30:03 +01:00
Kacper Kasper
aece8195eb Add support for cl_ext_float_atomics
Resolves: NEO-6596

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-02-28 10:26:48 +01:00
Mateusz Hoppe
c28f0c72ea test: fix cleanup order in ULTs
- program using device must be released before device is destroyed.
Reset program unique_ptr in fixtures before device fixture tearDown()
- reorder fixtures members to ensure correct order of destructors

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-02-27 18:23:16 +01:00
Mateusz Jablonski
5af9509877 Correct scope of WA for pipecontrol before nonpipelined state
- for DG2 platforms it is valid only for G10/G11/G12
- for MTL platforms it is valid only for 12.70.0 and 12.71.0

Additionally:
- setup default hw ip version for each platform
- merge dg2 specific product helper tests to single file

Related-To: HSD-14015808183, HSD-14015812625, HSD-14016015202
Related-To: HSD-14015812559, HSD-14015816823
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-24 09:27:12 +01:00
Compute-Runtime-Validation
4a369ad88d Revert "feature: check indirect access for kernel"
This reverts commit 075c96267d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-24 03:48:22 +01:00