Commit Graph

320 Commits

Author SHA1 Message Date
Maciej Dziuban 858727010f Add selectCsrForBuiltinOperation method to OpenCL CommandQueue
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-6057
2021-09-10 12:26:47 +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
Kamil Kopryk a924b6a304 Code cleanup - avoid copy 5/n
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-09-08 08:59:55 +02:00
Maciej Dziuban 3e6b3cd780 Revert "Create single point for selecting engine for builtin ops"
This reverts commit 6513bd371a69cb821ea45c7c1964ea1f51dd75b2.

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-02 11:58:46 +02:00
Compute-Runtime-Validation 94cd243360 Revert "Correct CSR used for hostptr allocations in builtins"
This reverts commit 69ae9dc9c2.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-09-02 04:45:06 +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
Maciej Dziuban 69ae9dc9c2 Correct CSR used for hostptr allocations in builtins
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-01 13:19:49 +02:00
Maciej Dziuban 33ac15dabe Pass blitter CSR in blocked queue scenarios
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-31 16:29:17 +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
Maciej Dziuban a03b5f8a95 Create single point for selecting engine for builtin ops
- selectCsrForBuiltinOperation selects proper CSR
- selected CSR is passed to dispatchBcsOrGpgpuEnqueue
- Notifications such as notifyEnqueueReadBuffer are now made on correct engine
- Temporary allocs for hostptrs are now created on gpgpuCsr

Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-31 13:29:17 +02:00
Maciej Dziuban 42524b6bef Limit usage of getBcsCommandStreamReceiver()
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-27 12:15:30 +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
Maciej Dziuban 78fa40fac0 Add new parameter to functions
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-08-19 17:25:43 +02:00
Maciej Plewka 096373ffe0 Dont use gpu time in submited timestamp for non blocking enqueue
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-08-17 19:00:44 +02:00
Szymon Morek aa5e1780a2 Rename plus in filenames to and_later
Related-To: NEO-5920

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-08-17 11:26:27 +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
Szymon Morek a85ae676e7 Rename plus in cmake macros to and_later
Related-To: NEO-5920

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-08-13 11:40:19 +02:00
Milczarek, Slawomir eb14d8458b Add helper function to enable stateless compression
Related-To: NEO-5107

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-08-02 14:34:33 +02:00
Kamil Kopryk 26e24fa872 Rename debug flag to EnableBlitterForEnqueueImageOperations
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-30 12:31:12 +02:00
Kamil Kopryk af4b1afdbd Add support for copy images by blitter OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-30 09:29:45 +02:00
Kamil Kopryk aed1da7495 Code cleanup - avoid copy 3/n
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-26 12:25:38 +02:00
Kamil Kopryk 88c6c9def8 Enable support for half_float images on BCS OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-26 11:26:49 +02:00
Maciej Dziuban 9bca773b91 Remove command queue constructor
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-07-23 14:16:02 +02:00
Kamil Kopryk 30151a8f02 Cleanup images pitch programming OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-21 19:47:56 +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
Maciej Plewka dfe578754b Fix add pipe controll before marker profiling
Resolves: NEO-6065

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-07-20 16:23:57 +02:00
Kamil Kopryk ce92b42f63 Code cleanup - avoid copy 2/n
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-20 10:44:24 +02:00
Mateusz Jablonski 6f3c89decb Add mechanism to migrate multi root device memory
invalidate TLB cache if kernel requires migration


Related-To: NEO-3691

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-07-19 19:49:22 +02:00
Kamil Kopryk 5a78fe3728 Code cleanup - avoid copy
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-19 18:01:36 +02:00
Kamil Kopryk d703cff0bd Code cleanup - don't copy string
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-07-19 17:54:42 +02:00
Kamil Kopryk f06938c3d0 Enable support for 1Darray images on BCS OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-07-19 17:30:49 +02:00
Zbigniew Zdanowicz a869921c2a Remove RMW from gfx allocations
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-07-15 11:28:03 +02:00
Szymon Morek 399dc60bf8 Remove processing extra properties
Related-To: NEO-6024

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-07-08 16:18:06 +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
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
Kamil Kopryk 8582c9cbc7 Don't use 1Darrayed images with BCS OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-28 15:04:03 +02:00
Bartosz Dunajski 5fbf084c41 Dont access PrintfHandler after move operation
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-28 13:57:42 +02:00
Kamil Kopryk 05cff2501a Remove not needed check IsNV12
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-28 11:39:07 +02:00
Bartosz Dunajski 96d14967ac Partial support for XE_HP_SDV
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-24 18:35:54 +02:00
Bartosz Dunajski e1f42c2ae1 Remove TSP atomic dependency tracking
This reverts commit d17668f023bee409ee68e766bbc7d5f16ce8d52b.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-23 16:59:41 +02:00
Bartosz Dunajski c4a936d864 Track TSP OOQ ownership
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-23 15:59:47 +02:00
Bartosz Dunajski 82f1816aec Keep implicit TSP dependencies ownership after enqueue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-22 13:37:20 +02:00
Bartosz Dunajski 2e97aeccfd Revert TSP changes
This commit reverts:
a1d2bdc76666059653c79fe39a26113ce47c632a,
71a115129c1698ff15305fd0ea3828cba861be47,
e1a9087a466bfba54d84a64247e6596092034a91.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-21 12:44:12 +02:00
Bartosz Dunajski 8523747f91 Clear Event dependencies for Subcapture
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-18 12:58:49 +02:00
Mateusz Jablonski e027178c37 Correct semaphore wait programming for cross device dependencies
when event is blocked by blocked user event then program semaphore wait during
unblocking user event

