Commit Graph

12527 Commits

Author SHA1 Message Date
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
Fabian Zwolinski
c0664896ad Refactor preferCopyThroughLockedPtr method
Use getTransferType, getTransferThreshold in
preferCopyThroughLockedPtr to make the decision clear for which
Transfer Types is CpuMemCopy enabled.

Related-To: NEO-7564
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-02-10 13:42:37 +01:00
Andrzej Koska
52234201bb Narrowing the usDeviceID range for WA
This patch narrows down the scope covered by WA
to G10 machines only

Related-To: NEO-7475
Signed-off-by: Andrzej Koska andrzej.koska@intel.com
2023-02-10 13:26:00 +01:00
Kamil Kopryk
d8d1b7f331 Initialize status variable
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-10 11:01:47 +01:00
Kamil Kopryk
2887f2d936 refactor: fix typo - specified
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-10 10:28:32 +01:00
Fabian Zwolinski
2843a78bc6 Separate Device and Shared transfer types
This PR gives us the ability to distinguish shared allocation from
device allocation.

Related-To: NEO-7564
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-02-10 10:09:27 +01:00
Lukasz Jobczyk
45a3e90cb1 Check if BCS is available when initializing split
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-10 09:33:21 +01:00
Jaime Arteaga
b8c1c0f600 Revert "Fix: Remove allocation from sharedMakeResidentAllocations on free"
This reverts commit fd16fee707.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-02-10 00:02:54 +01:00
Jaime Arteaga
f3a8944027 Revert "Enable LUID Extension by Default"
This reverts commit 8b4fe7093d.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-02-09 23:58:28 +01:00
Zbigniew Zdanowicz
1740e1e747 Limit properties update for immediate command list to used in flush task
Related-To: NEO-7701

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-09 17:45:43 +01:00
Zbigniew Zdanowicz
783df81a44 Unify flush task getter implementation of product and core helpers
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-09 16:42:35 +01:00
Compute-Runtime-Validation
0e1ba33e07 Revert "fix(ocl): fix resolve dependencies by pipecontrol"
This reverts commit d13dd79312.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-09 15:47:13 +01:00
Compute-Runtime-Validation
526297fa8f Revert "Reuse builtin module and init selected builtin on device init"
This reverts commit 3be46ef645.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-09 15:40:38 +01:00
Compute-Runtime-Validation
143299a7a0 Revert "Flush printf from kernel during event synchronize"
This reverts commit c908f5a0b3.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-09 15:35:12 +01:00
Maciej Bielski
871a3bd11d refactor(l0): follow-up cleanup after adding LargeGRF fix
Fixup for 2778043d67

Related-To: NEO-7684

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-02-09 15:33:57 +01:00
Neil R Spruit
188f64adfd Fix IPC Event pools allocated for single device used on multidevice
Related-To: LOCI-3860

- Fixed IPC Event pools that are allocated for a single device such that
when opened thru IPC only that device handle can be used by the process
which opened the IPC event pool.

- IPC Event handle includes numDevices as a field to determine if the
root device index is the only index allowed for this event pool.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-02-09 15:16:52 +01:00
Lukasz Jobczyk
3be46ef645 Reuse builtin module and init selected builtin on device init
-start async thread at device initialization which initializes selected
builtins and exits
-share module across builtins using same binary

Resolves: NEO-7644

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-08 17:04:42 +01:00
Dominik Dabek
d13dd79312 fix(ocl): fix resolve dependencies by pipecontrol
Keep semaphore programming for events on bcs

Related-To: NEO-7321

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-02-08 16:58:18 +01:00
Pawel Cieslak
59d79d63b6 ci: lint revision update
Signed-off-by: Pawel Cieslak <pawel.cieslak@intel.com>
2023-02-08 14:17:50 +01:00
Maciej Bielski
2778043d67 fix(l0): check for largeGRF when computing maxWorkGroupSize
Sizing context (PVC):
When using LargeGRF (a.k.a GRF256) there are only 4 HW threads per EU
(instead of default 8). Together with SIMD16 that means that there can
be max 64 work-items per EU. With 8 EU per subslice this gives 512
work-items on a single subslice. For correct intra-WG synchronization
all its WIs must be executed on the same subslice (to access the same
SLM, where the synchronization primitives are stored). Thus, with SIMD16
and LargeGRF the work-group size must not exceed 512 (PVC example).

So far `maxWorkGroupSize` is taken solely from a DeviceInfo structure
both in `ModuleTranslationUnit::processUnpackedBinary()` and
`ModuleImp::initialize()`. This method does not take kernel parameters
(LargeGRF) into account. It allows to submit a kernel using LargeGRF
with SIMD16 with the work-group size set to 1024. That leads to a hang.

Fix the `.maxWorkGroupSize` computation so that it takes the kernel
parameters into consideration.

Add new (for discrete platforms >= XeHP) and adapt existing tests, fix
cosmetics by the way.

Similar check for OCL:
https://github.com/intel/compute-runtime/blob/master/opencl/source/comma
nd_queue/enqueue_kernel.h#L130

