Commit Graph

1003 Commits

Author SHA1 Message Date
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
Joshua Santosh Ranjan
f1c50a8c89 Metric Refactor Metric Context
Rename Metric Context and move OA specific functions
and members from Metric Context to OA specific class(MetricSource).
This refactoring is done so that additional Metric Source
like Stall Sampling could be Seamlessly implemented.

Related-To: LOCI-2753


Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-02-03 21:34:14 +01:00
Spruit, Neil R
593756bee0 Fail given WDDM Driver and Fd Handle in WSL
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-02-02 19:01:35 +01:00
Dominik Dabek
5e62df4f8e Check IndirectStatelessCount from igc
If kernel has no stateless indirect accesses don't set the
kernelHasIndirectAccess flag.
Don't make resident or migrate if kernel has no indirect accesses.
Changed initial values in KernelAttributes.

Related-To: NEO-6597

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-02-02 12:28:30 +01:00
Dominik Dabek
fb1a008414 Change fences to use tag allocation
Instead of creating new allocation per fence, use the task count.
Fence synchronize will wait for task count update.

Related-To: NEO-6634

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-02-02 11:56:29 +01:00
Aravind Gopalakrishnan
493a96b308 [3/n] L0 Immediate commandlist improvements
Enable flushTask by default
Related-To: LOCI-1988

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-02 07:46:00 +01:00
Compute-Runtime-Validation
900e63102c Revert "Add ze_eu_count_t to get total number of EUs"
This reverts commit efdfdeba7f.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-02 02:59:25 +01:00
Jaime Arteaga
4aef9925b0 Add support for zeDeviceGetP2PProperties
Related-to: LOCI-2784

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-02-01 17:06:43 +01:00
Mateusz Hoppe
4d8d2412f9 Add subslice ID remapping for single slice configs
Related-To: NEO-6565

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-01 16:38:57 +01:00
Aravind Gopalakrishnan
1abfb23a21 [2/n] L0 Immediate commandlist improvements
Allow flushTask usage only for Compute
Related-To: LOCI-1988

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-01 09:37:45 +01:00
Aravind Gopalakrishnan
63a8908744 [1/n] L0 Immediate Commandlist improvements
Add indirect allocs to residency in flushTask

Related-To: LOCI-1988

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2022-02-01 01:39:23 +01:00
Jaime Arteaga
efdfdeba7f 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-01 00:19:08 +01:00