Commit Graph

71 Commits

Author SHA1 Message Date
Lukasz Jobczyk 73d3d83e60 Assign gpgpu engine at first enqueue
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-04-29 11:33:12 +02: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
Fabian Zwolinski 3d8effcd69 Clean-Up unused code related to GMock
This commit:
- Removes usings e.g. ::testing::Return
- Removes unnecessary gmock inclues
- Replaces Gmock macros (e.g. EXPECT_THAT) with our custom implementations

Related-To: NEO-4941
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2022-03-22 16:16:34 +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
Patryk Wrobel 498cf5e871 Implement GPU hang detection
This change uses DRM_IOCTL_I915_GET_RESET_STATS to detect
GPU hangs. When such situation is encountered, then
zeCommandQueueSynchronize returns ZE_RESULT_ERROR_DEVICE_LOST.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-01-31 13:48:17 +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 95585a81f7 Optimize timestamp packet dependencies
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-30 09:48:36 +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 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
Zbigniew Zdanowicz 7680331b4a Move shared object mocks to shared directory
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-20 18:48:37 +01:00
Mateusz Jablonski e4bbed49d0 Use full path to include test.h 1/n
fix files in opencl

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-15 12:34: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
Filip Hazubski 2098b0c3fa Refactor Device::engineGroups to store only available engine groups
Simplify logic around engine groups.
Remove no longer needed code.
Ensure correct device is used when verifying engine groups.

Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-06 18:27:31 +01:00
Lukasz Jobczyk c455c0f9c6 Remove "Update Device::engineGroups"
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-03 10:16:40 +01:00
Filip Hazubski 4461b8ea3f Refactor: Update Device::engineGroups to store only available engine groups
Simplify logic around engine groups.
Remove no longer needed code.

Related-To: NEO-6219

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-02 15:10:22 +01:00
Zbigniew Zdanowicz f79de1de8d Unify calculation of pipe control post sync address
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-16 11:16:46 +01:00
Zbigniew Zdanowicz 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
Mateusz Jablonski fbf1f367f4 Dont create blitter engine when blitter support is disabled
Related-To: NEO-6325
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-11-05 11:07:07 +01:00
Mateusz Jablonski 9c1e7422b1 DG1: don't use blitter when creating buffer
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-11-03 14:36:56 +01:00
Mateusz Jablonski 3a2b018eb6 Enable blitterOperationsSupported on DG1
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-28 14:16:19 +02:00
Mateusz Jablonski 3f94399dbb Cleanup builtins dependencies
move builtins builders to ClExecutionEnvironment

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-10-19 17:29:28 +02:00
Maciej Dziuban 19a6c9b1d3 Track separate task count for each BCS in OpenCL CommandQueue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-13 12:06:27 +02:00
Maciej Dziuban c910a58aa0 Store bcsEngine in an std::vector in OpenCL CommandQUeue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-10-07 21:55:21 +02:00
Artur Harasimiuk 9bea74a780 move mock_memory_manager to shared
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-05 16:22:38 +02:00
Maciej Dziuban c04f8e5e5b Pass copy engines to waitUntilComplete in OpenCL command queue
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-24 14:11:44 +02:00
Zbigniew Zdanowicz 3b35ba504f Adapt command stream receiver to multiple active partitions
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-09-23 14:32:20 +02:00
Maciej Dziuban 2707618fe3 Pass engine type to getBcsCommandStreamReceiver in OpenCL
Related-To: NEO-6057
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2021-09-21 16:27:07 +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
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
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
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 fb996a3d5b Add EngineDescriptor helper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-08-12 15:19:46 +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
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 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 5af793ddc6 Remove TSP implicit dependency tracking logic
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-16 08:47:00 +02:00
Bartosz Dunajski 2d55916003 Disable atomic dependency tracking for TSP
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-06-15 15:03:57 +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
Zbigniew Zdanowicz 4fa5041f27 Add inline directive to smallest functions
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-10 09:27:07 +02:00
Kamil Kopryk d3c47ae831 Rename constructPropertiesForReadWriteBuffer function
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4692
2021-06-09 16:39:06 +02:00
Bartosz Dunajski 9c5dee54dc Fix root device residency for TagNode
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-17 14:51:23 +02:00
Bartosz Dunajski e53202e96b TagAllocator to accept multiple root devices
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-14 09:27:16 +02:00
Milczarek, Slawomir 9839b3049d Move unit test helper to shared code
Related-To: NEO-5161

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-04-13 20:06:08 +02:00
Bartosz Dunajski b6e3817f31 Dont program dcFlush when not allowed
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-31 16:13:19 +02:00
Bartosz Dunajski 5a50ad098c Refactor TagAllocator
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-03-26 15:16:56 +01:00