Commit Graph

3027 Commits

Author SHA1 Message Date
Maciej Bielski
56cb1f757b programStateBaseAddress: improve code reuse
Another step towards cleaner callers of
StateBaseAddressHelper<>::programStateBaseAddress.

Export programming state base address into a separate function to
improve code reuse and reduce copy-pasted fragments, which make code
modifications or maintenance more and more difficult over time. Use
specialization for gen-specific variations.

Related-To: NEO-6774
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-09-21 11:54:57 +02:00
Michal Mrozek
bddf8c7dbc Do not make resident something that is already resident.
Move checks to upper layers.
100ns gain in ZE_AFFINITY_MASK=0.0 PrintDebugSettings=1
./api_overhead_benchmark_l0 --test=ExecuteCommandListImmediate --api=l0
--UseProfiling=0 --CallsCount=1 --MeasureCompletionTime=0
--useBarrierSynchronization=0 --KernelExecutionTime=1 --iterations=1000

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-21 10:59:35 +02:00
Dunajski, Bartosz
faf8d51f6d Remove fallback path for PAT index programming
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-09-21 10:46:43 +02:00
Lukasz Jobczyk
efac290ba3 Do not use selector copy engine
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-20 21:49:00 +02:00
Mateusz Hoppe
92893a5101 L0Debug - add support for mirrored isa heaps
- allow tileInstanced ISA while debugging

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-20 19:32:00 +02:00
Compute-Runtime-Validation
643e21631c Revert "Store indirect residency at command queue level"
This reverts commit ffad5c6c09.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-20 18:12:12 +02:00
Mateusz Jablonski
99d63facb5 Clarify meaning of ForceDeviceId debug flag
this flag can be used only to override device id in AUB/TBX mode

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-09-20 13:15:15 +02:00
Mateusz Jablonski
cfe51ff2ba Remove not used isSimulation functions
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-09-20 11:01:55 +02:00
Kamil Kopryk
17d87a4c69 Add RemoveUserFenceInCmdlistResetAndDestroy debug flag
Related-To: NEO-7156
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-09-19 22:35:53 +02:00
Michal Mrozek
3d5e34f727 Reduce the size of masks to 4.
32 is not required.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-19 21:53:40 +02:00
Maciej Plewka
ffad5c6c09 Store indirect residency at command queue level
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>

Related-To: NEO-7211
2022-09-19 17:01:20 +02:00
Michal Mrozek
fc9352cfcb Optimize binding process.
- Do not iterate when all devices are parsed
- Early continue if given device not present in context

200ns (+10%) in below scenario from compute-benchmarks
ZE_AFFINITY_MASK=0.0 PrintDebugSettings=1 ./api_overhead_benchmark_l0
--test=ExecuteCommandListImmediate --api=l0 --UseProfiling=0
--CallsCount=1 --MeasureCompletionTime=0 --useBarrierSynchronization=0
--KernelExecutionTime=1 --iterations=1000

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-19 16:47:34 +02:00
Milczarek, Slawomir
0192e8038f Check for GPU hang in path with wait for timestamps
Related-To: NEO-6868

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-09-19 15:01:46 +02:00
Zbigniew Zdanowicz
8eaa9d690e add tracking of the state of pipeline select for command lists and queues
This change prepares infrastructure for pipeline select handling in
command lists and queues by optimization of number of commands dispatched.
State is synchronized between flush-task immediate and regular command lists.
Next step is to add optimization itself which disables legacy hw command
dispatch algorithm.
This change corrects ADL-P support for systolic mode changes.

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-19 11:57:34 +02:00
Compute-Runtime-Validation
45c8124d8f Revert "Move kernel globals from SVM to USM device"
This reverts commit 706a5a7a8c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-18 12:49:44 +02:00
Krystian Chmielewski
b7a780868a Prepare OCL tests for switch to zebin
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-16 15:33:26 +02:00
Sebastian Luzynski
706a5a7a8c Move kernel globals from SVM to USM device
With this change, module's data sections will be allocated in USM device pool
instead of SVM or USM shared.

Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-09-15 16:50:12 +02:00
Lukasz Jobczyk
24b1cfbff5 Change internal copy engine to BCS3
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-15 16:08:10 +02:00
Zbigniew Zdanowicz
218a98f7f7 Refactor of pipeline select programming
Adding new interface to cooperate with hw context state
Simplify programming removing unnecessary functions
Code optimization that stop using expensive call and instead
stores configuration parameter

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-15 15:38:10 +02:00
Zbigniew Zdanowicz
cee520b311 simplify systolic mode code and reduce double implementation
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-15 11:57:54 +02:00
Kamil Kopryk
307b74869c Add OverrideCmdListCmdBufferSize debug flag
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156
2022-09-14 13:09:54 +02:00
Patryk Wrobel
f6bf669ee9 Use forward declarations in compression_selector.h
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-14 11:54:24 +02:00
Zbigniew Zdanowicz
647661e701 add pipeline select hw properties support flags
Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-14 11:23:44 +02:00
Kamil Kopryk
c99fe2ae23 Reduce surface state indirect heap size
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-09-14 10:25:06 +02:00
Jim Snow
40fb0c2542 Clean up RTDispatchGlobals patch token parsing
Related-To: LOCI-3349

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
2022-09-14 07:38:37 +02:00
Compute-Runtime-Validation
b874f0840e Revert "Move kernel globals from SVM to USM device"
This reverts commit 4d00a7ee8c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-13 18:41:44 +02:00
Maciej Bielski
0d0d6a300e Debugger: simplify captureStateBaseAddress()
So far captureStateBaseAddress() was a wrapper around
programSbaTrackingCommands(), doing an additional checking before
calling the latter. The checking is apparently no longer relevant, so
unify the distinction and remove part of the code which is no longer
needed.

