Home > OS >  OpenCV 4.5.3, C , OpenCL "Transparent API", UMat instead Mat, no improvements
OpenCV 4.5.3, C , OpenCL "Transparent API", UMat instead Mat, no improvements

Time:11-23

my C code is running on Win 10, self built OpenCV 4.5.3., WITH_OPENCL flag checked.

Using UMat instead of Mat does not result in any performance improvements through "Transparent API" of OpenCL.

From what I have read on https://jeanvitor.com/opencv-opencl-umat-performance/ i expected at least a slight performance improvement when using UMat instead of Mat even on my notebooks Intel HD Graphics 520.

executing resize, cvtColor, and bilateralFilter for UMat and Mat does not show any difference.

ocl::haveOpenCL and ocl::useOpenCL both return true.

queried values for the only Device::TYPE_GPU device are:

name: Intel(R) HD Graphics 520
extensions: cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_depth_images cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator cl_intel_media_block_io cl_intel_driver_diagnostics cl_intel_device_side_avc_motion_estimation cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_khr_fp64 cl_khr_subgroups cl_khr_il_program cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_intel_planar_yuv cl_intel_packed_yuv cl_intel_motion_estimation cl_intel_advanced_motion_estimation cl_khr_gl_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_intel_d3d11_nv12_media_sharing cl_intel_simultaneous_sharing
version: OpenCL 2.1 NEO
OpenCLVersion: OpenCL 2.1 NEO
OpenCL_C_Version: OpenCL C 2.0

have also tried that on other machines, no difference in performance.

what am i missing, any ideas or hints?

CodePudding user response:

found out that the issue was caused by the Microsoft Unit Testing Framework for C . in my production code using UMat is way faster than Mat.

question answered

  • Related