Commit Graph

170 Commits

Author SHA1 Message Date
Kamil Kopryk
3c6e7e12be refactor: Remove global CompilerProductHelper gettter 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-23 17:04:27 +01:00
Neil R Spruit
272254569d Fix zeModuleGetGlobalPointer Error Return
Related-To: LOCI-3885

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-01-18 01:58:12 +01:00
Warchulski, Jaroslaw
3d59dce80c Cleanup includes 27
Cleaned up files:
opencl/source/command_queue/command_queue.h
shared/source/built_ins/registry/built_ins_registry.h
shared/source/kernel/kernel_descriptor.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-11 16:10:28 +01:00
Mateusz Hoppe
ee499d689b fix(zebin): fix module load/unload events while debugging
- do not trigger incorrect / spurious events from internal modules
for debugger
- do not register Elf for internal modules

Related-To: NEO-7605

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-01-04 19:12:30 +01:00
Mateusz Jablonski
e246e75b70 refactor: add method to get Compiler Product Helper from root device environment
Reduce usage of compiler product helper global getter

Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-03 11:32:27 +01:00
Warchulski, Jaroslaw
0eac749fcc Cleanup includes 19
Cleaned up files:
opencl/source/api/cl_types.h
shared/source/compiler_interface/external_functions.h
shared/source/compiler_interface/linker.h
shared/source/device_binary_format/elf/elf.h
shared/source/helpers/preamble.h
shared/source/memory_manager/definitions/storage_info.h
shared/source/memory_manager/memory_manager.h
shared/source/memory_manager/os_agnostic_memory_manager.h
shared/source/program/program_info.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-03 11:02:05 +01:00
Warchulski, Jaroslaw
a2fe929f0c Cleanup includes 18
Cleaned up files:
shared/source/command_stream/command_stream_receiver_hw.h
shared/source/compiler_interface/compiler_interface.h
shared/source/direct_submission/direct_submission_hw.h
shared/source/helpers/dirty_state_helpers.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-02 13:28:29 +01:00
Kamil Kopryk
234573399d Refactor: pass gfxCoreHelper to decodeSingleDeviceBinary
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-02 08:17:46 +01:00
Mateusz Hoppe
c52f966fdf fix(zebin): register zebin's debug elf only once
- minimize memory use
- enhance performance of debug

Resolves: NEO-7585


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-12-27 15:49:05 +01:00
Warchulski, Jaroslaw
f275eea6ec Cleanup includes 14
Cleaned up files:
shared/source/device/device.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-12-23 10:46:34 +01:00
Kamil Kopryk
16a238895a Refactor: don't use global ProductHelper getter in L0 2/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-22 11:43:26 +01:00
Kamil Kopryk
a9121f88c4 fix(zebin): fallback to patchtokens when vme is used
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-22 10:59:56 +01:00
Compute-Runtime-Validation
429755e0f4 Revert "Check for context in appendMemoryCopy"
This reverts commit 32bab85f7e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-21 05:38:37 +01:00
Jaime Arteaga
32bab85f7e Check for context in appendMemoryCopy
Confirm the allocations used in an appendMemoryCopy operation
belong to the same context as the list.

Related-To: LOCI-1996
Resolves: NEO-6162

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-12-20 00:13:36 +01:00
Mateusz Jablonski
8f1bdb220f Pass root device environment to get TargetDevice for IGC
Related-To: NEO-6853
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-12-19 19:29:50 +01:00
Kamil Kopryk
e63ce337a4 Disable Zebin on gen12lp platforms with debugger active and spirv
Related-To: NEO-7328
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 17:03:11 +01:00
Kamil Kopryk
232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +01:00
Kamil Kopryk
1961842601 Disable Zebin on pre-Gen12 platforms with debugger active and spirv
Related-To: NEO-7328
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-08 14:14:47 +01:00
Spruit, Neil R
d75eccc026 Report Unsupported for Symbol features without proper flags for SPIRv
- Report Unsupported Feature given a SPIRv built module without correct
compiler flags for dynamic linking, global pointer, & function pointer
support.

- Given a preBuilt binary, symbol support is assumed to be handled by
the user.

Related-To: LOCI-3387

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-12-06 08:13:19 +01:00
Kamil Kopryk
785b9eeece Rename CompilerHwInfoConfig -> CompilerProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-05 11:25:49 +01:00
Mateusz Jablonski
2bfdcb18d3 Refactor L0 ULT: move module fixture code to cpp file
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-25 17:38:07 +01:00
Dunajski, Bartosz
5266a95c03 Debug flag to control auto grf mode
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-10 19:25:58 +01:00
Kacper Nowak
481cf36ad1 Add recompilation warning to debug messages
In case of recompilation from IR, apart from updating build log,
print debug message with recompilation warning.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-11-09 14:19:54 +01:00
Luzynski, Sebastian Jozef
91c69e0fe7 Patch global variables and constants once
This change replaces mechanism of patching global constants and
variables in kernel per relocation to patching them only once. This
would improve linking time performance for kernels with multiple global
symbols.

Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
2022-11-03 17:45:09 +01:00
Kacper Nowak
2285772c7e Disable zebin on pre-Gen12 platforms when debugger is active
On pre-Gen12 platform we use igfxdcd kernel module for debugging, which
does not support zebinary format.
- When platform is pre-Gen12 an and debugger is
attached, if binary format is zebin and it's not a builtin:
- If SPIR-V is available - force rebuild with zebin disabled
- Otherwise, return an error.
- Minor refactor: extend check for ir presence for each case of
rebuilt in OCL.

