Lukasz Jobczyk
a74ae8f6af
Implement timestamp wait for events
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-17 17:57:30 +01:00
Lukasz Jobczyk
c8ba97e492
Restore gpgpu csr's mutex lock in the enqueue blit
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-10 13:36:46 +01:00
Lukasz Jobczyk
f91ae9d59c
Add multithread enqueue blit OOQ test
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-07 11:17:27 +01:00
Compute-Runtime-Validation
e526cc470b
Revert "Add multithread enqueue blit OOQ test"
...
This reverts commit 0919cad885 .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2022-03-03 16:06:15 +01:00
Lukasz Jobczyk
999c6424a4
While enqueue blit do not flush gpgpu if already flushed
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-03 13:01:57 +01:00
Patryk Wrobel
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
Lukasz Jobczyk
0919cad885
Add multithread enqueue blit OOQ test
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-02 14:18:58 +01:00
Michal Mrozek
bfacd14b61
Remove not needed code.
...
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com >
2022-03-02 13:10:15 +01:00
Lukasz Jobczyk
ea574d9b39
Optimize enqueue blit mutex
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-01 14:43:29 +01:00
Lukasz Jobczyk
3c30e1b02b
Add AssignBCSAtEnqueue debug flag
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-01 12:43:36 +01:00
Patryk Wrobel
0ecc7c5e3b
Detect GPU hangs in clFinish
...
This change introduces detection of GPU hangs in
clFinish function as well as unit tests to cover
the new code.
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com >
2022-02-28 19:07:36 +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
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
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
Lukasz Jobczyk
9ff1307b4b
Fix optimize timestamp packet dependiencies
...
-program barrier after global fence allocation is programmed
-do not double barrier timestamp in blit enqueue
-flush GPGPU while submitting to BCS when barrier requested
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-02-03 16:27:09 +01:00
Bartosz Dunajski
52c6973e89
Rename blitBuffer method
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com >
2022-02-03 15:02:55 +01:00
Michal Mrozek
8f85d4b8f8
Add debug variable to override message simd.
...
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com >
2022-02-03 11:07:42 +01:00
Konstanty Misiak
65255ea38f
Allow pointer copy when copying from host to svm
...
Related-To: NEO-5737
Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com >
2022-02-02 13:08:35 +01:00
Mateusz Hoppe
3e66f21df6
Remove incorrect Debug break
...
- kernels using debug surface does not need to use
only bindful buffers
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com >
2022-01-28 13:51:02 +01:00
Maciej Plewka
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
Rafal Maziejuk
f064f7dd67
Check if origin + region doesn't exceed image dimensions
...
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com >
Related-To: NEO-6137
2022-01-25 15:13:15 +01:00
Katarzyna Cencelewska
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
Michal Mrozek
27c43b27f3
Remove not needed method.
...
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com >
2022-01-20 15:02:19 +01:00
Katarzyna Cencelewska
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
Katarzyna Cencelewska
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
Michal Mrozek
a8b8a61c87
Fix marker calls in non profiling path.
...
When waiting , if we guard blit copy operation,
we need to wait for bcs as well.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com >
2022-01-18 15:46:50 +01:00
Michal Mrozek
dd63f96836
Fix dependency resolution when marker with profiling is programmed.
...
We need to make sure it properly follows dependencies.
Before the change, code was not programming semaphores.
Related-to: NEO-6444
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com >
2022-01-18 11:48:38 +01:00
Katarzyna Cencelewska
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
Katarzyna Cencelewska
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
Katarzyna Cencelewska
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
Dominik Dabek
6c40c712d8
Check workDim when enqueueing kernel
...
Return CL_INVALID_WORK_DIMENSION when workDim is more than
maxWorkItemDimensions.
Related-To: NEO-6159
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com >
2021-12-31 15:42:09 +01:00
Filip Hazubski
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
Lukasz Jobczyk
418a8854b2
Skip timestamp wait when enqueue non kernel operation
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2021-12-30 10:02:07 +01:00
Lukasz Jobczyk
95585a81f7
Optimize timestamp packet dependencies
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2021-12-30 09:48:36 +01:00
Lukasz Jobczyk
b59b0b6b36
Download timestamps before checking completion
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2021-12-28 08:14:27 +01:00
Lukasz Jobczyk
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
Filip Hazubski
f4c151cce5
Refactor PipeControlArgs struct
...
Remove struct PipeControlArgsBase
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2021-12-22 17:13:16 +01:00
Filip Hazubski
9a450d1b74
Pass hwInfo to appendMiFlushDw
...
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2021-12-22 15:22:47 +01:00
Filip Hazubski
0fd685541d
Add isDcFlushAllowed function to HwInfoConfig
...
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2021-12-21 18:29:43 +01:00
Filip Hazubski
6d439f88bb
Explicitly set dcFlushEnable value
...
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2021-12-21 12:21:11 +01:00
Mateusz Jablonski
66bf806018
Remove magic number from set/getBatchBufferStartAddressGraphicsaddress methods
...
rename methods to set/getBatchBufferStartAddress
Related-To: NEO-6466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2021-12-16 19:03:01 +01:00
Lukasz Jobczyk
1f0c58d0bf
Refactor timestamp wait mechanism
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2021-12-16 13:22:19 +01:00
Bartosz Dunajski
fe8cb190bc
Remove deprecated code
...
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com >
2021-12-14 11:36:10 +01:00
Zbigniew Zdanowicz
01348451db
Add multi tile barrier to marker command on multi tile device
...
Related-To: NEO-6262
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com >
2021-12-13 18:14:39 +01:00
Filip Hazubski
64aec8dc4e
Rename functions
...
Rename getEngines to getAllEngines
Rename engines to allEngines
Rename getEngineGroups to getRegularEngineGroups
Rename engineGroups to regularEngineGroups
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2021-12-13 14:27:02 +01:00
Michal Mrozek
ebb16c8b74
Add new debug key to control dependency resolution.
...
Currently only supported scenario is one in order queue.
Instead of resolving dependencies via semaphores, do this with pipe controls.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com >
2021-12-09 17:26:38 +01:00
Filip Hazubski
f137e927c5
Add EngineUsageHint debug variable
...
Related-To: NEO-6219
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com >
2021-12-09 16:06:23 +01:00
Rafal Maziejuk
d5f3ac37bf
Add KernelExecutionType argument to encodeAdditionalWalkerFields method
...
Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com >
2021-12-08 12:00:42 +01:00
Lukasz Jobczyk
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
Maciej Dziuban
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