- add parsing Intel GT notes from elf when unpacking binary
- set indirectAccessBufferMajorVersion with correct value
Related-To: NEO-15211, IGC-12385
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- add parsing Intel GT notes from elf when unpacking binary
- set indirectAccessBufferMajorVersion with correct value
Related-To: NEO-15211, IGC-12385
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- add parsing Intel GT notes from elf when unpacking binary
- set indirectAccessBufferMajorVersion with correct value
Related-To: NEO-15211, IGC-12385
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
- printf_buffer argument may not be present when indirect access buffer
version==2
- deduce usesPrintf based on .const.data.string presence and required
iab for those cases
Related-To: NEO-15211, IGC-12385
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This is prep work for the future implementation of pooling these allocations.
Related-To: NEO-12287
Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
- disable optimization with compiler internal option when env is set to
zero
Related-To: NEO-15378, GSD-10884
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
Pass hwInfo to isHeaplessModeEnabled and isForceBindlessRequired functions.
Related-To: NEO-14526
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
Read indirect detection version intel compat notes from zebin.
This is to prepare for enabling indirect access optimization in AOT
built kernels.
Related-To: NEO-7712
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
when flag RebuildPrecompiledKernels set and call clCreateProgramWithBinary
skip rebuild if ir binary not available
Resolves: HSD-18035219734
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
- 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>
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075
Ngen binaries contain stateful information, however they are
not used in isa on Pvc. Therefore, we can just ignore them.
- set by default flag ZebinIgnoreIcbeVersion to true
- for zebin icbe version check is only inside flag
- only when use patchtoken then check icbe version is mandatory
Resolves: NEO-7904
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
in most cases we need to iterate over engines associated to single root device
Related-To: NEO-7925
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
Changed -cl-intel-allow-zebin to -cl-intel-enable-zebin only for
API options.
Related-To: NEO-7801
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
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>
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>
Due to the mixed usage of `std::string` objects and C-strings, null terminator
characters sometimes propagate into possible `program::updateBuildLog()`
inputs. In particular, `TranslationOutput::frontendCompilerLog` and
`::backendCompilerLog` get set this way within the `CompilerInterface::build()`
API implementation.
This becomes an issue whenever each of CL -> IR and IR -> ISA compilation steps
emits their warnings and/or errors:
`clGetProgramBuildInfo(..., CL_PROGRAM_BUILD_LOG, ...)` also relies on
`std::string` to C-string conversion, so the output is trimmed at the first
null terminator, i.e. the BE part of the build log simply gets lost.
The change handles possible null terminators within `program::updateBuildLog()`
and adds relevant regression tests.
Related-To: IGC-6509
Signed-off-by: Artem Gindinson <artem.gindinson@intel.com>