Related-To: NEO-7684
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-02-08 11:20:52 +01:00
ocldev
a3aa7a1326 igc revision update
Signed-off-by: ocldev <ocldev@intel.com>
2023-02-08 11:08:29 +01:00
Spruit, Neil R
6d95965c94 Return Build Failure given native binary unpack failed
Related-To: LOCI-3956

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-07 22:03:28 +01:00
Zhang, Winston
c908f5a0b3 Flush printf from kernel during event synchronize
During event synchronize in commandlist, now the printf buffer
should get flushed out when host synchronize is called.

Related-To: LOCI-3681

Signed-off-by: Zhang, Winston <winston.zhang@intel.com>
2023-02-07 21:52:31 +01:00
Dominik Dabek
0885379060 Fix typo
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-02-07 17:59:37 +01:00
Lukasz Jobczyk
1d675fc145 Add tests for split handling barrier
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-07 17:44:51 +01:00
Lukasz Jobczyk
222992000a Handle barrier correctly in L0 split
Resolves: NEO-7696

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-07 13:31:22 +01:00
Zbigniew Zdanowicz
f2be0ebfc4 Allocate and consume shared heaps atomically
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-07 12:52:54 +01:00
Fabian Zwolinski
ee6eb70f1a Create method to deduce transfer threshold
Related-To: NEO-7564
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-02-07 10:32:24 +01:00
Kulkarni, Ashwin Kumar
bf481e6103 Add Stub Sysman APIs for Level zero specification 1.5
Related-To: LOCI-3841

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
2023-02-07 08:17:09 +01:00
Jitendra Sharma
c6ae892c1c Add new sysman directory inside level_zero
In order to support latest spec, where sysman's initialization
could happen independent of core's initialization, add a new sysman
directory inside level_zero.

Related-To: LOCI-3887

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-02-07 05:29:01 +01:00
ocldev
2fd951186c metrics-library revision update
Signed-off-by: ocldev <ocldev@intel.com>
2023-02-06 19:02:11 +01:00
Zbigniew Zdanowicz
83000acf99 Add event number to immediate command list buffer size estimation
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-06 15:51:05 +01:00
Milczarek, Slawomir
9b7b193b38 Enable recoverable page faults on PVC platform only
Related-To: NEO-6355

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-02-06 14:47:36 +01:00
Grzegorz Choinski
6d30d31381 lint update
Signed-off-by: Grzegorz Choinski <grzegorz.choinski@intel.com>
2023-02-06 14:36:59 +01:00
Lukasz Jobczyk
9f574b6fba Introduce barrier tracking mechanism
Related-To: NEO-7696

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-06 14:29:23 +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
Dunajski, Bartosz
6ebdc51fae Dynamic queue size limit in RelaxedOrdering mode
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-02-06 12:02:02 +01:00
Dunajski, Bartosz
756a9a9aaa Fix BCS split events handling in RelaxedOrdering mode
Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-02-06 11:00:58 +01:00
Compute-Runtime-Validation
2fb9eba861 Revert "igc revision update"
This reverts commit d73253dee4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-04 10:15:23 +01:00
ocldev
bc9bf41e6e metrics-discovery revision update
Signed-off-by: ocldev <ocldev@intel.com>
2023-02-03 20:30:24 +01:00
Zbigniew Zdanowicz
7e0401d280 Add improvements to heap estimation in level zero command lists
- add estimation parameter for interface descriptor data count
- add to the heap estimation alignment parameter for dynamic and surface heaps
- extend encode interface and implementations to allow child heaps

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-03 20:26:27 +01:00
Mayank Raghuwanshi
5a833e2c08 Add support for RAS CSC HW errors
Related-To: LOCI-3699

Signed-off-by: Mayank Raghuwanshi <mayank.raghuwanshi@intel.com>
2023-02-03 18:36:12 +01:00
ocldev
d73253dee4 igc revision update
Signed-off-by: ocldev <ocldev@intel.com>
2023-02-03 17:45:26 +01:00
Daria Hinz
59109a08bb Switch device ID support to product config helper
This commit switches the device ID logic from the deprecated
to the new one, so that if the user passes a hex value to the -device
parameter, ocloc will use the new implementation in the product config
helper. The change also introduces a fix for setting the values in the
correct order to configure the hwIfno correctly.

Signed-off-by: Daria Hinz daria.hinz@intel.com
Related-To: NEO-7487
2023-02-03 16:55:41 +01:00
Lukasz Jobczyk
43ff955199 Revert "Reuse builtin module and init selected builtin on device init"
This reverts commit bdc3499585b954c674b24c5bf21aeefd68f6fee2.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-03 13:53:59 +01:00
Mateusz Jablonski
24c5352350 refactor: remove redundant including of compiler_cache.h
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-03 11:16:31 +01:00
Mateusz Jablonski
1c976f5110 test: move execution environment tests to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-03 11:03:18 +01:00
Rafal Maziejuk
b9bfb912c1 infra update
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2023-02-03 10:55:11 +01:00
Milczarek, Slawomir
833802cb8b Infra update
Related-To: NEO-7341

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-02-03 10:10:23 +01:00