Commit Graph

1896 Commits

Author SHA1 Message Date
Zbigniew Zdanowicz
49def723b7 Unify layout of command list class
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-07 11:38:47 +01:00
Cencelewska, Katarzyna
3e116ea378 refactor: use same paths when add command mi_semaphore_wait
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-07 10:35:26 +01:00
Cencelewska, Katarzyna
50da32ffb1 wa: add dummy blits before command MI_ARB_CHECK
to guarantee that all subblt got complete for previous copy
affect xe hpg

Related-To: NEO-7450

Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-03-07 10:21:05 +01:00
Bellekallu Rajkiran
2282f26734 feature(sysman): Support events for multiple devices
Related-To: LOCI-3683

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2023-03-07 09:50:32 +01:00
Krystian Chmielewski
58d3f892a9 refactor(zebin): move files to seperate directory
* Moved zebin related files to zebin directory.
* Moved zebin related code to Zebin namespace.
* Separated zeInfo from zebin elf.
* Seperated zeInfo decoding from zebin decoder.
* Refactored populateKernelPayloadArgument function.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-03 21:48:19 +01:00
Maciej Plewka
52d322e738 Move barrier flush property from csr to cmdQueue
Related-To: NEO-6982, HSD-15010621906

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-03-03 14:33:53 +01:00
Zbigniew Zdanowicz
072233d170 compute events select device memory for xe hpg family
Related-To: NEO-7765

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-03 13:39:28 +01:00
Jaime Arteaga
a87fd77fd4 feature: Add debug key to enable cross-shared concurrent p2p access
Current support in the stack does not allow for concurrent access to
shared-allocations from host and peer devices when using page-faults.

So disable caps for now and introduce debug key for experimentation.

Access will be added by default as support in the stack becomes
available.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-03-02 18:29:28 +01:00
Maciej Bielski
49424eb859 refactor(l0): follow-up cleanup after adding LargeGRF fix
Resubmission of 871a3bd11d
Reverted by 9882e992ac due to Elmo
regression (most likely not related to the change anyway).

Fixup for 2778043d67

Related-To: NEO-7684, HSD-18027378546

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2023-03-02 12:56:56 +01:00
Krystian Chmielewski
5caf7f7290 feat(linker): allow use of local symbols
This commit adds support for handling local symbols.
* Added 2 fields to SymbolInfo - binding, and associated
instructions segment id.
* Simplified code for decoding elf symbols and relocations.
* Simplified code for patching instruction segments.
* Changed logic of decodeElfSymbolTableAndRelocations:
* Add every global symbol to symbol map.
* Add any local symbol used by relocation to symbol map.
* Changed logic of link:
* After performing relocations remove local symbols from map.
* Replaced UNRECOVERABLE_IF with returning error.
* Removed LocalSymbolInfo structure used before for local kernel jumps.
* Removed old tests.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2023-03-02 12:39:21 +01:00
Zbigniew Zdanowicz
c8b90613a8 [perf] simplify command list preemption state transition
- apply revelant flags only on platforms supporting these flags
- update command list preemption level when supported
- use actual kernel preemption level to program interface descriptor data

Related-To: NEO-7771

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-02 12:19:02 +01:00
Zhang, Winston
c584d19a6c modify printPrintfOutput to be an atomic operation
Mutex was added to kernel_imp for atomic operation during
printPrintfOutput on kernel.

Related-To: LOCI-3681

Signed-off-by: Zhang, Winston <winston.zhang@intel.com>
2023-03-02 08:53:18 +01:00
Dunajski, Bartosz
6b7c4564d5 Optimize CPU copy path during appendMemoryCopy call
Instead of sending appendBarrier, wait for Events on host.

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-03-02 08:13:37 +01:00
Zbigniew Zdanowicz
d3c99f6414 Add level zero heap addressing enum, property and debug key
Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-01 18:28:00 +01:00
Lukasz Jobczyk
b814e20cf7 Obtain split events under mutex
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-03-01 13:35:51 +01:00
Zbigniew Zdanowicz
42b8a536db Fix redundant state base address dispatch
This fix handles scenario when regular command list uses context first,
then immediate command list is used for the first time.

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-03-01 10:08:55 +01:00
Milczarek, Slawomir
674691d170 Fix check for page faults enabled in get memory access properties
Related-To: NEO-6465

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-02-28 10:13:25 +01:00
Jitendra Sharma
6968d26f3a Sysman: Add support for sysman APIs
In level_zero/sysman directory This change:
- Adds support for accessing linux based filesystem
- Add support for telemetry
- Add support for LinuxSysmanImp

Related-To: LOCI-3889
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-02-28 09:50:17 +01:00
Zhang, Winston
ddfd2b0ac2 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-27 23:28:33 +01:00
Lukasz Jobczyk
494ef4129e Disable copy command buffer into ring when metrics enabled
Related-To: NEO-7422

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-27 21:30:34 +01:00
Zbigniew Zdanowicz
34064811d2 Refactor state base address programing 4/n
- This change gets level one cache policy from cached values instead
of calling virtual methods

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-27 17:30:36 +01:00
Zbigniew Zdanowicz
8d2028a986 Add tracked sba command dispatch in level zero
- When enabled, sba tracking dispatches preambleless, tracked sba commands
in command lists and command queues.
- Tracking disallows any untracked sba commands.
- Adding some tweaks to data initialization and processing.

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-27 14:51:11 +01:00
Compute-Runtime-Validation
4a369ad88d Revert "feature: check indirect access for kernel"
This reverts commit 075c96267d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-24 03:48:22 +01:00
Zbigniew Zdanowicz
3cb064fe95 Refactor state base address programing 3/n
This is small optimization to replace virtual call and retrieved struct with
cached value.

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-23 13:08:32 +01:00
Dominik Dabek
075c96267d feature: check indirect access for kernel
Do not make indirect allocations resident if kernel does not use
indirect access.
Enable for both level zero and opencl.

