Includes some tricky manipulation of the locks for contexts and streams.
issue is that stealing a stream requires we lock the context to
walk the streams to find a victim. To avoid deadlock, we can't
have a stream locked when we lock the context. This implementation
releases the stream lock, then acquires the context and selects the
victim.
A more stable implemenation might be to copy the stream list
from a context so that a lock is not required to walk all streams.
Smart shared_ptr could be used to prevent the streams from being
deallocated during the walk.
[ROCm/clr commit: b29fbf736d]
Includes some tricky manipulation of the locks for contexts and streams.
issue is that stealing a stream requires we lock the context to
walk the streams to find a victim. To avoid deadlock, we can't
have a stream locked when we lock the context. This implementation
releases the stream lock, then acquires the context and selects the
victim.
A more stable implemenation might be to copy the stream list
from a context so that a lock is not required to walk all streams.
Smart shared_ptr could be used to prevent the streams from being
deallocated during the walk.
Includes some tricky manipulation of the locks for contexts and streams.
issue is that stealing a stream requires we lock the context to
walk the streams to find a victim. To avoid deadlock, we can't
have a stream locked when we lock the context. This implementation
releases the stream lock, then acquires the context and selects the
victim.
A more stable implemenation might be to copy the stream list
from a context so that a lock is not required to walk all streams.
Smart shared_ptr could be used to prevent the streams from being
deallocated during the walk.
SWDEV-2 - Change OpenCL version number from 2329 to 2330.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2076 edit
[ROCm/clr commit: 9461bd5db9]
SWDEV-2 - Change OpenCL version number from 2329 to 2330.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2076 edit
SWDEV-2 - Change OpenCL version number from 2328 to 2329.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2075 edit
[ROCm/clr commit: 688ff11645]
SWDEV-2 - Change OpenCL version number from 2328 to 2329.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2075 edit
SWDEV-2 - Change OpenCL version number from 2327 to 2328.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2074 edit
[ROCm/clr commit: 449772003a]
SWDEV-2 - Change OpenCL version number from 2327 to 2328.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2074 edit
SWDEV-2 - Change OpenCL version number from 2326 to 2327.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2073 edit
[ROCm/clr commit: 26aa36070b]
SWDEV-2 - Change OpenCL version number from 2326 to 2327.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2073 edit
SWDEV-110504 - OpenCL on ROCm: MAX_WORK_GROUP_SIZE is 256 but max work items per dimension is 1024
- Report Orca stack capabilities. OCL runtime currently can't report 1024 due to possible regressions in the apps.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#12 edit
[ROCm/clr commit: 0673572c79]
SWDEV-110504 - OpenCL on ROCm: MAX_WORK_GROUP_SIZE is 256 but max work items per dimension is 1024
- Report Orca stack capabilities. OCL runtime currently can't report 1024 due to possible regressions in the apps.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#12 edit
SWDEV-107966 - PCMark10 OpenCL Performance Regression with SVM
- Remove optimization for pinned memory. This causes performance drops now what we can use SUA model. This can be inserted in the future if the IOMMUv2 HW gets faster
ReviewBoardURL = http://ocltc.amd.com/reviews/r/12125/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#237 edit
[ROCm/clr commit: 46b8820454]
SWDEV-107966 - PCMark10 OpenCL Performance Regression with SVM
- Remove optimization for pinned memory. This causes performance drops now what we can use SUA model. This can be inserted in the future if the IOMMUv2 HW gets faster
ReviewBoardURL = http://ocltc.amd.com/reviews/r/12125/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#237 edit
SWDEV-2 - Change OpenCL version number from 2325 to 2326.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2072 edit
[ROCm/clr commit: 6d8a7a40c9]
SWDEV-2 - Change OpenCL version number from 2325 to 2326.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2072 edit
SWDEV-110151 - [CQE OCL][TongaGL][QR] Hard hang/ error saying: "rendered images have artifacts(probably due to driver...)" is observed, while running RAT GPU(Low) due to faulty CL#1354622
ReviewBoardURL = http://ocltc.amd.com/reviews/r/12112/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#178 edit
[ROCm/clr commit: eba058f572]
SWDEV-110151 - [CQE OCL][TongaGL][QR] Hard hang/ error saying: "rendered images have artifacts(probably due to driver...)" is observed, while running RAT GPU(Low) due to faulty CL#1354622
ReviewBoardURL = http://ocltc.amd.com/reviews/r/12112/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#178 edit
CWSR buffers can be large on dGPUs (~21MB on gfx803). Allocating them
in VRAM limits the number of queues that can be created unnecessarily.
Also make freeing of per-queue buffers symmetric with allocation. All
buffers are now allocated with allocate_exec_aligned_memory on dGPUs
and APUs, so use free_exec_aligned_memory to free them.
Change-Id: I45e8cb1801857d0268750202cdd422426611e457
CWSR buffers can be large on dGPUs (~21MB on gfx803). Allocating them
in VRAM limits the number of queues that can be created unnecessarily.
Also make freeing of per-queue buffers symmetric with allocation. All
buffers are now allocated with allocate_exec_aligned_memory on dGPUs
and APUs, so use free_exec_aligned_memory to free them.
Change-Id: I45e8cb1801857d0268750202cdd422426611e457
[ROCm/ROCR-Runtime commit: 4181b408fc]
SWDEV-109541 - Max queues limit in OCL impacts product development at GE Healthcare
- Make GPU_MAX_COMMAND_QUEUES available in release build
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#263 edit
[ROCm/clr commit: 548d4174ea]
SWDEV-109541 - Max queues limit in OCL impacts product development at GE Healthcare
- Make GPU_MAX_COMMAND_QUEUES available in release build
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#263 edit
SWDEV-2 - Change OpenCL version number from 2324 to 2325.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#2071 edit
[ROCm/clr commit: 99820356f1]