"In this session I'm going to describe some efforts to bring OpenCL acceleration to the General Graphics Library (GEGL) and the GNU Image Manipulation Program (GIMP). I intend to show the current state of the project, some implementations techniques used and performance comparisons among common GPUs."
3. GIMP was designed to process images with 8-bits per channel.
• Artifacts
• Noise
GEGL is optimized to do it in high-depth formats, like floating-point.
4. Processing images in floating-point is intensive.
How can we improve GEGL performance?
5. The solution: making floating-poing processing
faster using GPUs, multi-threading and vectorization!
(All to do with OpenCL)
12. Common flow in a OpenCL program:
➡ Write code in the OpenCL language
➡ Detect the device
➡ Build your code
➡ Transfer data to the device
➡ Run your OpenCL program
➡ Transfer data back from device
13. AMD, Intel and Nvidia proprietary implementations.
Mesa open-source implementation is progressing fast.