Commit Graph

47 Commits

Author SHA1 Message Date
Patryk Wrobel
19dded25ef Detect GPU hang in remaining calls of command queue and list
This change introduces checking of waits status in
CommandQueue and CommandList classes.

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-04-11 13:31:44 +02:00
Lukasz Jobczyk
a230f267e1 Poll task count indefinitely on high throttle command queue
Resolves: NEO-6781

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-03-25 10:06:16 +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
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
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
Patryk Wrobel
498cf5e871 Implement GPU hang detection
This change uses DRM_IOCTL_I915_GET_RESET_STATS to detect
GPU hangs. When such situation is encountered, then
zeCommandQueueSynchronize returns ZE_RESULT_ERROR_DEVICE_LOST.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-01-31 13:48:17 +01:00
Raiyan Latif
394c0e90e1 Return error when failing on submission
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2022-01-12 16:42:30 +01:00
Spruit, Neil R
02f075c541 Power Saving Hint Support for Level Zero in Windows
- Added Functionality to pass ze_power_saving_hint_type_t to zeContextCreate
included in the pNext extensions in ze_context_desc_t.
- Enables handling a hint value 0-100 with 0 being no power savings
and 100 being maximum power savings.
- ZE_RESULT_ERROR_INVALID_ENUMERATION is returned given an invalid hint.

Related-To: LOCI-2567

Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
2022-01-06 23:56:59 +01:00
Lukasz Jobczyk
b2f286fc4a Reuse command buffers in L0 command queue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-09 15:52:36 +01:00
Zbigniew Zdanowicz
f56773d166 Setup partition registers once per context
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-22 22:41:09 +01:00
Zbigniew Zdanowicz
7d109c42bc Do not execute multi-tile command list on single-tile command queue
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-03 13:27:49 +01:00
Raiyan Latif
0859f99d64 Enable zeDeviceCanAccessPeer
- Propagate return value up from Batch Buffer exec
- Add zeDeviceCanAccessPeer functionality

Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2021-10-12 09:38:22 +02:00
Zbigniew Zdanowicz
3b35ba504f Adapt command stream receiver to multiple active partitions
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-23 14:32:20 +02:00
Bartosz Dunajski
a2e41716e2 Fix L0 CommandQueue command buffer allocation properties
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-21 16:33:48 +02:00
Rafal Maziejuk
f6c8fb47bb Delete unused L0 function
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-4541
2021-09-13 14:22:59 +02:00
Zbigniew Zdanowicz
cd4f3c221a Synchronize switching command buffers for all partitions
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-08 12:12:23 +02:00
Zbigniew Zdanowicz
6b299a3ab0 Make partitioned post sync operations for partitioned workloads
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-03 20:20:29 +02:00
Filip Hazubski
29c64c3dd0 Disable implicit scaling for cooperative kernels
When implicit scaling is disabled use useSingleSubdeviceValue = true.

