Commit Graph

57 Commits

Author SHA1 Message Date
Kacper Nowak afd71beee9 Add slm_alignment entry to .zeInfo payload_arguments section
This commit adds suport for parsing "slm_alignment" entry in .ze_info
section.
- Set requiredSlmAlignment for addresing mode slm
- Enable optional passed slm alignment parsing (with default value=16
left).

Related-To: NEO-6817
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-31 12:00:16 +02:00
Kacper Nowak 1b6a907b13 Code refactor
This commit:
- Optimizes usage of std::unordered map
- Corrects variables naming and output messages
- Minor changes in using std::string methods
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-23 23:12:21 +01:00
Krystian Chmielewski 1b4319fdab Update zebin note target metadata
This commit removes ZebinTargetMetadata struct, and uses
ZebinTargetFlags for both target validations: via machine type, and
via intel gt notes.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-03-10 16:47:01 +01:00
Krystian Chmielewski 0ccce5a6d7 Zebin: set kernel barriers based on ext funcs
This change allows for modifying kernel's barrier count
based on called external functions metadata passed
via zeInfo section in zebin.

Added parsing external functions metadata.
Added resolving external functions call graph.
Added updating kernel barriers based on called external functions.
Added support for L0 dynamic link.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-03-04 14:21:50 +01:00
Kacper Nowak 38086029ed Zebin: Add support for querying device globals by host name
This commit adds support for querying global pointers via decorated
names passed in zeInfo.
Related-To: NEO-6734
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-03 13:13:22 +01:00
Konstanty Misiak cf1bc3a2ba Disable EU fusion based on kernel properties from compiler
Related-To: NEO-6633

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2022-02-28 18:50:38 +01:00
Mateusz Jablonski 82e3b10c5a Fix typo
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-25 18:10:41 +01:00
Mateusz Jablonski 3b7fbef826 Handle implicit args buffer info in zebin
Related-To: NEO-5081, IGC-4710
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-24 19:43:21 +01:00
Kacper Nowak 447c40cec0 Fix generating localIDs in zebin
This commit fixes generating localIDs in zebin.
With thix fix, Emit Local in compute walker will be set accordingly with
the size of local_id argtype (currently, Emit Local is set to Emit None,
which prevents generating local IDs).

Related-To: NEO-6089
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-02-23 16:51:55 +01:00
Compute-Runtime-Validation faba32daf0 Revert "Fix generating localIDs in zebin"
This reverts commit 441fe1f589.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-23 06:33:33 +01:00
Kacper Nowak 441fe1f589 Fix generating localIDs in zebin
This commit fixes generating localIDs in zebin.
With thix fix, Emit Local in compute walker will be set accordingly with
the size of local_id argtype (currently, Emit Local is set to Emit None,
which prevents generating local IDs).

Related-To: NEO-6089
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-02-21 18:20:05 +01:00
Kacper Nowak cd9cc53159 Correct setting usesStringMap flag in printf
This commit fixes setting usesStringMap flag for printf, taking into
account using indirect functions in legacy (non-zebinary) path. It also
adds new field to kernelDescriptor, specifying the binary type
(legacy/zebin).

Related-To: NEO-6604
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-02-15 15:39:10 +01:00
Compute-Runtime-Validation 6f62a784e1 Revert "Check IndirectStatelessCount from igc"
This reverts commit 5e62df4f8e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-04 12:15:37 +01:00
Dominik Dabek 5e62df4f8e Check IndirectStatelessCount from igc
If kernel has no stateless indirect accesses don't set the
kernelHasIndirectAccess flag.
Don't make resident or migrate if kernel has no indirect accesses.
Changed initial values in KernelAttributes.

Related-To: NEO-6597

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-02-02 12:28:30 +01:00
Dominik Dabek 07c75c2de3 Revert "Check IndirectStatelessCount from igc"
This reverts commit 01f368ac147d99fd0dcb4d71a9a2543cd215adfd.

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-01-27 16:06:13 +01:00
Dominik Dabek 63f406a58c Check IndirectStatelessCount from igc
If kernel has no stateless indirect accesses don't set the
kernelHasIndirectAccess flag.
Don't make resident or migrate if kernel has no indirect accesses.
Changed initial values in KernelAttributes.

Related-To: NEO-6597

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-01-26 11:10:04 +01:00
Katarzyna Cencelewska 20f17f775e Remove device enqueue part 8
- remove hasDeviceEnqueue

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-19 11:16:35 +01:00
Krystian Chmielewski 79c8605ed2 Fix checking required DSH Size
This change simplifies calculating required DSH Size
and replaces wrong debug break conditiong causing
debug assertion fails in many tests with simple
check "calculatedDSHSize > allocatedDSHSize".

