Commit Graph

215 Commits

Author SHA1 Message Date
Mateusz Jablonski
91b26277a4 feature: add method to adjust hw info for igc
Related-To: NEO-8203

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-04 11:58:13 +02:00
Fabian Zwolinski
99d0823e8f fix: Append extra extensions when FP64 emulation is enabled
Related-To: NEO-7611
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-06-22 08:38:53 +02:00
Kamil Kopryk
52651991c2 feature: don't allow to build program with stateful accesses on PVC
Related-To: NEO-6075
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-12 19:31:32 +02:00
Kamil Kopryk
6a0f7afd64 feature: verify stateful information only when binary is generated by IGC
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.
2023-06-12 11:45:41 +02:00
Filip Hazubski
9215d41b85 Revert "feature: Don't allow to build program with stateful accesses on PVC"
This reverts commit 1676c32c78.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-05-02 22:12:40 +02:00
Diedrich, Kamil
5149d74141 refactor: Remove globaly enabled cl_cache
Current behaviour will be detecd path existence

Related-To: NEO-4262

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-04-28 23:28:49 +02:00
Fabian Zwolinski
cbce863dc2 refactor: Rename member variables to camelCase 3/n
Additionally enable clang-tidy check for member variables

Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-28 16:01:14 +02:00
Kamil Kopryk
1676c32c78 feature: Don't allow to build program with stateful accesses on PVC
Related-To: NEO-6075
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-04-28 15:02:13 +02:00
Andrzej Koska
7230120060 fix: return the appropriate KernelInfo when calling the getKernelInfo
The indexes of all returned kernelInfo values greater than or equal to
exportedFunctionsKernelId should be incremented by one

Related-To: NEO-7820

Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2023-04-27 21:12:56 +02:00
Fabian Zwolinski
e2e00413a8 Apply CamelCase for class and struct names
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-24 15:36:27 +02:00
Kacper Nowak
7be2ac84d3 Refactor(ocl): refactor OCL Kernel and MultiDeviceKernel class 1/n
- For static create() method for Kernel and MultiDeviceKernel force errcodeRet
parameter to be passed via reference (instead of a pointer)
- Move part of kernel's creation logic to initialize() method

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-11 11:43:26 +02:00
Young Jin Yoon
3f6443edfb Change allowZebin to enableZebin for apiOptions
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>
2023-03-30 12:46:10 +02: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
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
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
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
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
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
Warchulski, Jaroslaw
7f705e631a Cleanup includes 55
Cleaned up files:
level_zero/core/test/unit_tests/fixtures/memory_ipc_fixture.h
level_zero/core/test/unit_tests/sources/tracing/test_api_tracing_common.h
opencl/test/unit_test/aub_tests/fixtures/multicontext_aub_fixture.h
opencl/test/unit_test/fixtures/program_fixture.h
opencl/test/unit_test/offline_compiler/environment.h
opencl/test/unit_test/offline_compiler/mock/mock_argument_helper.h
shared/test/common/cmd_parse/cmd_parse_base.inl
shared/test/common/mocks/mock_aub_file_stream.h
shared/test/common/mocks/mock_deferrable_deletion.h
shared/test/common/mocks/windows/mock_gmm_memory_base.h
shared/test/unit_test/encoders/walker_partition_fixture_xehp_and_later.h
shared/test/unit_test/os_interface/windows/os_interface_win_tests.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-16 13:30:20 +01:00
Kacper Nowak
5fe902c819 feat(AIL): make AIL oneDNN WA platform-independent
If on clCreateProgramWithSource() call we detect a nGen dummy kernel usage,
then enforce fallback to the patchtokens format (only for this kernel).
Extend this logic to all platforms (previously - only for TGL/ICL).
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-10 20:49:45 +01:00
Artem Gindinson
6f3503af38 Fix concatenation of FE/BE compilation log strings
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>
2023-02-06 14:18:50 +01:00
Kamil Kopryk
cab4b956eb refactor: rename compiler product helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-03 09:03:24 +01:00
Kamil Kopryk
2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Warchulski, Jaroslaw
fe8a6d98ad Cleanup includes 45
Cleaned up files:
opencl/source/api/api.h
shared/source/command_stream/csr_deps.h
shared/source/helpers/engine_node_helper.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-26 11:12:15 +01:00
Rafal Maziejuk
67ebc5d7fe Delete redundant adjustHwInfoForIgc method
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2023-01-24 15:08:21 +01:00
Kacper Nowak
23fc5db736 Add missing ULTs for generating default arg metadata for images/samplers
Add missing ULTs for arg with type image* and sampler - check if proper
type (typename) has been set.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-01-23 08:03:01 +01:00
Kamil Kopryk
235385abc9 refactor: Remove global CompilerProductHelper gettter 1/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 17:17:50 +01:00
Kamil Kopryk
adb3e126b4 refactor: Correct typo
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 16:07:13 +01:00
Kamil Kopryk
eb63f36108 Move GfxCoreHelper ownership to RootDeviceEnvironment
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-20 09:28:27 +01:00
Mateusz Jablonski
6110cbe42e fix(zebin): adjust hw info for IGC when getting target device for validation
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-17 10:22:02 +01:00
Kacper Nowak
d2a2656caa fix(zebin): Enforce fallback to CTNI on TGL/ICL for nGEN dummy kernel
For TGL and ICL platforms - if on clCreateProgramWithSource()
call we detect a nGen dummy kernel usage - enforce fallback to the
patchtokens format (only for this kernel).
- corrected naming
- minor ULTs refactor (less dependencies).
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-01-13 14:36:56 +01:00
Kamil Kopryk
eff5a281ed refactor: don't use global gfxCoreHelper getter 4/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-10 16:32:31 +01:00
Krystian Chmielewski
614928ed45 refactor(zebin): decouple zeInfo decoding
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-10 12:27:10 +01:00
Kamil Kopryk
468d722efb Move clGfxCoreHelper ownership to rootDeviceEnv
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-05 12:58:38 +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
Kacper Nowak
a262bffeb4 feat(ocl): Generate minimal set of args info
Provide minimalistic arg info metada when provided native binary is missing
kernels_misc_info section.
- For args passed by value and by pointer (-images/samplers), do not
specify type name - instead, return an opaque* type name with size.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-29 20:11:39 +01:00
Kamil Kopryk
a97a2839aa fix(zebin): disable zebin when vme extension is enabled in source code
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-29 12:09:46 +01:00
Compute-Runtime-Validation
8d18a0cd12 Revert "feat(ocl): Generate minimal set of args info"
This reverts commit ea6c91eccc.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-12-29 07:07:32 +01:00
Kacper Nowak
ea6c91eccc feat(ocl): Generate minimal set of args info
- Provide minimalistic arg info metada when provided native binary is missing
kernels_misc_info section.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-28 20:24:44 +01:00
Kopryk, Kamil
ceda3f65c2 fix(zebin): pass disable zebin internal option when building vme program
Signed-off-by: Kopryk, Kamil <kamil.kopryk@intel.com>
2022-12-23 09:50:27 +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
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
03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Krystian Chmielewski
d25a5c73f2 fix(ocl zebin): do not expose functions as kernels
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-12-05 12:39:18 +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
Compute-Runtime-Validation
c322bc3578 Revert "fix(ocl zebin): do not expose functions as kernel"
This reverts commit 359b9278b8.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-11-29 13:51:50 +01:00
Krystian Chmielewski
359b9278b8 fix(ocl zebin): do not expose functions as kernel
Do not expose dummy kernel containing functions' ISAs as kernels.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-11-28 14:29:32 +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