Resolves: NEO-5757

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-18 14:56:37 +02:00
Zbigniew Zdanowicz
7b52f587da Disable timeout for inifinite synchronization time
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-08-03 16:34:07 +02:00
Zbigniew Zdanowicz
b454bcbfe7 Make KMD wait function non default and available under debug key
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-08-03 11:24:43 +02:00
Mateusz Hoppe
549b458e2f Add UNRECOVERABLE_IF when bufferAllocation is nullptr
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-07-30 09:59:36 +02:00
Zbigniew Zdanowicz
1b4ceb3d11 Use KMD wait function for infinite timeout synchronization
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-07-22 19:35:36 +02:00
Lukasz Jobczyk
9e50138829 Defer ULLS initialization
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-07-21 15:55:16 +02:00
Zbigniew Zdanowicz
bcd9b2f982 Add debug flag to override command queue synchronous mode
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-07-02 13:03:02 +02:00
Lukasz Jobczyk
fffa22b17d Enhance wait method in L0 command queue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-06-30 16:41:54 +02:00
Lukasz Jobczyk
3b41378055 Update command buffer task count in L0
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-06-29 16:29:23 +02:00
Maciej Plewka
e1bcad51f0 Fix makeNonResident for csr residency allocations
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-10 20:57:15 +02:00
Maciej Plewka
8abbc69fef Revert "Fix update residency task count for all submited allocations"
This reverts commit 2565223a05e410a9113dbf69dd92f68d98578329.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-10 08:41:13 +02:00
Maciej Plewka
925d8ad1eb Fix update residency task count for all submited allocations
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-07 11:54:00 +02:00
lgotszal
3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
Maciej Dziuban
f5b253207d Fix osContext initialization for L0 immediate command lists
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-05-17 15:05:05 +02:00
Zbigniew Zdanowicz
edc0a93927 Add preemption synchronization flag to command queue
Related-To: NEO-5778

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-04-28 13:14:18 +02:00
Mateusz Hoppe
671d916c70 Add Debugger specific log print macros
- use DebuggerLogBitmask while printing logs for SBA tracking

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-02 15:00:55 +02:00
Jobczyk, Lukasz
343fd602fa Add method to submit kernel on single subdevice
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2020-12-01 22:15:05 +01:00
Vinod Tipparaju
240563099c Clean up code for nullptr device check during cmdlist create
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-19 04:24:34 +01:00
Mateusz Hoppe
b384bda99a Exclude internally used cmdLists and cmdQs from debugging
Related-To: NEO-5241

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-17 12:17:34 +01:00
Bartosz Dunajski
bc1e772ec2 Set correct device bitfield for L0 command queue allocations
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-11-13 12:37:16 +01:00
Vinod Tipparaju
f553e1e514 Return "OUT_OF_MEMORY" when gfx alloc on device fails during cmdqueue create
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-11-10 06:26:02 +01:00
Vinod Tipparaju
083edd1a3e Thread safety violation fixes - Events & USM
Change-Id: I57de59f204d9fd4407be768d0b14bf579dae967d
Signed-off-by: Vinod Tipparaju <vinod.tipparaju@intel.com>
2020-09-03 08:54:34 +02:00
Mateusz Hoppe
55a6525b34 L0Debugger fixes
- add Sba buffer to residency container of cmdQ
- allocate debugSurface
- add printing SBA tracked addresses

Change-Id: I3eb4d918b99dfadd737d8f9f8174e94b1a620125
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-21 10:41:15 +02:00
Jaime Arteaga
398ad44404 Correct values in queue synchronize
Change-Id: I645d1ae50d6e17d2d330ba9d21ef1a8cf7b955b8
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-08-06 00:26:50 +02:00
Jaime Arteaga
902fc2f6c4 level-zero v1.0 (2/N)
Change-Id: I1419231a721fab210e166d26a264cae04d661dcd
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: macabral <matias.a.cabral@intel.com>
Signed-off-by: davidoli <david.olien@intel.com>
Signed-off-by: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@intel.com>
Signed-off-by: Spruit, Neil R <neil.r.spruit@intel.com>
Signed-off-by: Latif, Raiyan <raiyan.latif@intel.com>
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2020-08-03 13:11:13 +02:00
Mateusz Hoppe
ef4fae3903 Enable TBX mode in level zero
RelatedTo: NEO-4644

Change-Id: I76913d6b7c7d978a5a90a7a574778c67283497c1
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-05-06 16:33:15 +02:00
Maciej Plewka
691a4ea823 Add blit copy implementation for L0
Change-Id: I327a4cf977e166cb648ee9f3a79374f7cefa7b1b
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-04-09 13:36:09 +02:00
Filip Hazubski
a7e4ad4eba Add unspecifiedDeviceIndex constant
Change-Id: I146e9c80ce0d18aae5e56fadf83f5e1603173fd7
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2020-04-01 20:37:05 +02:00
Mateusz Hoppe
6dc5810c7f Add more cmdlist tests
Related-To: NEO-4515

Change-Id: Idc0e0cdab97cb1a2437c212cbe8ae2bcf673125f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-03-27 18:26:47 +01:00
Jaime Arteaga
d96e462754 Reorganize Level Zero Core API files
Change-Id: I95750b90748dd65310fa72b030ea3ab2f72d3f24
Signed-off: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-03-25 11:21:43 +01:00