Related-To: NEO-6077

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-01-15 00:24:46 +01:00
Kacper Nowak 1c74eca1ae Add source offset entry for arg by value in zebin
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-12-17 16:45:49 +01:00
Krystian Chmielewski 10acf9488b Zebin: accept .visaasm sections
Related-To:NEO-6456

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-12-03 14:03:48 +01:00
Kacper Nowak 2c3a1bf460 Make calcualting explicitArgs number independent of payloadArgs size
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-11-26 14:05:40 +01:00
Krystian Chmielewski 6519aa1822 ZEbin: add inline_data_payload_size field
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-11-23 11:22:04 +01:00
Mateusz Jablonski ec89b4eae7 Consume HasStackCalls info from IGC
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-11-15 20:30:51 +01:00
Krystian Chmielewski 620484010d Zebin: Add test for default execEnv values
Added test checking population of Kernel Descriptor with default
execution environment values.
Sorting.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-11-10 17:36:25 +01:00
Krystian Chmielewski 06eaef0352 Zebin: Use strings section for printf
Resolves: NEO-6143

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-11-07 19:10:47 +01:00
Compute-Runtime-Validation 870b324d72 Revert "ZEBin: fix CTD passing when inline data is supported"
This reverts commit 125946e374.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-11-05 13:31:50 +01:00
Krystian Chmielewski 125946e374 ZEBin: fix CTD passing when inline data is supported
In zebin always pass inline data when it's supported.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-11-05 10:04:19 +01:00
Krystian Chmielewski f20cdac7d3 Zebin: add support for has_dpas
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-10-28 09:59:21 +02:00
Kamil Kopryk 3a52858529 Remove not needed fallthrough
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-10-25 15:30:22 +02:00
Bartosz Dunajski d34ef3170a Remove CPP_ATTRIBUTE_FALLTHROUGH macro
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-22 17:27:57 +02:00
Zbigniew Zdanowicz 25c71a6c13 Move kernel info to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-29 23:49:49 +02:00
Krystian Chmielewski 03e29c34c4 Decode debug environment - zebin
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-09-15 10:10:04 +02:00
Krystian Chmielewski 7dea397f22 Decode collection attributes in exec env
Add support for decoding required work group size and work gorup walk
order dimensions in zebin.

Related-To: NEO-6088
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-07-27 14:09:30 +02:00
Krystian Chmielewski 78abc1c6fd Add work dimensions payload arg to zebin
Related-To: NEO-5833
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-07-20 16:30:27 +02:00
Jaroslaw Chodor 6bac487e32 Accepting all debug section in zebin
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-07-15 18:11:07 +02:00
Krystian Chmielewski a32c022202 Accept debugInfo section in zebin
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-07-15 12:50:48 +02:00
Krystian Chmielewski 1b2cfbbb1f Align per thread data size to GRF size
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-07-15 11:53:13 +02:00
Krystian Chmielewski 7ee83db9d8 Add support for IntelGT note section
Add extraction of IntelGT note section in zebin decoder.
Add target validation based on intelGT notes in zebin decoder.
Add check in unpacking (unpackSingleDeviceBinary) for e_machine,
and validate target device accordingly.

Related-To: NEO-5658
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-07-09 11:17:14 +02:00
Krystian Chmielewski d62049035a printf support with ZEBinary
Resolves: NEO-5657

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-06-21 20:53:58 +02:00
Krystian Chmielewski c94ad034d9 Add support for zebin sampler_index
Resolves: NEO-5823
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-05-20 14:40:46 +02:00
Konstanty Misiak 0dc2143dea Fix zebin kernel without explicit arguments decoding
Related-To: NEO-5562

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-03-22 12:06:26 +01:00
Krystian Chmielewski 10af36c70a Add support for buffer_offset arg
Resolves: NEO-5487

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-03-18 12:29:27 +01:00
Jaime Arteaga 1aca16a7ac Add experimental_properties for indirect access
Read zebin experimental properties indicating whether a kernel has
indirect access and if so, ignore calls to zeKernelSetIndirectAccess.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-02-10 14:23:43 +01:00
Mateusz Hoppe 5d2ea72db6 Handle relocations from zeBin
Related-To: NEO-5323

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-01-21 13:16:38 +01:00
Jaroslaw Chodor 4c50a9e147 Zebin - Improving binding table generation
Allowing N:1 kernel_arg:bti mappings

Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-01-20 18:37:45 +01:00
Mateusz Hoppe ffb6e955b1 Decode relocations in ELF
Related-To: NEO-4769, NEO-5323

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-01-19 16:02:25 +01:00
Krystian Chmielewski 4948c39d39 Remove executionEnvironment from KernelInfo
Related-To: NEO-3739
2020-12-16 14:56:57 +01:00
Jaroslaw Chodor 0e9be40a7c zebin - fixing missing image metadata
Change-Id: Iae49aacb2fb7b38eea987a5fb283f12fc75718bf
2020-11-02 14:10:49 +01:00
Jaroslaw Chodor 345e56a151 Zebin improvements
* cleaning-up per-thread buffer size calculations
* fixing default slm alignment to 16
* adding scratch space slots
* renaming slm addressing mode
* adding support for zeinfo version

Change-Id: I0450353788b8488a685976d7f1dd26a44360383c
2020-10-29 16:33:21 +01:00
Bartosz Dunajski 1926ef8319 is_simt_thread token support
Change-Id: I8cee6ff26229f0f492ba0d1e5e61d6e46e0c2486
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-21 14:14:43 +02:00