Related-To: NEO-3691

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-06-18 09:06:53 +02:00
Bartosz Dunajski 5af793ddc6 Remove TSP implicit dependency tracking logic
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-16 08:47:00 +02:00
Kamil Kopryk b2918b5115 Correct enqueueCopyImage params
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-15 13:24:57 +02:00
Bartosz Dunajski 06fd238a95 Keep old queue TimestampPacket nodes ownership until completed
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-15 08:33:00 +02:00
Maciej Plewka 9fe2dddcd3 Estimate command stream size for marker profiling
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-14 21:36:07 +02:00
Kamil Kopryk 9c181df6e6 Don't use half_float images with bcs OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-14 16:30:17 +02:00
Maciej Plewka 10cff46c22 Fix make resident event alloc for marker dispatch
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-06-14 10:44:27 +02:00
Krystian Chmielewski 6fad8b3100 Refactor ocl kernel
Removed dispatch traits pointers and added getters. Removed uneeded
tests.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-06-11 16:52:09 +02:00
Kamil Kopryk a9fe74c98d Don't use BCS for NV12 images
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-10 13:51:28 +02:00
Kamil Kopryk 6ea3f57849 Don't use bcs for mipmapped images OCL
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-10 12:48:47 +02:00
Piotr Zdunowski 7cac94b597 Fix profiling for marker commands.
Resolves: NEO-4867

Signed-off-by: Piotr Zdunowski <piotr.zdunowski@intel.com>
2021-05-27 12:15:07 +02:00
Michal Mrozek 6bd6182759 Improve helper.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-05-26 11:42:46 +02:00
Michal Mrozek 128c994821 improve lws algorithm
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-05-25 15:55:19 +02:00
Michal Mrozek 270cae33fd Change LWS selection policy for short kernels.
-prefer small LWS.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-05-20 15:23:06 +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
Matias Cabral 2830073139 Save State Save Area Header in OCL
Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2021-05-13 17:58:14 +02:00
Lukasz Jobczyk 8e1e213bcf Disable GEM_WAIT when new residency model available
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-05-10 14:59:21 +02:00
Krystian Chmielewski ef71915c71 Remove KernelArgInfo and use KernelDescriptor's args instead
Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-04-23 15:12:09 +02:00
Kamil Kopryk 7a5e0e13a5 Add isBlitterForImagesSupported helper
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2021-04-22 16:10:20 +02:00
Krzysztof Gibala 2b12e9b42f Program MI_SEMAPHORE_WAIT only on multi device setup
Fill and program CsrDependenciesForForTaskCountContainer
only on multi device environment

Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-04-21 16:38:06 +02:00
Adam Cetnerowski 33f05a25cd Fix typo
Signed-off-by: Adam Cetnerowski <adam.cetnerowski@intel.com>
2021-04-21 16:25:17 +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
Krzysztof Gibala b01b8ba5ac Use MI_SEMAPHORE_WAIT command for event synchronization
Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-04-19 11:34:52 +02:00
Mateusz Jablonski 722f693e0f Set Context in program when using builtins
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-04-06 17:41:19 +02:00
Mateusz Jablonski 8215395401 Simplify Context method
return if context has multiple sub devices related to a given root device

Related-To: NEO-3691
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-30 10:22:15 +02:00
Krzysztof Gibala 7bfe26a08d Remove ensureMemoryOnDevice function
Remove:
- ensureMemoryOnDevice
- lastUsedRootDeviceIndex
- requiredRootDeviceIndex
- getMigrateableMultiGraphicsAllocation

