Kacper Nowak
fc224202d6
Create debug zebin in OCL
...
This commit adds debug zebin creation in OCL.
- Added returning debug zebin in build/linking paths in OCL if
corresponding device binary format was detected.
- Refactored getZebinSegments() method - added common ctor for both
L0/OCL paths
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com >
2022-01-17 14:27:23 +01:00
Neil R Spruit
79bf9401ef
Fallback to buildFromSpirV given < 2 static link targets
...
Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com >
2022-01-14 02:17:52 +01:00
Igor Venevtsev
71746a2fff
Register zebin binary in L0 debugger
...
Related-To: NEO-5571
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com >
2022-01-12 23:17:59 +01:00
Patryk Wrobel
3599e7aeda
Add warning when device binary had to be recompiled
...
Introduced a new warning, which is printed to build log, when the
binary needs to be recompiled. Added a new flag -Wno-recompiled-from-ir
to allow suppression of that message. Removed a bug related to memcpy_s
from ModuleBuildLogImp::getString() and aligned it with specification.
Related-To: NEO-5819
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com >
2021-12-23 16:13:59 +01:00
Mateusz Hoppe
17f82bbe12
Fix double ISA transfer for user kernels in L0
...
Related-To: NEO-6555
- ISA should only be copied once, after linking phase is complete
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2021-12-21 07:54:51 +01:00
Kacper Nowak
80ed37faf6
Return debug ZeBin on getDebugInfo in Level Zero
...
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com >
2021-12-14 16:29:42 +01:00
Krystian Chmielewski
7e08e56d50
Zebin: allow undef symbols
...
Skip undefined symbols when decoding ELF symbol table
instead of treating them as error in zebin path in
order to support dynamic linking scenarios.
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com >
2021-12-13 15:31:56 +01:00
Compute-Runtime-Validation
b7cee61bde
Revert "Fail build program in shared system USM + stateful access case"
...
This reverts commit 0ad8afc0b3 .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2021-12-07 01:00:59 +01:00
Kamil Kopryk
0ad8afc0b3
Fail build program in shared system USM + stateful access case
...
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com >
Related-To: NEO-6075
After this change driver will fail clBuildProgram/zeModuleCreate api calls
whenever stateful access is discovered and device has shared system usm caps
enabled.This is required since in this case allocation greater than 4GB
will not work.
If user still wants to use stateful addressing mode,
-cl-opt-smaller-than-4GB-buffers-only / -ze-opt-smaller-than-4GB-buffers-only
build option should be passed as build option, but then user can not use
buffers greater than 4GB.
2021-12-06 15:10:16 +01:00
Mateusz Hoppe
b11d7cd7b0
Add debug key for compiler internal options injection
...
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2021-11-23 15:41:11 +01:00
Krystian Chmielewski
8e57e48695
L0: Pass debug zebin to SLD
...
Added passing debug zebin to SLD.
Added support for .const.data.strings section in debug zebin creation.
Refactored debug zebin creation code.
Resolves: NEO-6246
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com >
2021-11-18 11:38:23 +01:00
Mateusz Jablonski
75a5aed81d
Refactor patching implicit args relocation
...
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-11-15 17:09:36 +01:00
Krystian Chmielewski
d29148a73a
Populate linkerInput before allocating globals
...
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com >
2021-11-09 12:20:13 +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
Maciej Plewka
38eab0e70f
Return correct status when module is not fully linked
...
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com >
2021-10-13 16:18:42 +02:00
Spruit, Neil R
12ab2961b1
L0 support for SPIRv static module linking
...
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com >
2021-10-05 07:09:53 +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
Compute-Runtime-Validation
e7a7a61b4e
Revert "L0 support for SPIRv static module linking"
...
This reverts commit 479035c839 .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2021-09-24 05:47:50 +02:00
Spruit, Neil R
479035c839
L0 support for SPIRv static module linking
...
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com >
2021-09-22 23:38:50 +02:00
Mateusz Jablonski
0d1c8be447
Handle implicit arg relocation in L0 module
...
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-09-14 08:57:10 +02:00
Mateusz Jablonski
30f411de44
Make allocation writable for TBX and AUB when patching ISA
...
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-09-08 10:51:41 +02:00
Spruit, Neil R
3389c452c7
Added Link Log for L0 Dynamic Module Linking
...
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com >
2021-08-24 07:19:23 +02:00
Spruit, Neil R
d119494854
L0 Support for Dynamic Module Linking for undefined symbols
...
- Support for L0 apps to handle undefined symbols reported by IGC
- Removed duplication of symbol in exported symbol list and relocation
for properly resolving the symbol during dynamic link
- Add export module's exported function surface state to the import
module's residency container during dynamic linkage to allow import
kernels to execute exported functions.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com >
2021-08-13 19:26:41 +02:00
Compute-Runtime-Validation
5d49dedf00
Revert "L0 Support for Dynamic Module Linking for undefined symbols"
...
This reverts commit e602f4829d .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2021-08-13 10:33:13 +02:00
Spruit, Neil R
e602f4829d
L0 Support for Dynamic Module Linking for undefined symbols
...
- Support for L0 apps to handle undefined symbols reported by IGC
- Removed duplication of symbol in exported symbol list and relocation
for properly resolving the symbol during dynamic link
- Add export module's exported function surface state to the import
module's residency container during dynamic linkage to allow import
kernels to execute exported functions.
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com >
2021-08-12 21:30:13 +02:00
Jaroslaw Chodor
7c6c45f5b5
Add option to allocate private mem per dispatch
...
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com >
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com >
2021-07-27 13:34:12 +02:00
Young Jin Yoon
4ba64d2530
Add ze-opt-level support
...
Related-To: LOCI-2315
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com >
2021-07-20 20:34:57 +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
Bartosz Dunajski
7c8fcb30ed
Module: Force stateless compilation if system shared allocations allowed
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com >
2021-06-29 13:54:40 +02:00
lgotszal
3bd4bca911
Copyright header update
...
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).
Signed-off-by: lgotszal <lukasz.gotszald@intel.com >
2021-05-17 20:38:19 +02:00
Mateusz Hoppe
8fd65cc6bf
Do not append debugKernelEnable internal option
...
- module compilation does not need it when L0 debugger used
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2021-05-11 08:20:22 +02:00
Krystian Chmielewski
ef71915c71
Remove KernelArgInfo and use KernelDescriptor's args instead
...
Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com >
2021-04-23 15:12:09 +02:00
Mateusz Hoppe
ffc310858a
Add DebugVariable to control opt-disable when debugger is used
...
Resolves: NEO-5760
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2021-04-19 16:41:14 +02:00
Mateusz Hoppe
0897f997d6
Fix zeModuleGetGlobalPointer()
...
- return size correctly
- check if pSize and pPtr is != nullptr
Resolves: NEO-5641
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2021-03-18 17:29:41 +01:00
Maciej Plewka
c1cabb505a
Fix Get ConstSpecSize based on correlated ConstSpecID
...
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com >
2021-03-02 12:11:08 +01:00
Compute-Runtime-Validation
c0268abc26
Revert "Take spec const value sizes from compiler"
...
This reverts commit da3805880b .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2021-02-26 16:22:10 +01:00
Maciej Plewka
da3805880b
Take spec const value sizes from compiler
...
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com >
2021-02-25 10:42:21 +01:00
Mateusz Hoppe
6dd0f0c728
Relocate debug data
...
Related-To: NEO-4769
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2021-02-16 14:59:30 +01:00
Mateusz Hoppe
718e4149a8
Add enable-kernel-debug option when debugger is used in L0
...
- correctly verify debug capabilites in Module
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2021-02-08 17:12:02 +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
Jaime Arteaga
d7ea713c5f
Revert "Initialize kernel immutable data when kernel is created"
...
This reverts commit a6ac10088c .
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com >
2021-01-04 11:11:39 +01:00
Jaime Arteaga
a6ac10088c
Initialize kernel immutable data when kernel is created
...
This instead of when the associated module is created, to avoid
allocating memory for kernels that are never created nor used.
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com >
2020-12-29 19:29:10 +01:00
macabral
720ba46548
Register kernel Elf for debugging purpose
...
Signed-off-by: macabral <matias.a.cabral@intel.com >
2020-12-01 17:16:14 +01:00
Mateusz Hoppe
8cac8d4b51
Fix possible device nullptr dereference
...
- abort will be called if device is nullptr
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2020-11-26 22:51:44 +01:00
Young Jin Yoon
3e69b2084c
Add support for zeModuleGetProperties
...
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com >
2020-11-21 23:14:30 +01:00
Jaime Arteaga
905d59d7e3
Allow disabling statefull optimization in L0
...
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com >
2020-11-18 22:33:05 +01:00
Maciej Plewka
28de4068c9
Read bindless offset from patch token
...
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com >
2020-11-18 17:04:00 +01:00
Mateusz Hoppe
0f42ef1ed7
Differentiate between users ISA and internal ISA allocation
...
Related-To: NEO-5240
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2020-11-16 13:16:30 +01:00
Maciej Plewka
3f7af19c8f
Pass bindless options to compiler when bindless enabled
...
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com >
2020-11-10 11:30:56 +01:00
Krystian Chmielewski
9f08a60a20
KernelInfo Refactor
...
Using kernelDescriptor.kernelMetadata.kernelName instead of
kernelInfo.name
Change-Id: I11f5721d8072a3beccb573cec4bea56cf14cf0f9
2020-10-20 13:18:09 +02:00