Commit Graph

60 Commits

Author SHA1 Message Date
de75e51228 Zebin: Add support for new buffer_address arg type
This change adds support for new "buffer_address" arg type, which adds
buffer address information for stateful-only argument. This will prevent
from generating stateless version of a kernel argument if all its
accesses are to be promoted to the stateful ones.
- Change default value of accessedUsingStatelessAddressingMode flag.

Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-7048
2022-06-08 17:33:31 +02:00
e32738ee4a Set flag indicating corresponding addressing mode in zebin
Set missing flag indicating corresponding addresing mode.
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
Related-To: NEO-6646
2022-05-16 15:16:25 +02:00
e007ba499f feat(zebin): add support for build options section
This change:
* Adds support for build options section in zebinary - using
build options in binary when rebuilding.
* Appends "-cl-intel-allow-zebin" flag to build options when zebin is
used.

Resolves: NEO-6916

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-04-27 11:26:42 +02:00
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
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
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
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
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
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
82e3b10c5a Fix typo
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-25 18:10:41 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
f20cdac7d3 Zebin: add support for has_dpas
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-10-28 09:59:21 +02:00
3a52858529 Remove not needed fallthrough
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-10-25 15:30:22 +02:00
d34ef3170a Remove CPP_ATTRIBUTE_FALLTHROUGH macro
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-22 17:27:57 +02:00
25c71a6c13 Move kernel info to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-29 23:49:49 +02:00
03e29c34c4 Decode debug environment - zebin
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-09-15 10:10:04 +02:00
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
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
6bac487e32 Accepting all debug section in zebin
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-07-15 18:11:07 +02:00
a32c022202 Accept debugInfo section in zebin
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-07-15 12:50:48 +02:00
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
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
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
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
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
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
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
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
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
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
4948c39d39 Remove executionEnvironment from KernelInfo
Related-To: NEO-3739
2020-12-16 14:56:57 +01:00