Related-To: NEO-4589
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-03-29 11:41:07 +02:00
Bartosz Dunajski e04c5b361a Remove Kernel arg from HardwareCommandsHelper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-27 11:23:53 +01:00
Bartosz Dunajski 5a50ad098c Refactor TagAllocator
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-26 15:16:56 +01:00
Bartosz Dunajski ee44979bb5 Fix blit enqueue support check
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-23 15:29:12 +01:00
Mateusz Jablonski 7098e9c5f2 Store single KernelInfo in Kernel
remove root device index from Kernel's methods

Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-22 21:30:03 +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 Jablonski 35d2325361 Remove KernelDeviceInfo struct
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-22 14:25:23 +01:00
Maciej Dziuban 2a1a63a823 Ensure valid engine inside OpenCL command queue
Related-To: NEO-5610
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-03-19 13:47:22 +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
Igor Venevtsev 52e118fe49 Add extra parameters to Buffer::setSurfaceState() method
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-03-16 10:17:59 +01:00
Krystian Chmielewski 41f3bd00ff Remove PatchTokens from KernelInfo
Use KernelDescriptor instead of patchTokens stored in KernelInfo's
patchInfo.
Removed: SPatchMediaInterfaceDescriptorLoad, SPatchAllocateLocalSurface,
SPatchMediaVFEState(slot 0), SPatchMediaVFEState(slot 1),
SPatchInterfaceDescriptorData, SPatchSamplerStateArray,
SPatchBindingTableState, SPatchDataParameterBuffer,
SPatchDataParameterStream, SPatchThreadPayload,
SPatchKernelAttributesInfo, SPatchAllocateStatelessPrivateSurface,
SPatchAllocateSyncBuffer,
SPatchAllocateStatelessConstantMemorySurfaceWithInitialization,
SPatchAllocateStatelessGlobalMemorySurfaceWithInitialization,
SPatchAllocateSystemThreadSurface.

Related-To: NEO-4729
Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2021-03-09 17:09:13 +01:00
Maciej Dziuban 03631ce22b Remove unused paths
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-03-09 13:20:11 +01:00
Mateusz Jablonski 056300f01f Pass internal kernel object to enqueueKernel method
Related-To: NEO-5001
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-08 19:14: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
Michal Mrozek 0cd03220df Optimize Fill buffer calls.
- reuse pattern allocations for subsequent calls.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-03-05 15:09:19 +01:00
Maciej Dziuban 1350aa52fb Pass DispatchInfo to estimation functions
Related-To: NEO-5546

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-03-05 12:47:55 +01:00
Bartosz Dunajski 9c164a01a6 AuxTranslationMode fallback path
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-02 12:09:04 +01:00
Mateusz Jablonski a33d74bb79 Disallow CPU buffer read/write operation if CPU access is disallowed
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-03-02 11:35:08 +01:00
Mateusz Jablonski da5f7b9216 Add debug keys to scratch register write after walker
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-02-26 16:13:57 +01:00
Bartosz Dunajski 184ec7d07d Dont allocate HwTimeStamp when TimestampPacket is used
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-02-26 11:18:41 +01:00
Krzysztof Gibala d8a1bb599e Extend event synchronization mechanism for multi device concept
Related-To: NEO-5508
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2021-02-16 11:27:47 +01:00
Maciej Dziuban 6eebf82ec5 Add HW-specific preference for usage of blitter in local->local transfers
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Resolves: NEO-5549
2021-02-15 12:47:54 +01:00
Maciej Dziuban 98ff3cc0a9 Do not use blitter for local->local SVM and USM copies
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5549
2021-02-11 16:24:57 +01:00
Maciej Dziuban a68a4aa74e OpenCL Queue Families extension 17/n
Return index of default queue (created without using the extension)

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-02-11 16:01:29 +01:00
Maciej Dziuban 2cd6809d1e Do not use blitter for clEnqueueCopyBuffer
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-02-11 12:42:43 +01:00
Igor Venevtsev bb72beac6b Add extra parameters to programStateBaseAddress()
Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-01-28 16:03:17 +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
Andrzej Koska 17bbe80271 Enable sharedMemory path for write buffer
Signed-off-by: Andrzej Koska <andrzej.koska@intel.com>
Related-To: NEO-5360
2021-01-26 18:48:02 +01:00
Maciej Dziuban 681c6eeb38 OpenCL Queue Families extension 11/n
Check for support of cross queue events in enqueue calls

Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Related-To: NEO-5120
2021-01-26 14:02:54 +01:00