Commit Graph

1164 Commits

Author SHA1 Message Date
Filip Hazubski
dd01cff879 Unify logic determining thread arbitration policy value
Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-08 13:14:56 +01:00
Lisanna Dettwyler
e6e6ae2d2b Don't use low-priority CSR for copy-only cmdq
getCsrForLowPriority will always return a CSR with a compute engine
regardless of the ordinal used. When a copy-only ordinal is used to
create a command queue or command list, batch buffers are written using
BCS style commands rather than CCS style. This caused BCS commands to be
submitted to a low-priority compute engine which was invalid. This patch
ensures a copy engine is selected when a copy-only ordinal is used even
if ZE_COMMAND_QUEUE_PRIORITY_PRIORITY_LOW is specified.

Related-To: LOCI-2980

Signed-off-by: Lisanna Dettwyler <lisanna.dettwyler@intel.com>
2022-03-07 21:38:12 +01:00
Zbigniew Zdanowicz
8f5dd3cff5 Refactor immediate command list flushing
Related-To: NEO-6242

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-03-07 20:37:28 +01:00
Filip Hazubski
80b520bc9b Change ThreadArbitrationPolicy enum type to int32_t
Change ThreadArbitrationPolicy::NotPresent value to -1
Update initial values to ThreadArbitrationPolicy::NotPresent

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-07 20:04:24 +01:00
Filip Hazubski
0f54a57910 Update programming STATE_COMPUTE_MODE
Remove function clearComputeModePropertiesIfNeeded.
If a field has to be programmed unconditionally, ignore isDirty flag.

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-07 16:23:59 +01:00
Jaime Arteaga
a010fb3634 Dont close shared handle on imported allocations
Related-To: LOCI-2272

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-06 04:35:47 +01:00
Krystian Chmielewski
0ccce5a6d7 Zebin: set kernel barriers based on ext funcs
This change allows for modifying kernel's barrier count
based on called external functions metadata passed
via zeInfo section in zebin.

Added parsing external functions metadata.
Added resolving external functions call graph.
Added updating kernel barriers based on called external functions.
Added support for L0 dynamic link.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-03-04 14:21:50 +01:00
Compute-Runtime-Validation
d06bbd07e5 Revert "Add ze_eu_count_t to get total number of EUs"
This reverts commit 30ea8ea48e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-03-04 06:55:17 +01:00
Kacper Nowak
38086029ed Zebin: Add support for querying device globals by host name
This commit adds support for querying global pointers via decorated
names passed in zeInfo.
Related-To: NEO-6734
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-03-03 13:13:22 +01:00
Jaime Arteaga
30ea8ea48e Add ze_eu_count_t to get total number of EUs
Related-To: LOCI-2667

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-03-03 01:30:59 +01:00
Milczarek, Slawomir
862ac378a6 Ignore ze memory advise non atomic mostly flags
Related-To: NEO-5170

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-03-01 17:46:05 +01:00
Mateusz Hoppe
a73d3612ce Refactor L0 mock enablers
- add l0_libult target that groups all enablers
- enhance aub fixture - add debugging mode

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-03-01 13:49:26 +01:00
Konstanty Misiak
cf1bc3a2ba Disable EU fusion based on kernel properties from compiler
Related-To: NEO-6633

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2022-02-28 18:50:38 +01:00
Aravind Gopalakrishnan
8aa2e76173 Allow device allocs for timestamp events
Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-28 15:50:22 +01:00
Jaime Arteaga
06a4d2cc02 Refactor support for L0 scheduling hints (XE_HP and later)
Make sure STATE_COMPUTE_MODE is updated when passing the
scheduling hint for a kernel.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-02-24 20:42:41 +01:00
Aravind Gopalakrishnan
c1970942aa Update debug key to override timestamp event settings
Related-To: NEO-5968

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-23 23:38:05 +01:00
Patryk Wrobel
7f729b7f89 Detect GPU hang in clWaitForEvents
This change:
- moves NEO::WaitStatus to a separate file
- enables detection of GPU hang in clWaitForEvents
- adjusts most of blocking calls in CommandStreamReceiver to return WaitStatus
- adds ULTs to cover the new code

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-23 13:33:09 +01:00
Mateusz Jablonski
ea6f089e17 Unify implicit args programming across APIs
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-23 11:52:47 +01:00
Joshua Santosh Ranjan
d24c6cedfb Metrics Ip Sampling Fix Inclusions
This patch fixes isolation build issues
due to inclusions.

