OpenCL image processing

 To optimize the image processing speed on the mobile terminal, the optimization effect may be achieved with OpenCL.
The OpenCL-Headers- the Khronos https://github.com/KhronosGroup/OpenCL-Headers/
This IS ON A Sobel filter the using the Android OpenCL- https://github.com/WhiteIsClosing/Android-OpenCL-Sobel-Filter
  filtered by Sobel this The program to complete the parallelization of the Android platform based on OpenCL. Use OpenCL to achieve parallelization in smart phones (Android systems) to shorten processing time and reduce power consumption. OpenCL supports some Android devices above API 21.

-- OpenCL

  OpenCL (full name Open Computing Language, Open Computing Language) is the first open and free standard for general-purpose parallel programming of heterogeneous systems. It is also a unified programming environment that facilitates software developers for high-performance computing servers and desktop computing systems. , Hand-held devices write efficient and portable code, and are widely applicable to other parallel processors such as multi-core processors (CPU), graphics processing units (GPU), Cell type architectures, and digital signal processors (DSP), which are used in games, entertainment, There are broad development prospects in various fields such as scientific research and medical treatment.
  OpenCL consists of a language (based on C99) for writing kernels (functions running on OpenCL devices) and a set of APIs for defining and controlling the platform. OpenCL provides a parallel computing mechanism based on task segmentation and data segmentation.
  OpenCL is similar to the other two open industry standards OpenGL and OpenAL, which are used for three-dimensional graphics and computer audio respectively. OpenCL expands the GPU's capabilities beyond graphics generation.
- GPU 
 uses GPU to accelerate image rendering technology is very mature, because GPU is a typical single instruction multiple data (SIMD) architecture, good at large-scale parallel computing; and CPU is multiple instruction single data (MISD) Architecture, better at logic control. The CPU is only responsible for logic control, and the GPU is more responsible for computing. This architecture of one CPU (control unit) + several GPUs (sometimes may add several CPUs) (computing units) is the so-called heterogeneous programming.

Guess you like

Origin blog.csdn.net/ShareUs/article/details/94904801