Commit Graph

233 Commits

Author SHA1 Message Date
Mateusz Hoppe 646c8985e8 refactor: store number of stateful args in KernelDescriptor
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-06-12 14:15:43 +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
Mateusz Hoppe e017ed0be9 feature(zebin): set bindless adressing modes in kernel attributes
- when bindless adressing is set in zeinfo, kernel attributes should
reflect that.

Related-To: NEO-7063

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-05-30 19:17:36 +02:00
Mateusz Jablonski c544004b8e fix: move getProductConfigFromHwInfo to CompilerProductHelper
add tests for default PVC configs

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-29 14:08:52 +02:00
Daria Hinz 331f167cfe feature: Add debug flag for setting hw ip version
Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7954
2023-05-23 15:32:46 +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
Mateusz Jablonski 55f6b142cd fix: handle dot character in kernel name when parsing zebin
Related-To: NEO-7934
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-04-28 12:07:50 +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 c7adbc2140 Add debug key for dumping ELF to file
Add "DumpZEBin" debug flag. When this flag is enabled, Zebin will be
dumped to a .elf file (with appropiate suffix, in case such file has
been dumped before).
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-7895
2023-04-18 20:40:25 +02:00
Kacper Nowak e19e006370 feat(zebin): Add debug flag for logging ZE Info
Add debug key LogZEInfo for logging ZE Info from zebin elf.
ZE Info will be dumped to a file (default igdrcl.log)

Related-To: NEO-7895
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-04-14 17:14:07 +02:00
Mateusz Jablonski dd39b822d3 feature implicit args: patch rt dispatch global array in implicit args buffer
handle has_rtcalls in kernels and functions in zebin

Related-To: NEO-7818
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-28 12:31:38 +02:00
Mateusz Hoppe c0794bd974 feature: assert support - decode zebin argument
Related-To: NEO-5753

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-03-17 11:15:13 +01:00
Dunajski, Bartosz ab3ae9215c Remove SIMD size from scratch/private allocation size calculation
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-10 15:54:14 +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
Pan, Zhenjie ad49a6e3b0 fix: truncated invalid kernel reason message
IGC will add "invalid_kernel: uses-fp64-math" into kernel binary for fp64
unsupported platform. "uses-fp64-math" will be truncated to "uses" due to "-"
is not a valid identifier. It makes application can't get "uses-fp64-math"
through zeKernelGetSourceAttributes.

Related-To: NEO-7794

Signed-off-by: Pan Zhenjie <zhenjie.pan@intel.com>
2023-03-09 17:58:09 +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
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
František Zatloukal 0f9800352c Include cstdint in elf.h to fix GCC 13 build
Signed-off-by: František Zatloukal <fzatlouk@redhat.com>
2023-02-27 08:57:39 +01:00
František Zatloukal beaff2b735 Include cstdint to fix GCC 13 build
Signed-off-by: František Zatloukal <fzatlouk@redhat.com>
2023-02-22 08:02:49 +01:00
Mateusz Jablonski 95bea7c92b fix zebin: use alignemnt of 8 when creating debug zebin
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-16 11:23:48 +01:00
Krystian Chmielewski 7982e26ae7 feat(ocloc concat): allow device binary
Allow for use of device binary in ocloc concat. Previously only
AR files could be concatenated.
This feature only works for zebin with AOT Product Config note.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-02-10 17:45:00 +01:00
Kacper Nowak 1a4755694e feat(zebin): Add support for SHT_ZEBIN_GTPIN_INFO type section
This commit adds support for decoding SHT_ZEBIN_GTPIN_INFO type
sections. For each section, passed data will be stored in kernel info
(for corresponding kernel).

Related-To: NEO-7689
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-10 16:21:59 +01:00
Kacper Nowak 7790e208fd feat(zebin): Add support for ELF section type SHT_NOBITS
This commit adds support for parsing SHT_NOBITS zebin's ELF sections
(containing global/constant zero-initialized data).
- Correction: in CTNI path, do not add related symbol if surface has not
been allocated.

Related-To: NEO-7196
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-10 16:17:16 +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
Compute-Runtime-Validation d0c0c60205 Revert "feat(zebin): Add support for ELF section type SHT_NOBITS"
This reverts commit fa03aa9a40.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-03 03:44:02 +01:00
Kacper Nowak fa03aa9a40 feat(zebin): Add support for ELF section type SHT_NOBITS
This commit adds support for parsing SHT_NOBITS zebin's ELF sections
(containing global/constant zero-initialized data).

Related-To: NEO-7196
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2023-02-02 14:54:51 +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
Rafal Maziejuk 67ebc5d7fe Delete redundant adjustHwInfoForIgc method
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2023-01-24 15:08:21 +01:00
Krystian Chmielewski 2ed168dc15 refactor(zebin): prioritize AOT config when validating
When validating zebin for target device. If AOT config (device
identification number) is present then use it for device validation,
and skip old checks (Core Family, Product Family).

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-24 11:44:00 +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
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
Krystian Chmielewski 7c408c23b2 refactor(zeinfo): improve code readibility
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-12 09:33:00 +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
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
Krystian Chmielewski 525c535ba4 zebin: remove bti check for global base args
Remove validation of bti for "const_base", "global_base" arguments.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-01-09 12:48:07 +01:00
Mateusz Jablonski 4647180c76 refactor: remove platform type string
this property is no longer needed as we compile kernels per product family

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-04 13:48:16 +01:00
Compute-Runtime-Validation 5a6d358166 Revert "refactor: remove platform type string"
This reverts commit 58b443ecf1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-01-04 11:08:51 +01:00
Mateusz Jablonski 58b443ecf1 refactor: remove platform type string
this property is no longer needed as we compile kernels per product family

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-04 09:26:29 +01:00
Warchulski, Jaroslaw d793f37dd8 Cleanup includes 20
Cleaned up files:
opencl/source/cl_device/cl_device.h
opencl/source/helpers/properties_helper.h
opencl/source/program/program.h
shared/source/device_binary_format/debug_zebin.h
shared/source/device_binary_format/elf/zebin_elf.h
shared/source/program/program_info.h
shared/source/utilities/heap_allocator.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-03 14:42:08 +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 7ae44268cb Cleanup includes 17
Cleaned up files:
shared/source/built_ins/sip.h
shared/source/compiler_interface/compiler_cache.h
shared/source/compiler_interface/compiler_interface.h
shared/source/device_binary_format/device_binary_formats.h
shared/source/helpers/timestamp_packet.h
shared/source/kernel/debug_data.h
shared/source/utilities/tag_allocator.h
shared/test/common/mocks/mock_device.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-02 10:59:08 +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
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
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
Kacper Nowak 5dbcb4b4d5 fix(zebin): set max BT indexes for globals/const buffers
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-20 18:30:45 +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
Kacper Nowak 7b8d1925a9 feat(zebin): Use AOT config for validating target device
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-12-15 22:25:56 +01:00
Krystian Chmielewski b2a51146a5 feat(zebin): support data const/global buffer arg
Add support for kernel payload arguments describing data const and
data global buffers in zeInfo.

Argument contains:
* Offset in cross thread data where buffer's address should be written to.
To be removed later. Relocations should be used instead.
* Index in binding table where corresponding Surface State should be present.
Required for bindful access to data buffers.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-12-14 16:52:35 +01:00