Commit Graph

12507 Commits

Author SHA1 Message Date
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
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
Kamil Kopryk
2329040881 Move GTPinGfxCoreHelper ownership to clDevice
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-03 08:56:48 +01:00
Mateusz Jablonski
078224d400 fix OCL: set correct memory location after initial transfer to image
when multi-storage image is initialized with memory then we need to track
location of actual memory

Related-To: NEO-5735
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-03 08:17:25 +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
Compute-Runtime-Validation
606a900080 Revert "Disable EUFusion for odd work groups with DPAS on DG2"
This reverts commit 017d66a469.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-03 02:45:21 +01:00
Bellekallu Rajkiran
47486ca55a Add support for memory health information
Get Memory health information from igsc.

Related-To: LOCI-3395

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2023-02-02 21:50:36 +01:00
Jaime Arteaga
51d767daea refactor: Add IPC memory data
Refactor structure and add field to pass USM memory type.

To maintain backwards compatibility with current applications,
pass 0 as type for device allocations, and 1 for host
allocations.

Related-To: LOCI-3771

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-02-02 20:20:31 +01:00
Mateusz Jablonski
371ee24554 fix OCL: set correct memory location after initial transfer to buffer
when multi-storage buffer is initialized with memory then we need to track
location of actual data

remove redundant parameters from copyHostPointer function

Related-To: NEO-5735
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-02 17:58:37 +01:00
Lukasz Jobczyk
5a613405c6 Make EmbeddedStorageRegistry ctor protected
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-02 16:28:54 +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
Dunajski, Bartosz
31154dc20b Create OS agnostic OSTime in AUB/TBX mode
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-02-02 14:35:26 +01:00
Zbigniew Zdanowicz
5097ef4825 Change dispatch kernel interface to provide already prepared heap objects
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-02 14:08:43 +01:00
Jaime Arteaga
401344137c fix: Correctly set UUID for non-multi-tile archs
Use getSubDevicesCount() from hwInfo to determine whether device
is root or not, instead of isSubDevice(), since the former does not
change with the affinity mask.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-02-02 14:00:42 +01:00
Maciej Plewka
017d66a469 Disable EUFusion for odd work groups with DPAS on DG2
Related-To: NEO-7495, HSD-14017007475

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-02-02 13:57:42 +01:00
Kamil Kopryk
ac63175a0f Add extra check for nullptr function pointer
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-02 12:21:23 +01:00
Lukasz Jobczyk
b2c26dde65 Check if storage registry exists
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-02 11:54:27 +01:00
Kamil Kopryk
524d945e8c refactor: rename l0 hw_helpers dir to gfx_core_helpers
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-02 11:15:56 +01:00
Mateusz Jablonski
b931f31f3d debug: Reduce debug logs when changing allocation type
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-02-02 11:05:46 +01:00
Dominik Dabek
8da362afae fix(l0): do not memcpy on cpu if need unlock ptr
Do not use cpu memory copy on windows if need to unlock locked ptr.

Related-To: NEO-7553

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-02-02 10:41:39 +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