Related-To: NEO-7712

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-02-23 12:38:53 +01:00
Lukasz Jobczyk
26edbbcb37 Init ULLS before cmd container init
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-23 12:24:19 +01:00
Zbigniew Zdanowicz
43a49c4486 Refactor state base address programing 2/n
This change allows to read sba data directly from sba properties

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-23 12:20:25 +01:00
Daria Hinz
acececc214 feat: Add device IP version extension
This change introduces an extension to query the device IP version for L0,
which corresponds to the PRODUCT_CONFIG value.
For OCL, the old mechanism is maintained with a debug flag,
and the default behavior has been unified with L0.

Signed-off-by: Daria Hinz <daria.hinz@intel.com>
Related-To: NEO-7735
2023-02-23 10:20:42 +01:00
Raiyan Latif
aa661c1878 fix: Add peer USM Allocation to Residency Container
Added the USM Graphics Allocation originally allocated on the
remote peer device to the residency container, to ensure it is
migrated properly to device before a P2P operation occurs. The
page fault manager handles moving this allocation to the
appropriate device.

Related-To: LOCI-3597

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2023-02-23 09:27:15 +01:00
Lukasz Jobczyk
2f5be7a48d Copy command buffer into ring buffer
Resolves: NEO-7422

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-22 16:37:34 +01:00
Lukasz Jobczyk
45139de33a Leave init builtin async only on post silicon
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-21 15:45:58 +01:00
Compute-Runtime-Validation
678e47de2d Revert "Adjust maxWorkGroupSize value"
This reverts commit f7685a93e4.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-21 14:45:36 +01:00
Zbigniew Zdanowicz
b4544f6f78 Fix dependency resolve in level zero black box tests
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-21 08:25:07 +01:00
Mateusz Hoppe
87ea9473e4 fix: zeFenceHostSynchronize() to flush printf output
- zeFenceHostSynchronize() should flush printf output from GPU kernels

Related-To: NEO-7625

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-02-20 23:16:12 +01:00
Compute-Runtime-Validation
29cbdc2430 Revert "Traverse pNext chain for all memory allocations extensions"
This reverts commit bd8b85c354.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-02-19 10:10:24 +01:00
Michal Mrozek
15f08a92c0 [performance] do not perform migrations if not needed.
Skip migrations if nothing is migrated to the CPU side.

Related-To: NEO-5170
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2023-02-17 18:38:52 +01:00
Raiyan Latif
bd8b85c354 Traverse pNext chain for all memory allocations extensions
Related-To: LOCI-4036
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2023-02-17 18:07:39 +01:00
Fabian Zwolinski
5eeea0dee8 Enable CpuMemcpy for USM Host to Device transfer
This commit enables HostUSM -> DeviceUSM transfer to be performed
through CpuMemcpy with 50KB threshold.
USM copy is done on CPU only when it can be performed immediately -
no dependencies present, no events to wait for.

Related-To: NEO-7564
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-02-17 18:04:13 +01:00
Zbigniew Zdanowicz
bf2072c3ea Add cross regular and intermediate command lists base address state transitions
- updates coming from regular list are updated in csr last sent variables
- all per context and per kernel transitions kept in single place
- state updates from intermediate to regular are set in csr properties
- global atomics support duplicates removed

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-17 16:49:47 +01:00
Michal Mrozek
8aa1953bd6 [performance] Improve isRelaxedOrderingDispatchAllowed
- add early return
- change the if sequence

Related-To: NEO-5170

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2023-02-17 14:52:18 +01:00
Zbigniew Zdanowicz
2d6e5c2588 Fix issues in state base address properties tracking
- add correct stateless mocs state update in immediate command lists
- disallow stateless mocs dirty sba command dispatch when sba tracking enabled
- checks support first, only then do the dirty state check in csr

Related-To: NEO-5055

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2023-02-17 13:38:47 +01:00
Lukasz Jobczyk
4c32529b5b Move fillReusableAllocationLists to first append
Related-To: NEO-7422

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-17 12:07:17 +01:00
Warchulski, Jaroslaw
b485c025d0 Cleanup includes 57
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-17 11:19:59 +01:00
Rafal Maziejuk
f7685a93e4 Adjust maxWorkGroupSize value
Related-To: NEO-7357

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
2023-02-17 09:34:15 +01:00
Warchulski, Jaroslaw
0556d543a3 Cleanup includes 56
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-16 14:42:44 +01:00
Aravind Gopalakrishnan
d75c4d3ec7 fix: Skip adding device to list if context creation fails
Propogate error codes from ioctl failure properly up the layers
so that we skip exposing bad root devices.

Related-To: NEO-7709

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-02-16 11:40:54 +01:00
Jitendra Sharma
0bc4294af4 Add support for Sysman init and sysman driver init
With this change we are adding support for initializing
Sysman and also providing support to get Sysman driver
handles and device handles.

Related-To: LOCI-3950

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2023-02-16 08:10:39 +01:00
Neil Spruit
2aaebddb37 Revert "Heap allocation allow base address and growable addresses"
This reverts commit 44ec497b1a.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2023-02-15 18:34:40 +01:00
Lukasz Jobczyk
4e19807783 Add ClientNotRegistered constexpr definition
Related-To: NEO-7422, NEO-7458

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-02-15 14:49:11 +01:00
Filip Hazubski
4b7782d2ab refactor: Do not use api version when calculating driver version
Previous design allowed driver version to be no greater than 16-bit.
New design allows driver version to use (almost) whole 32-bit size limit.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-02-15 14:16:32 +01:00