Related-To: LOCI-2707

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-02-23 10:02:21 +01:00
Igor Venevtsev
086a70ca52 Add ForceAllResourcesUncached debug variable
Resolves: NEO-6563

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-02-23 09:43:48 +01:00
Compute-Runtime-Validation
e984760423 Revert "Move and extend local memory DRM allocations"
This reverts commit b84b0015d5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-22 08:48:46 +01:00
John Falkowski
0666ed35ba Make unified builtin table including stateless kernels
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2022-02-22 05:30:38 +01:00
Daniel Chabrowski
b84b0015d5 Move and extend local memory DRM allocations
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-21 16:04:53 +01:00
Joshua Santosh Ranjan
10f98b45db Metrics Add Os specific implementation Structure for IP Sampling
This patch adds OS specific implementation for IP Sampling.
Implementation for linux is provided as part of this patch.

Related-To: LOCI-2787

--- master-files
level_zero/tools/source/metrics/linux/os_metric_ip_sampling_imp_linux.cpp
level_zero/tools/source/metrics/os_metric_ip_sampling.h
level_zero/tools/source/metrics/windows/os_metric_ip_sampling_imp_windows.cpp
level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_prelim.cpp
level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_upstream.cpp
level_zero/tools/test/unit_tests/sources/metrics/windows/test_metric_ip_sampling_windows.cpp
--- master-files

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-02-18 23:15:44 +01:00
Aravind Gopalakrishnan
16f2fbbc37 [9/n] L0 immediate commandlist improvements
Add HwInfo utility for more fine-grained flush task enablement
Related-To: LOCI-1988

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-18 19:51:28 +01:00
Mateusz Hoppe
be7c45bab0 Fix registering and unregistering module debug handle
- do not unregister module handle if not registered before

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-18 08:43:15 +01:00
Mateusz Jablonski
4f71aaf595 Handle SIMD-1 scenario when programming local ids for implicit args
according to implicit args design for SIMD-1 local ids are one-by-one

Resolves: NEO-6692
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-17 17:48:54 +01:00
Maciej Plewka
f9307bb20e Fix don't store internal host mem in hostPtrMap
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-02-17 14:38:40 +01:00
Compute-Runtime-Validation
83025da96f Revert "Add ze_eu_count_t to get total number of EUs"
This reverts commit 24c18beada.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-17 09:42:22 +01:00
Jaime Arteaga
24c18beada Add ze_eu_count_t to get total number of EUs
Related-To: LOCI-2667

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-02-16 17:25:26 +01:00
Igor Venevtsev
60d6505932 L0 debugger - reports process ENTER/EXIT events for zeCommandQueues
- PROCESS_ENTRY - triggered by first zeCommandQueueCreate()
- PROCESS_EXIT  - triggered by last zeCommandQueueDestroy()

Resolves: NEO-6503

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2022-02-16 16:28:33 +01:00
Patryk Wrobel
1275c4e200 Detect GPU hang in remaining blocking calls of L0
This change introduces detection of GPU hangs in
zeEventHostSynchronize and zeFenceHostSynchronize.
Furthermore, if CommandQueueHw::executeCommandLists
uses ZE_COMMAND_QUEUE_MODE_SYNCHRONOUS and hang occurs,
the information about it is propagated to the caller.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-16 14:47:29 +01:00
Aravind Gopalakrishnan
74cdd60255 [7/n] L0 immediate commandlist improvements
Enable flushTask only for specific families for now

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-15 18:43:30 +01:00
Mateusz Hoppe
0e37f8c830 Register zebin module for all kernel allocations
Related-To: NEO-6637

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-15 16:58:04 +01:00
Kacper Nowak
cd9cc53159 Correct setting usesStringMap flag in printf
This commit fixes setting usesStringMap flag for printf, taking into
account using indirect functions in legacy (non-zebinary) path. It also
adds new field to kernelDescriptor, specifying the binary type
(legacy/zebin).

