How to use DNN OPENCL on AMD GPU?

Viewed 1325

On Windows 10, I want to use GPU as DNN backend to save CPU power. It works for Intel GPU, but there is problem on AMD GPU.

After I use setPreferableTarget(DNN_TARGET_OPENCL), the speed become very slow (much slower than DNN_TARGET_CPU). I checked with task manager and saw all calculation is on CPU actually.

The following is some log.

[ INFO:0] global D:\work\opencv\opencv\modules\core\src\ocl.cpp (891)
cv::ocl::haveOpenCL Initialize OpenCL runtime...

OpenCV(ocl4dnn): consider to specify kernel configuration cache
directory via OPENCV_OCL4DNN_CONFIG_PATH parameter.

[ INFO:0] global D:\work\opencv\opencv\modules\core\src\ocl.cpp (433)
cv::ocl::OpenCLBinaryCacheConfigurator::OpenCLBinaryCacheConfigurator
Successfully initialized OpenCL cache directory:
C:\Users\wangq\AppData\Local\Temp\opencv\4.3\opencl_cache\

[ INFO:0] global D:\work\opencv\opencv\modules\core\src\ocl.cpp (457)
cv::ocl::OpenCLBinaryCacheConfigurator::prepareCacheDirectoryForContext
Preparing OpenCL cache configuration for context:
Advanced_Micro_Devices__Inc_--Baffin--2906_10

OpenCL program build log: dnn/dummy

Status -66: CL_INVALID_COMPILER_OPTIONS

-cl-no-subgroup-ifp -D AMD_DEVICE

Any help would be appreciated.

0 Answers
Related