Dominik Dabek
308f9ccfff
Do not allocate dynamic state heap if not needed
...
Dynamic state heap is only used for sampler data.
Related-To: NEO-6821
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com >
2022-03-31 12:13:13 +02:00
Lukasz Jobczyk
aa46dd9cdf
Assign data only to unused barrier timestamps
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-30 16:56:06 +02:00
Zbigniew Zdanowicz
9858438121
Limit multiple partition count to compute command lists
...
Related-To: NEO-6811
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com >
2022-03-29 07:29:08 +02:00
Jobczyk, Lukasz
d77a6cbe4b
Enable task count update from wait
...
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com >
2022-03-28 11:09:55 +02:00
Mateusz Jablonski
e11eb46bff
Unify logic for programming mocs in post sync struct
...
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2022-03-25 17:01:51 +01: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
Compute-Runtime-Validation
0c064ccf4c
Revert "Enable task count update from wait"
...
This reverts commit 5118a5d3a6 .
Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com >
2022-03-25 00:09:52 +01:00
Lukasz Jobczyk
5118a5d3a6
Enable task count update from wait
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-23 11:38:50 +01:00
Patryk Wrobel
e4d56cde21
Detect GPU hangs in blocking enqueue handler calls
...
This change introduces detection of GPU hangs in blocking
calls to enqueueHandler() function. Moreover, usages of
this function template have been revised and adjusted to
check the exit code. Furthermore, enqueueBlit() and
dispatchBcsOrGpgpuEnqueue() functions returns value now.
ULTs have been added to cover new cases.
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com >
Related-To: NEO-6681
2022-03-22 21:06:19 +01:00
Jitendra Sharma
f52f3df274
Add platform specific getter of debug surface size
...
For different platforms based on number of available threads
and debug surface layout, calculate max debug surface size.
Related-To: NEO-6676
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com >
2022-03-22 12:18:40 +01:00
Lukasz Jobczyk
fec738208a
Assign data to overwritten bcs barrier timestamps
...
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com >
2022-03-22 11:54:11 +01:00
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