Commit Graph

376 Commits

Author SHA1 Message Date
cd15c82eab Do not prefer copy engine for local to local transfers.
Execution Units are faster.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-08 15:42:58 +01:00
f193efec2f Remove additional memory allocations for surfaces container
In constructor of CommandComputeKernel we had been doing multiple allocations
of memory on heap due to lack of call to std::vector copy-constructor or reserve
member function.

Furthermore, in production code there is only one place, where we create objects
of this type and we redundantly copy the local variable, which could be moved.

This change:
- ensures that constructor of CommandComputeKernel performs single allocation
in the worst case; in the best case, it does not allocate memory due to usage
of std::move on input parameter
- steals the memory of the local variable in place of usage of the constructor
to remove redundant copying and memory allocations
- uses reserve() method to reduce the number of allocations during creation
of this local variable

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-03-03 12:07:36 +01:00
385c60948e Treat IMAGE1D_BUFFER type as buffer in BCS
This type of image needs to be treated as buffer in order to
allow width to be greater than 16383.

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-6134
2022-03-02 15:41:15 +01:00
b9d8d8c0fd Optimize setKernelArgSVMPointer
If same pointer is already set, we don't need to set it again.

Related-To: NEO-6737

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2022-03-01 09:12:13 +01:00
82e3b10c5a Fix typo
Related-To: NEO-5081
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-25 18:10:41 +01:00
a2386ad216 Correct programming of implicit args on pre-XeHp platforms
On pre-XeHp platforms implicit args aren't at the beginning of indirect data,
GPU address of implicit args buffer is programmed within cross thread data

Related-To: NEO-5081, IGC-4710
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-24 20:52:04 +01:00
0634aa3f1b Create resource with given address
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-02-24 17:06:19 +01:00
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
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
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
52c6973e89 Rename blitBuffer method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-03 15:02:55 +01:00
f8c104feaa Use fw declaration of IndirectHeap in CommandContainer
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-01-26 13:30:26 +01:00
3d9e1ea3a5 Remove device enqueue part 11
- remove templates from queue functions

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-25 12:40:56 +01:00
26308a59bc Fix getCommandQueueInfo for param CL_QUEUE_DEVICE_DEFAULT
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-20 17:42:33 +01:00
fbc0666d1b Move setGrfInfo from HardwareCommandsHelper to EncodeDispatchKernel
unify grf info programming across APIs

Related-To: NEO-6466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-01-20 15:42:06 +01:00
a06fbd2077 Remove device enqueue part 10
- remove DeviceQueue

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-19 17:41:06 +01:00
97765cd39f Remove device enqueue part 7
- mainly remove BlockKernelManager and ReflectionSurfaceHelper

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-19 10:41:57 +01:00
59683ec491 Remove device enqueue part 6
- isParentKernel, peekParentKernel, parentKernel
- structs: AUBParentKernelFixture, MockParentKernel,
ParentKernelCommandQueueFixture

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-17 13:56:29 +01:00
79c8605ed2 Fix checking required DSH Size
This change simplifies calculating required DSH Size
and replaces wrong debug break conditiong causing
debug assertion fails in many tests with simple
check "calculatedDSHSize > allocatedDSHSize".

Related-To: NEO-6077

Signed-off-by: Krystian Chmielewski <krystian.chmielewski@intel.com>
2022-01-15 00:24:46 +01:00
ff79c84115 Correct INTERFACE_DESCRIPTOR_DATA definitions for XeHp and later
Related-To: NEO-6466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-01-14 19:06:55 +01:00
d2818aaea2 Remove device enqueue part 5
-remove scheduler and builtin_kernels_simulation

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-13 14:15:26 +01:00
45ae4fe881 Remove device enqueue part 3
- isSchedulerKernel

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-12 13:50:18 +01:00
a9ebb49fb5 Remove device enqueue part 1
Remove:
-tests with matcher for device enqueue
-classes: MockDeviceQueueHw, DeviceQueueHw, SchedulerSimulation,
DeviceQueueHwTest, KernelArgDevQueueTest
-functions: forceDispatchScheduler, processDeviceEnqueue, dispatchScheduler

Related-To: NEO-6559
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2022-01-11 15:29:49 +01:00
5be4d89b73 Rename function
Rename MemorySynchronizationCommands::isDcFlushAllowed
to MemorySynchronizationCommands::getDcFlushEnable

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-30 17:03:22 +01:00
95585a81f7 Optimize timestamp packet dependencies
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-30 09:48:36 +01:00
14e338e669 Revert "Optimize timestamp packet dependencies"
This reverts commit c365b422963917e7b882f9db985969c036f0fa3f.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-23 14:29:29 +01:00
38ace23f72 When terminate task do not pass timestamps
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-23 12:34:51 +01:00
f4c151cce5 Refactor PipeControlArgs struct
Remove struct PipeControlArgsBase

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-22 17:13:16 +01:00
0fd685541d Add isDcFlushAllowed function to HwInfoConfig
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 18:29:43 +01:00
6d439f88bb Explicitly set dcFlushEnable value
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 12:21:11 +01:00
b9132ef5f5 Remove not used file
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-17 12:18:44 +01:00
fe8cb190bc Remove deprecated code
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-14 11:36:10 +01:00
d07c76c237 unTypedDataPortCacheFlush pipe_control helper support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-09 13:00:10 +01:00
7c610ed5bb Add new Engine Group types
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-07 15:28:15 +01:00
2b1aa8b331 Compilation fix: Add missing LrcaHelper types
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-07 13:19:36 +01:00
0c49fa8203 Add missing cache flush for blocked path
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-07 12:36:34 +01:00
e3bb526067 Optimize timestamp packet dependencies
- Clear dependencies even if last engine changed
- Do no program semaphore waiting for blit when blit is submitted with gpgpu
- Track barrier timestamps to correctly synchronize blits in OOQ

Related-To: NEO-6444
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-12-07 11:47:50 +01:00
f20236c7f2 Initial PVC support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>

Related-To: NEO-5542
2021-12-07 10:22:41 +01:00
09d2ffb9ed Add missing cache flush
Resolves: NEO-6505

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-06 17:28:12 +01:00
68aea5bf62 Rename compression flags and helpers
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-12-03 18:09:02 +01:00
6098290a0b Pass compression hints to memory properties
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-25 14:05:08 +01:00
61641bb70a Add implicit barriers capability to opencl
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-10 08:19:50 +01:00
4bf4b170f1 Simplify WALKER_TYPE definition
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-04 17:09:06 +01:00
4fbb199790 Add platform parameter to configure pipe control dispatch
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-02 12:14:10 +01:00
f1b6b733f0 Reuse graphics allocation from mapped buffers in OpenCL
Related-To: NEO-6352
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-27 15:53:10 +02:00
ce78bab177 Image compression checks
Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
Related-To: NEO-6102
2021-10-27 13:36:41 +02:00
1f2aa82c5b Remove UNUSED_VARIABLE macro
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-22 18:56:33 +02:00
28b37aea72 Correct handling unique_ptr in functions
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-10-21 18:17:14 +02:00
b1df167632 Move enable_product.inl to shared
extract api agnostic validators to shared
remove not needed opencl includes from neo shared


Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-12 22:02:16 +02:00
48f01f28f5 Move core part of MemoryPropertiesHelpers to shared
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-07 23:14:38 +02:00