Related-To: NEO-6604
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-02-15 15:39:10 +01:00
Compute-Runtime-Validation
c5c3e865f0 Revert "Fail build program on PVC with stateful accesses"
This reverts commit 9466113cef.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-14 18:55:14 +01:00
Kamil Kopryk
9466113cef Fail build program on PVC with stateful accesses
Related-To: NEO-6075

After this change driver will fail clBuildProgram/zeModuleCreate api calls
whenever stateful access is discovered on PVC.
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
bufers greater than 4GB.


Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-02-14 13:44:22 +01:00
Maciej Plewka
e51f8ceb0d Fix using offsetted host memory for multiple mem copy calls
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-02-14 13:20:34 +01:00
Kacper Nowak
1390af6efe Make usesStringMap flag independent of implicit args requirements
This commits removes part of condition requiring requiresImplicitArgs
flag set in kernel descriptor in order to set usesStringMap flag.

Related-To: NEO-6604
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-02-09 09:51:01 +01:00
Joshua Santosh Ranjan
596fe02dd3 Metrics Refactor Metric Streamer
This patch moves OA specific Metric Streamer implementation
to OA specific classes.

Related-To: LOCI-2905

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-02-08 22:42:05 +01:00
Mateusz Hoppe
e1758a2206 Register ELF for every kernel allocation for zebin format
- every isa allocation will have ELF linked
- fix for debug elf from patchtoken binary:
pass relocated ELF when exists
- simplify code

Related-To: NEO-5571

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-08 17:33:53 +01:00
Krystian Chmielewski
d49c5d6185 OCL: Set target device product family
In OCL product family of target device is not set
which leads to a fail on validating target device in
ZEBin path.
This change adds function that sets all
necessary fields based on provided hardware info.

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-02-08 16:49:28 +01:00
Krzysztof Gibala
f7a5d29085 Introduce debug flag ForceExtendedUSMBufferSize usage for L0
Forces extended buffer size by adding pageSize specify by number when
debug flag is >=1 in L0 USM calls

Usage:
ForceExtendedUSMBufferSize=2
size += (2 * pageSize)

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-02-08 16:23:40 +01:00
Joshua Santosh Ranjan
82ad3d61be Metrics Refactor MetricQuery and Metric Query Pool
This patch is to refactor MetricQuery and MetricQueryPool
so that Stall sampling metric could be integrated seamlessly

Related-To: LOCI-2904

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-02-07 19:34:22 +01:00
Michal Mrozek
dbcbd17c7c Remove not needed code.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-02-04 21:16:06 +01:00
Spruit, Neil R
8986435bd7 Convert FD to NT Handle for Import/Export of Memory
- In WSL the handle for DMA buf is an NT handle.
- To share and import this memory we check if the
handle is an NT handle before attempting to
load as an FD.
- If the handle is and NT handle, then we open the fd
as an NT handle.

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-02-04 21:01:26 +01:00
Bartosz Dunajski
4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +01:00
Mateusz Jablonski
b697d75695 Correct dimension order in local ids generated for implicit args
when local ids are generated by HW, use same dim order for runtime generation
move common logic to separated file

Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-04 12:46:59 +01:00
Compute-Runtime-Validation
6f62a784e1 Revert "Check IndirectStatelessCount from igc"
This reverts commit 5e62df4f8e.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-04 12:15:37 +01:00
Aravind Gopalakrishnan
f4b4110dfa [5/n] L0 immediate commandlist improvements
- Allow flushTask usage for XeHp+ only
- Fix black box test to only use Copy queue if found

Related-To: LOCI-1988

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-04 03:20:28 +01:00