Commit Graph

199 Commits

Author SHA1 Message Date
Lukasz Jobczyk 1c68ac1cbc Assign engine to command queue using round robin algorithm
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-03 17:16:54 +01:00
Mateusz Jablonski f3afde1153 Dont expose internal copy engine if blitter operations are disabled
Related-To: NEO-6325
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-28 20:57:52 +02:00
Jitendra Sharma f8c89fe984 Refactor memory manager so as to support device reset
Move out neoDevice dependent pieces of memory manager code into
separate methods. Those methods could be used for recreating a neoDevice
after a device reset is performed.

Related-To: LOCI-2615

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2021-10-19 07:16:29 +02:00
Bartosz Dunajski 4865b2b9e8 Fix OCL SubDevice creation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-13 15:18:16 +02:00
Bartosz Dunajski 5856c283c5 Remove HardwareCapabilities struct
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-12 07:25:06 +02:00
Katarzyna Cencelewska a157963e79 Fix problem with compression hang on gen12lp
add creating of pageTableManager for non regular engins

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-10-06 17:02:08 +02:00
Jaime Arteaga 62de443660 Add copy engine support for USM shared migration
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-10-06 10:43:31 +02:00
Maciej Plewka 22725e5840 Pass device bit field to create bindless heaps allocations
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-10-05 14:36:59 +02:00
Katarzyna Cencelewska 30b3f5cdb0 Move PageTableManager from rootDeviceEnvironment to CommandStreamReceiver
Also add init of pageTable registers to blitter path

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-09-30 12:59:11 +02:00
Compute-Runtime-Validation 33f88884bd Revert "Add copy engine support for USM shared migration"
This reverts commit 91e9587a07.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-09-28 19:48:14 +02:00
Jaime Arteaga 91e9587a07 Add copy engine support for USM shared migration
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-09-28 15:30:59 +02:00
Bartosz Dunajski c525ff7eb4 Disable single tile engine instanced subdevices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-27 16:20:53 +02:00
Bartosz Dunajski 7b564b5caa Move OsTime to RootDeviceEnvironment
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-24 16:23:34 +02:00
Mateusz Jablonski 69390c7eca Move performance counters to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-09-24 11:59:55 +02:00
Bartosz Dunajski 0345d9f707 Improve queries with number of SubDevices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-09-01 14:01:57 +02:00
Bartosz Dunajski 92000bd75b Improve Device getter to support EngineInstanced Device with single Engine
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-31 15:50:23 +02:00
Bartosz Dunajski 294859eacf Create single engine for EngineInstanced Devices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-31 09:28:53 +02:00
Filip Hazubski 4f77db267b Create cooperative engine once on engineInstanced device
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-26 16:46:35 +02:00
Bartosz Dunajski cb91474b1a Improve getDevice methods
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-26 14:45:00 +02:00
Filip Hazubski 63f8c9d98b Add new EngineUsage
Simplify verifying EngineUsage in tryGetEngine function.
Remove unused getGpgpuEnginesCount function.