Related-To: NEO-7328
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-10-13 17:27:48 +02:00
Fabian Zwolinski
7953d15826 Print warning when kernel uses too much SLM
Instead of just returning proper error code in case of exceeding
available Shared Local Memory size we also want to print error message
to make debugging easier.

Related-To: NEO-7280
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-10-07 19:06:19 +02:00
Jaime Arteaga
f349343100 Enable l0_cache in L0
Name is different from the one used by opencl.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-10-07 07:01:54 +02:00
Fabian Zwolinski
1142404c0c Add error handling when kernel uses too much SLM
API Functions reporting error:
- clCreateKernel
- clEnqueueNDRangeKernel
- zeKernelCreate
- zeCommandListAppendLaunchKernel
- zeKernelSuggestGroupSize

Related-To: NEO-7280
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-10-06 16:45:42 +02:00
Neil R Spruit
8e2fcc9137 Allow init and execution of L0 without IGC unless it is needed
- Allow usage of L0 with IGC unless Debugger, Mid Thread Premption, or
  SPIRvs need to be compiled from modules. Native Binaries that are
already compiled for GENs will be usable.

Related-To: LOCI-3430

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-10-06 00:35:21 +02:00
Dunajski, Bartosz
ad2d3d0289 Remove not used method
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-05 17:10:51 +02:00
Compute-Runtime-Validation
7aecea534f Revert "Default L0 Function & Global Symbols with fallback build for SPIRv"
This reverts commit 88b7a4f82d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-23 07:07:04 +02:00
Dunajski, Bartosz
98db084b59 Debug flag to append api module build options
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-22 16:03:58 +02:00
Dunajski, Bartosz
b2001bf265 L0: GRF mode debug flags support
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-22 15:27:31 +02:00
Krystian Chmielewski
311b0b0020 Create input for linker during zebin decoding
Remove code duplication. Parsing zebin elf for relocations and symbols
is moved to decodeSingleDeviceBinary.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-22 11:12:39 +02:00
Neil R Spruit
88b7a4f82d Default L0 Function & Global Symbols with fallback build for SPIRv
- Enabled default setting of Program & Global Symbols to be generated by
IGC when building L0 Modules with the ability to fallback to previous
behavior thru build failure checks.

- Enabled selective disable of default program or global symbol
generation thru debug variables.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-09-22 02:40:51 +02:00
Zbigniew Zdanowicz
072686f283 Replace function term with kernel class specific names
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-12 12:00:24 +02:00
Dominik Dabek
7fa9cfd7fc Add missing cache policy isDebuggerActive values
Cache policy was not kept as WBP in some cases with debugger

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-09-09 10:38:41 +02:00
Kacper Nowak
710c8cf5ef Linker: add support for symbols with local binding
This commits add support for relocating
symbols with local binding and of functional type
(STB_LOCAL, STT_FUNC).

Related-To: NEO-7299
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-09-08 14:50:29 +02:00
Dunajski, Bartosz
16d9000429 Add option to change GRF mode
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-06 13:00:17 +02:00
Compute-Runtime-Validation
c3fffcc8c0 Revert "Default L0 Function & Global Symbols with fallback build"
This reverts commit 2157f15594.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-03 07:08:52 +02:00
Neil R Spruit
2157f15594 Default L0 Function & Global Symbols with fallback build
- Enabled default setting of Program & Global Symbols to be generated by
IGC when building L0 Modules with the ability to fallback to previous
behavior thru build failure checks.

- Enabled selective disable of default program or global symbol
generation thru debug variables.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-09-02 19:16:40 +02:00
Compute-Runtime-Validation
8bff54c773 Revert "Remove Support for reading a function pointer of a kernel"
This reverts commit 8d5792abf6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-02 12:02:29 +02:00
Neil R Spruit
8d5792abf6 Remove Support for reading a function pointer of a kernel
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-09-01 07:58:59 +02:00
Dominik Dabek
8cc0177f1c Change DG2 l1 cache policy to WB
With compiler LSC WAs this gives better performance.

If debugger is active, policy will not be changed ie.
will be WBP.

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-08-31 14:31:23 +02:00
Mateusz Hoppe
ee8af85341 L0Debug fixes for multi tile devices
- notify module allocation for (sub)device used to create module,
makeResident called within (sub)device contexts
- access ISA with vmHandle specific to device index

Related-To: NEO-5784

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-31 10:58:28 +02:00
Patryk Wrobel
de3e5d4d69 Improve files of SipKernel class
This change:
- removes redundant copying of std::vector
- removes unneeded includes from the header file
and introduces usage of forward declaration

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-08-29 15:18:11 +02:00
Compute-Runtime-Validation
2621460e80 Revert "Change DG2 l1 cache policy to WB"
This reverts commit a820e73dd7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-08-27 08:04:19 +02:00
Dominik Dabek
a820e73dd7 Change DG2 l1 cache policy to WB
With compiler LSC WAs this gives better performance.

If debugger is active, policy will not be changed ie.
will be WBP.

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-08-26 12:58:45 +02:00
Igor Venevtsev
d40173e47a L0Debug Win: Always generate module create/destroy events
We have to always generate module create/destroy events to give
debugger a chance to insert bp, read/write debuggee memory  etc
even there is no debug data was generated. In this case ELF will not be
reported to debugger, just ISA GpuVA

Related-To: NEO-6723

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-08-24 14:58:30 +02:00
Mateusz Jablonski
7a586111f2 Don't program implicit args for builtin kernels
Related-To: HSD-18023305082

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-18 20:10:10 +02:00