In practice, keep the captureStateBaseAddress() while moving the body of
programSbaTrackingCommands() into it. This imposes lower diff-impact
onto the class hierarchy. Remove the second function. Simplify the
caller which had to distinct these two functions previously.

Related-To: NEO-6774
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-09-13 17:08:31 +02:00
Krystian Chmielewski
09bf464327 Add option to disable zebin in ocloc
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-13 14:36:54 +02:00
Kamil Kopryk
410fd7d909 Correct binding table prefetch
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-6075

Binding table entry count was zeroed even when
ForceBtpPrefetchMode debug flag was enabled
2022-09-13 14:34:30 +02:00
Sebastian Luzynski
4d00a7ee8c Move kernel globals from SVM to USM device
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-09-13 11:13:58 +02:00
Maciej Bielski
e1b80ba1a8 Cleanup: updateStreamProperties(), SBA tracking
Fixes found out while working on the StateBaseAddress adaptation to
StreamProperties. Removing unused parameters, improving code reuse
(further improvements come with following commits).

Related-To: NEO-6774
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2022-09-12 17:56:28 +02:00
Patryk Wrobel
0fb52f7d45 Fix undefined behavior in IoctlHelperPrelim20::prepareVmBindExt()
When pointer type differs from the type, which was obtained
via new[] operator, then delete[] is undefined behavior.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-12 14:14:51 +02:00
Compute-Runtime-Validation
c2cd1a2698 Revert "Do not expose RCS on DG2"
This reverts commit 69c9a4e86c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-12 01:31:19 +02:00
Cencelewska, Katarzyna
9b19014cf1 Fix read of 64bit enviroment variables
change atoi to atoll

Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2022-09-09 14:00:10 +02:00
Andrzej Koska
69c9a4e86c Do not expose RCS on DG2
The RCS is no longer exposed under windows and linux on DG2

Related-To: NEO-7224
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
2022-09-09 13:20:31 +02:00
Krystian Chmielewski
1f6c09ba1d zebin: sanitize scratch space size
Sanitize scratch space size to value programmable on GPU.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-09 11:50:09 +02:00
Compute-Runtime-Validation
417746182c Revert "Ocloc: Add -s to options string for non-spirv input with -g option pa...
This reverts commit 301be3c21b.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-09 05:42:13 +02:00
Michal Mrozek
ec1de69fee Do not enable basic WA.
LOAD_BALANCED is disabled so basic WA is not needed.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-08 19:54:15 +02:00
Kamil Kopryk
788240c8ba Correct cmdstream size estimation - additional pipeline select gen12lp
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-7156

Additional pipeline select is required only on specific
gen12lp products. That check was missing only in cmdstream size
estimation path, hence we had an overestimation.
2022-09-08 16:34:54 +02:00
Lukasz Jobczyk
3a7f266d66 Enable BCS split in OCL
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-09-08 15:56:30 +02:00
Kacper Nowak
301be3c21b Ocloc: Add -s to options string for non-spirv input with -g option passed
Automatically add "-s" (source path) option if -g flag is present.
This applies only to non-spirv input.
Related-To: NEO-7285
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-09-08 15:19:05 +02:00
Kacper Nowak
710c8cf5ef Linker: add support for symbols with local binding
This commits add support for relocating
symbols with local binding and of functional type
(STB_LOCAL, STT_FUNC).

Related-To: NEO-7299
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-09-08 14:50:29 +02:00
Michal Mrozek
824c781ab5 Do not program extended WA.
It was only needed for LOAD_BALANCED scenarios, so with recent disabling
of this feature in KMD, it is no longer required.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-08 13:51:17 +02:00
Dominik Dabek
a72213943e Change DG2 l1 cache policy to WB
With compiler LSC WAs this gives better performance.

If debugger is active, policy will not be changed ie.
will be WBP.

Related-To: NEO-7003

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-09-08 12:14:52 +02:00
Krystian Chmielewski
5af2bc8a60 zebin: add support for kernels source attributes
This commit adds parsing of "user_attributes" section of zeInfo
containing kernel's language attributes.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-08 12:07:19 +02:00
Krystian Chmielewski
2e9574c656 Fix printf for type BYTE and SHORT
Generated instructions writing to printf buffer require destination
address to be DWORD aligned. Because of that values of type BYTE (1B)
and SHORT (2B) need to be written as 4B value.
This change adds support for this. When trying to read value of type
BYTE or SHORT four bytes are actually read to be aligned with compiler
implementation.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-09-08 11:37:18 +02:00
Kamil Diedrich
0d5c27a75f Add support for ADL-N for WSL
Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
2022-09-07 20:11:45 +02:00
Mateusz Hoppe
6ad16c9e72 Missing support for OCL debugging with L0
- make resident debugSurface
- allocate debugSurface with correct allocation type and size
- notify cmdQ create/destroy

Related-To: NEO-7075

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-09-07 13:30:05 +02:00
Zbigniew Zdanowicz
b6e2d2df8b Add multi return points command lists for front end reconfiguration
This change gives fine grain control over front end configuration for each
kernel.
As it gives possible to inject FE command in command queue and return to exact
place in command list.
Programming commands in queue makes patching commands in command lists
not needed as that operation is costly.
And it allows to program context information for each command list too.

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-09-07 12:53:24 +02:00
Compute-Runtime-Validation
c0ce477f85 Revert "Enable BCS split WA in OCL"
This reverts commit abfcaf1265.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-06 20:42:57 +02:00