Related-To: NEO-4940

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-23 17:41:13 +02:00
Bartosz Dunajski 4fb5ceeb89 Add helper engines to EngineInstanced Device
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-19 16:14:19 +02:00
Filip Hazubski 84da4648cd Refactor engineGroups container
Use static array instead of the vector.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-08-19 13:49:32 +02:00
Konstanty Misiak ad19eda689 Fix event profiling for marker commands
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-08-13 15:02:01 +02:00
Bartosz Dunajski 2661962ac3 Pass engine instanced parameter during OsContext creation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-13 11:14:29 +02:00
Bartosz Dunajski fb996a3d5b Add EngineDescriptor helper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-12 15:19:46 +02:00
Szymon Morek 217d067ad5 Refactor calculating maxMemAllocSize
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-08-12 14:37:42 +02:00
Dominik Dabek 2a7757651a Change percent of global memory returned
Related-To: NEO-5796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-08-11 13:33:16 +02:00
Compute-Runtime-Validation d81c637b96 Revert "Use igc interface to get max param size"
This reverts commit a04d206fdd.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-08-07 08:50:27 +02:00
Dominik Dabek a04d206fdd Use igc interface to get max param size
Related-To: NEO-4851

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-08-06 12:57:21 +02:00
Bartosz Dunajski 5c7955b1d0 Update getInternalEngine() implementation and remove unused method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-03 21:25:33 +02:00
Szymon Morek e836f994f6 Correct maxMemAllocSize for multitile devices
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-07-29 14:32:42 +02:00
Jaroslaw Chodor 7c6c45f5b5 Add option to allocate private mem per dispatch
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-07-27 13:34:12 +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
Szymon Morek 42c5f2235b Fix calculating maxMemAllocSize
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-07-15 22:10:05 +02:00
Dominik Dabek bbe599aa95 Selectively enable getMaxThreadsForWorkgroup WA
Related-To: NEO-6022

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-07-14 17:29:43 +02:00
Piotr Obst acf3e58a64 Move wddm_fixture.h and releted files from opencl to shared
Related-To: NEO-5894
Signed-off-by: Piotr Obst <piotr.obst@intel.com>
2021-07-07 12:30:12 +02:00
Maciej Dziuban 6f6ee90aa5 Extend copy engine selector data
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-07-06 12:28:55 +02:00
Maciej Plewka bc121c09fa Use DSS count to callculate max work group size
This reverts commit 89b7a4c9cc0a69cfd2eb5a0bd138356f34c52f0d.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-07-05 10:14:20 +02:00
Maciej Plewka aed3fada28 Revert "Use Eu per dss to callculate max work group size"
This reverts commit 86b12dd23979db12e1898013c9162cb7106e40f1.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-07-02 17:16:06 +02:00
Maciej Plewka bcf93a6aeb Use Eu per dss to callculate max work group size
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-07-02 12:30:18 +02:00
Jim Snow 2acc0fb3f6 Add memory backed buffer allocation for L0 ray tracing.
This allocates the buffer on a per-device basis and enables ray
tracing on devices that support it when given a kernel with ray
tracing calls.

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
2021-07-02 11:56:18 +02:00
Michal Mrozek ad3855ceb3 Revert "Fix event profiling for marker commands"
This reverts commit 5f0167b477993f3ebc804c53a110bc432638615b.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-07-01 08:01:33 +02:00
Konstanty Misiak 1df1094465 Fix event profiling for marker commands
Related-To: NEO-5799

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-06-30 14:56:39 +02:00
Jaroslaw Chodor 1fa74b9b3c Changing sysmem allocation logic for WSL
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-06-29 16:03:28 +02:00
Szymon Morek 8b48b33a0c Remove 4GB limit if shared allocations supported
Resolves: NEO-5984

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-06-24 13:28:59 +02:00
Compute-Runtime-Validation 3137e82fca Revert "Remove redundant DualSubSliceCount checks"
This reverts commit 5e85fe5042.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-06-17 13:47:49 +02:00
Filip Hazubski 5e85fe5042 Remove redundant DualSubSliceCount checks
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-06-17 11:11:56 +02:00
Zbigniew Zdanowicz a692f1ecc5 Move flag setup after initialization
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-05-20 13:39:18 +02:00
Dominik Dabek f861b29802 Add ClDeviceGlobalMemSizeAvailPercent debug flag
Related-To: NEO-5796

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2021-05-19 16:16:27 +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
Mateusz Jablonski fcbf1dcf32 Mark SVM_GPU allocation as not lockable
require blitter usage if allocation is not lockable and in local memory

Related-To: NEO-5733
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-05-12 17:47:15 +02:00
Mateusz Jablonski a552d1fd65 Revert "Mark SVM_GPU allocation as not lockable"
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-05-12 12:24:02 +02:00
Mateusz Jablonski a79f7b678b Mark SVM_GPU allocation as not lockable
require blitter usage if allocation is not lockable and in local memory

Related-To: NEO-5733
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-05-12 09:49:35 +02:00
Bartosz Dunajski 7216623d6b Ability to change Generic SubDevice to EngineInstanced
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-10 17:30:47 +02:00
Bartosz Dunajski 75e8dc499e Unify Device methods
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-10 12:11:24 +02:00
Bartosz Dunajski b7e04ebbea 3rd level ZE_AFFINITY_MASK support.
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-07 21:00:19 +02:00
Bartosz Dunajski 9458638718 Affinity mask helper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-05 13:59:12 +02:00
Bartosz Dunajski 5403289d73 Expose correct engines for SubDevices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-29 14:20:10 +02:00
Bartosz Dunajski 0c9050c26c Create Root CSR only for Devices with Generic SubDevices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-27 14:04:05 +02:00
Bartosz Dunajski 4b300e80cb Engine instanced SubDevices [2/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-26 17:19:05 +02:00
Bartosz Dunajski dfb935fdcf Engine instanced SubDevices [1/n]
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-23 17:10:19 +02:00
Bartosz Dunajski 176270114b Simplify RootDevice class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-22 17:41:52 +02:00
Bartosz Dunajski a19c3eeee4 Remove Unrecoverable
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-22 13:54:12 +02:00
Maciej Dziuban ede866c212 Initialize root device context
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-04-20 16:10:49 +02:00
Mateusz Jablonski 9a22d06efe Store default engine index per root device
Resolves: NEO-5768
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-04-20 14:55:13 +02:00
Maciej Dziuban 927c097b0e Correct default engine index in MemoryManager
Related-To: NEO-5610
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-04-19 16:20:33 +02:00
Maciej Dziuban 5318ff1872 Defer OsContext initialization
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5610
2021-04-19 11:54:34 +02:00
Zbigniew Zdanowicz 3909bd0fea Add setter function to event class
Related-To: NEO-5244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-04-12 10:44:24 +02:00
Bartosz Dunajski 9cf7651643 Simplify Device classes
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-08 19:00:59 +02:00
John Falkowski 218387dd47 Apply timerResolution mod for L0 V1.1
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2021-03-27 11:43:03 +01:00
Jaime Arteaga 56b2686f0d Add method to get internal copy engine
Related-To: LOCI-2010

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-03-24 10:10:08 +01:00
Filip Hazubski 8d55bfe21d Implement zeCommandListAppendLaunchCooperativeKernel
Resolves: NEO-4725


Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-03-22 19:26:41 +01:00
Mateusz Hoppe db1157f729 Do not create preemption allocation when debugger is used
- preemption alloc should only be needed with MidThread

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-03-18 17:43:03 +01:00
Katarzyna Cencelewska c58f26c6ec Add debug flag OverrideSlmSize
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-03-18 17:24:42 +01:00
Maciej Dziuban 3f5b9df122 Pass EngineUsage to getEngine
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5610
2021-03-16 16:31:44 +01:00
Filip Hazubski 9a8125cdb0 Correct formatting
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-03-16 10:29:41 +01:00
Maciej Dziuban 264f20ea00 Pass EngineTypeUsage to OsContext creation
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5610
2021-03-16 10:21:18 +01:00
Konstanty Misiak 88a1593913 Add software tags
Related-To: NEO-344

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2021-03-15 15:51:08 +01:00
Bartosz Dunajski 8b89fb8541 Capability to exclude Engine on SubDevice
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-08 11:32:13 +01:00
Maciej Dziuban f7d105f2e2 Create work partition allocation
Related-To: NEO-5546
Resolves: NEO-5561
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-02-17 15:28:42 +01:00
Kacper Nowak afbead513d Reuse SS allocations on freeGraphicMemory
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2021-02-09 16:00:42 +01:00
Lukasz Jobczyk 8ed14d0c9f Use ZE_AFFINITY_MASK for neo devices
Resolves: NEO-5438

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-01-29 11:13:29 +01:00
Maciej Dziuban 160e5ec112 OpenCL Queue Families extension 12/n
Fix engine selection for copy engines

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Relate-To: NEO-5120
2021-01-27 21:27:43 +01:00
Lukasz Jobczyk 18bfc3be8b Revert "Extend ZE_AFFINITY_MASK to OCL"
This reverts commit 452b53fb4d02ebf4205018b9fd982422e2d85f30.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-01-21 10:31:40 +01:00
Lukasz Jobczyk d9b6280511 Extend ZE_AFFINITY_MASK to OCL
Resolves: NEO-5438

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-01-19 14:10:44 +01:00
Maciej Dziuban ebbd042f1c Add root CSR to engine groups
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-01-08 12:35:01 +01:00
Maciej Dziuban 544dd141ec Refactor addEngineToEngineGroup functions
This change replaces HwHelper::addEngineToEngineGroup with getEngineGroupType,
so we're able to map EngineType to EngineGroupType without pushing engines.

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-12-29 15:46:01 +01:00
Bartosz Dunajski 7abd1c97ab Debug flag to override profiling timer resolution
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-12-21 13:41:22 +01:00
Maciej Dziuban 14f92cc7a1 OpenCL Queue Families extension 1/n
Basic implementation, some things will be tweaked in future commits

Related-To: NEO-5120
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2020-11-24 11:48:18 +01:00
Mateusz Hoppe 8aacad1854 Create DebuggerL0 only when debugging is supported
Related-To: NEO-5239

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-23 18:28:45 +01:00
Adam Cetnerowski 154f7e87be Framework for adding custom device names
- Add new macro to define custom name
- Add handling for custom name
- Remove gen from generic name

Resolves: NEO-5251

Signed-off-by: Adam Cetnerowski <adam.cetnerowski@intel.com>
2020-11-23 12:24:53 +01:00
Maciej Plewka c80353587f Patch bindless offset
Related-To: NEO-4724

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-11-20 23:02:36 +01:00
Bartosz Dunajski d35806fdd8 Improve returning global and max alloc memory size
Change-Id: I2f22481412184f01652b7e49bc30a57c56e6204b
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-10-30 15:58:42 +01:00
Zbigniew Zdanowicz c678f3d9b0 Make DeviceBitfield argument constant
Related-To: NEO-5225

Change-Id: I14a5a4cc3394cd2b58a74bda183c734a0d17ac25
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-30 13:45:32 +01:00
Mateusz Hoppe ac3b65ba82 Refactor isDebuggerActive
- use it for SourceLevelDebugger only

Change-Id: I130219a13d6baa1f72c5b35295afd6efa4bf37fa
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-29 12:21:18 +01:00
Maciej Plewka 6bb4112d1e Create heap helper for bindless
Related-To: NEO-4724

Change-Id: I62527a3ad06dce5d886b6ecfebd3c9abc46f6741
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2020-10-29 10:51:38 +01:00
Zbigniew Zdanowicz 30a67618f8 Add DeviceBitfield argument to CSR constructor
Related-To: NEO-5225

Change-Id: I8cf0aef3ec16314cfb1a787852b6c20ce0f65955
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-10-28 17:10:31 +01:00
Jaime Arteaga b863c90e7d Add 4-digit zero alignment of device id in device name (3)
Add missing header.

Related-To: NEO-4744

Change-Id: Ic61b864bc27a681e0a9b3804884455511d88346b
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-22 12:51:15 -07:00
Jaime Arteaga 31291b1cf0 Add 4-digit zero alignment of device id in device name (2)
Unify names for OpenCL and L0

Related-To: NEO-4744

Change-Id: I5094f228f447ecbd942c25d6244abee593f3ffbf
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2020-10-22 15:53:20 +02:00
Slawomir Milczarek eb8f5fa301 Get CL Device Name with device ID appended at the end
Related-To: NEO-4744

Change-Id: I8a9a791a634f9c0c444695036d96e3c959c90de0
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-10-13 14:00:33 +02:00