List of OpenCL applications

Last updated

The following list contains a list of computer programs that are built to take advantage of the OpenCL or WebCL heterogeneous compute framework.

Contents

Graphics

CAD and 3D modelling

Audio, video, and multimedia

Web (including WebCL)

Office

Games

Scientific computing

Cryptography

Language bindings

Miscellaneous

See also

Related Research Articles

<span class="mw-page-title-main">Graphics processing unit</span> Specialized electronic circuit; graphics accelerator

A graphics processing unit (GPU) is a specialized electronic circuit initially designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal computers, workstations, and game consoles. After their initial design, GPUs were found to be useful for non-graphic calculations involving embarrassingly parallel problems due to their parallel structure. Other non-graphical uses include the training of neural networks and cryptocurrency mining.

<span class="mw-page-title-main">Mesa (computer graphics)</span> Free and open-source library for 3D graphics rendering

Mesa, also called Mesa3D and The Mesa 3D Graphics Library, is an open source implementation of OpenGL, Vulkan, and other graphics API specifications. Mesa translates these specifications to vendor-specific graphics hardware drivers.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

<span class="mw-page-title-main">CUDA</span> Parallel computing platform and programming model

In computing, CUDA is a proprietary parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for accelerated general-purpose processing, an approach called general-purpose computing on GPUs (GPGPU). CUDA API and its runtime: The CUDA API is an extension of the C programming language that adds the ability to specify thread-level parallelism in C and also to specify GPU device specific operations. CUDA is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements for the execution of compute kernels. In addition to drivers and runtime kernels, the CUDA platform includes compilers, libraries and developer tools to help programmers accelerate their applications.

nouveau (software) Open source software driver for Nvidia GPU

nouveau is a free and open-source graphics device driver for Nvidia video cards and the Tegra family of SoCs written by independent software engineers, with minor help from Nvidia employees.

Video Acceleration API (VA-API) is an open source application programming interface that allows applications such as VLC media player or GStreamer to use hardware video acceleration capabilities, usually provided by the graphics processing unit (GPU). It is implemented by the free and open-source library libva, combined with a hardware-specific driver, usually provided together with the GPU driver.

<span class="mw-page-title-main">OpenCL</span> Open standard for programming heterogenous computing systems, such as CPUs or GPUs

OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies programming languages for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.

Video Decode and Presentation API for Unix (VDPAU) is a royalty-free application programming interface (API) as well as its implementation as free and open-source library distributed under the MIT License. VDPAU is also supported by Nvidia.

Intel Quick Sync Video is Intel's brand for its dedicated video encoding and decoding hardware core. Quick Sync was introduced with the Sandy Bridge CPU microarchitecture on 9 January 2011 and has been found on the die of Intel CPUs ever since.

OpenACC is a programming standard for parallel computing developed by Cray, CAPS, Nvidia and PGI. The standard is designed to simplify parallel programming of heterogeneous CPU/GPU systems.

Heterogeneous System Architecture (HSA) is a cross-vendor set of specifications that allow for the integration of central processing units and graphics processors on the same bus, with shared memory and tasks. The HSA is being developed by the HSA Foundation, which includes AMD and ARM. The platform's stated aim is to reduce communication latency between CPUs, GPUs and other compute devices, and make these various devices more compatible from a programmer's perspective, relieving the programmer of the task of planning the moving of data between devices' disjoint memories.

Video Code Engine is AMD's video encoding application-specific integrated circuit implementing the video codec H.264/MPEG-4 AVC. Since 2012 it was integrated into all of their GPUs and APUs except Oland.

Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, and it is also designed to work with modern multi-core CPUs.

<span class="mw-page-title-main">GPUOpen</span> Middleware software suite

GPUOpen is a middleware software suite originally developed by AMD's Radeon Technologies Group that offers advanced visual effects for computer games. It was released in 2016. GPUOpen serves as an alternative to, and a direct competitor of Nvidia GameWorks. GPUOpen is similar to GameWorks in that it encompasses several different graphics technologies as its main components that were previously independent and separate from one another. However, GPUOpen is partially open source software, unlike GameWorks which is proprietary and closed.

The following table compares notable software frameworks, libraries and computer programs for deep learning.

<span class="mw-page-title-main">SYCL</span> Higher-level programming standard for heterogeneous computing

SYCL is a higher-level programming model to improve programming productivity on various hardware accelerators. It is a single-source embedded domain-specific language (eDSL) based on pure C++17. It is a standard developed by Khronos Group, announced in March 2014.

Nvidia NVDEC is a feature in its graphics cards that performs video decoding, offloading this compute-intensive task from the CPU. NVDEC is a successor of PureVideo and is available in Kepler and later NVIDIA GPUs.

<span class="mw-page-title-main">ROCm</span> Parallel computing platform: GPGPU libraries and application programming interface

ROCm is an Advanced Micro Devices (AMD) software stack for graphics processing unit (GPU) programming. ROCm spans several domains: general-purpose computing on graphics processing units (GPGPU), high performance computing (HPC), heterogeneous computing. It offers several programming models: HIP, OpenMP, and OpenCL.

oneAPI (compute acceleration) Open standard for parallel computing

oneAPI is an open standard, adopted by Intel, for a unified application programming interface (API) intended to be used across different computing accelerator (coprocessor) architectures, including GPUs, AI accelerators and field-programmable gate arrays. It is intended to eliminate the need for developers to maintain separate code bases, multiple programming languages, tools, and workflows for each architecture.

CuPy is an open source library for GPU-accelerated computing with Python programming language, providing support for multi-dimensional arrays, sparse matrices, and a variety of numerical algorithms implemented on top of them. CuPy shares the same API set as NumPy and SciPy, allowing it to be a drop-in replacement to run NumPy/SciPy code on GPU. CuPy supports Nvidia CUDA GPU platform, and AMD ROCm GPU platform starting in v9.0.

References

  1. "Setting the General Options". help.acdsystems.com. Retrieved 2019-05-23.
  2. "Photoshop graphics processor (GPU) card FAQ". helpx.adobe.com. Retrieved 2017-01-27.
  3. "AMD and Adobe® Creative Suite® 6 Innovate with OpenCL™ and GPU Acceleration". www.amd.com. Archived from the original on 2015-01-03. Retrieved 2017-01-27.
  4. "Applications: Adobe Photoshop CS6 - Can OpenGL And OpenCL Overhaul Your Photo Editing Experience?". Tom's Hardware. 2012-06-10. Retrieved 2017-01-27.
  5. "What does Hardware Acceleration do and how do I use it in Capture One?". Capture One. Retrieved 2024-09-06.
  6. "Blurate: Custom Image Manipulation". www.blurate.com. Advanced Kernels LLC. Retrieved 2017-01-27.
  7. "Darktable and OpenCL (updated) | darktable". www.darktable.org. 2 March 2012. Retrieved 2017-01-27.
  8. "10.2.7. OpenCL performance optimization | user manual | darktable". www.darktable.org. Archived from the original on 2016-05-02. Retrieved 2017-01-27.
  9. "NVIDIA vs. AMD OpenCL Linux Benchmarks With Darktable 2.2 - Phoronix". www.phoronix.com. Retrieved 2017-01-27.
  10. "Turbo für darktable: OpenCL Einrichtung".
  11. "Smistad/FAST". GitHub . 17 May 2022.
  12. "FAST: A Framework for High-Performance Medical Image Computing and Visualization" (PDF).
  13. "GIMP - StreamComputing launches GEGL-OpenCL project". www.gimp.org. 28 January 2016. Retrieved 2017-01-27.
  14. "GIMP 2.8 RC 1 includes OpenCL acceleration - khronos.org news". The Khronos Group. Retrieved 2017-01-27.
  15. "A Big Push For More OpenCL Hardware Acceleration With GEGL / GIMP - Phoronix". www.phoronix.com. Retrieved 2017-01-27.
  16. "Benchmark Results: GIMP - Can OpenGL And OpenCL Overhaul Your Photo Editing Experience?". Tom's Hardware. 2012-06-10. Retrieved 2017-01-27.
  17. "HALCON – The power of machine vision - MVTec Software GmbH". www.mvtec.com. Retrieved 2017-01-27.
  18. "Helicon Focus - History of changes (Windows)". Helicon Soft. Retrieved 2020-10-29.
  19. "Architecture @ ImageMagick". imagemagick.org. ImageMagick Studio LLC. Retrieved 2017-01-27.
  20. "Parallel Execution with OpenCL @ ImageMagick". www.imagemagick.org. ImageMagick Studio LLC. Retrieved 2017-01-27.
  21. "Benchmark Results: Musemage - Can OpenGL And OpenCL Overhaul Your Photo Editing Experience?". Tom's Hardware. 2012-06-10. Retrieved 2017-01-27.
  22. Walton, Patrick. "Pathfinder, a fast GPU-based font rasterizer in Rust - pcwalton - pcwalton's blog". pcwalton.github.io. Retrieved 2024-09-06.
  23. "GitHub - pcwalton/pathfinder: A fast, practical GPU rasterizer for OpenType fonts". github.com. Retrieved 2017-02-15.
  24. "System Requirements". www.agisoft.com. Retrieved 2017-01-27.
  25. "PhotoScan review - CGPress". CGPress. 11 May 2015. Retrieved 2017-01-27.
  26. "telugu-boy/seedimg". github.com. Retrieved 2020-11-13.
  27. "AMD and Autodesk speed up Maya with OpenCL - SemiAccurate". semiaccurate.com. 11 June 2012. Retrieved 2017-01-27.
  28. 1 2 3 4 5 "Professional and Consumer Media Software using OpenCL - StreamComputing". StreamComputing. 2013-12-28. Retrieved 2017-01-27.
  29. "Cycles". Archived from the original on 2020-10-23.
  30. "OpenCL geometry node". www.sidefx.com. Archived from the original on 2017-11-15.
  31. "Luxmark OpenCL Benchmark Updated to 2.1 for OS X 10.9". tonymacx86.com. Retrieved 2017-01-27.
  32. "GPU - LuxRender Wiki". www.luxrender.net. Archived from the original on 2011-10-25. Retrieved 2017-01-27.
  33. "Mandelbulber ::: 3D fractal explorer ::: open source / 64-bit / ray marcher". mandelbulber.com. Retrieved 2017-01-27.
  34. "Alchemist File". grassvalley.com. Retrieved 2018-09-28.
  35. "CUETools - CUETools wiki". cue.tools. Retrieved 2017-01-27.
  36. "FLACCL - CUETools wiki". cue.tools. Retrieved 2017-01-27.
  37. "HWAccelIntro – FFmpeg". trac.ffmpeg.org. Retrieved 2017-01-27.
  38. "FFmpeg 2.0 Released With OpenCL, Many Changes - Phoronix". www.phoronix.com. Retrieved 2017-01-27.
  39. "HWAccelIntro – FFmpeg".
  40. "fosphor – OsmoSDR". sdr.osmocom.org. Retrieved 2017-01-27.
  41. "Handbrake 0.9.9 Supports OpenCL Offloading - Phoronix". www.phoronix.com. Retrieved 2017-01-27.
  42. Shimpi, Anand Lal. "What We've Been Waiting For: Testing OpenCL Accelerated Handbrake with AMD's Trinity" . Retrieved 2017-01-27.
  43. "Graphics card compatibility for Final Cut Pro X, Motion 5, and Compressor 4". Apple Support. Retrieved 2017-01-27.
  44. "KNLMeansCL". GitHub . 10 February 2022.
  45. "Blueprint/AVScale". wiki.libav.org. Retrieved 2017-01-27.
  46. "OpenCL | OpenCV". opencv.org. Archived from the original on 2017-10-10. Retrieved 2017-01-31.
  47. "Benchmark Results: vReveal On The A8-3850's Radeon HD 6550D - OpenCL In Action: Post-Processing Apps, Accelerated". Tom's Hardware. 2012-02-01. Retrieved 2017-01-27.
  48. "Benchmark Results: ArcSoft Total Media Theatre SimHD - OpenCL In Action: Post-Processing Apps, Accelerated". Tom's Hardware. 2012-02-01. Retrieved 2017-01-27.
  49. "Tom's Hardware Q&A With ArcSoft - OpenCL In Action: Post-Processing Apps, Accelerated". Tom's Hardware. 2012-02-01. Retrieved 2017-01-27.
  50. VideoLAN. "VideoLAN - x264, the best H.264/AVC encoder". www.videolan.org. Retrieved 2017-01-31.
  51. Borho, Steve (2013-04-23). "[x264-devel] OpenCL lookahead" . Retrieved 2017-01-31.
  52. "GPU Accelerated HEVC Decoding".
  53. Wang, Fan; Zhou, Dajiang; Goto, Satoshi (3 December 2014). "OpenCL Based High-Quality HEVC Motion Estimation on GPU".
  54. Lardinois, Frederic (19 March 2014). "WebCL Will Soon Let Web Developers Harness The Power Of Multi-Core GPUs And CPUs From The Browser". TechCrunch. Retrieved 2017-01-27.
  55. "Platform/GFX/WebCL - MozillaWiki". wiki.mozilla.org. Retrieved 2017-01-27.
  56. "Collaboration and Open Source at AMD: LibreOffice". 2015-07-15. Retrieved 2021-07-09. Collabora also provide support and long term maintenance so that enterprises can confidently deploy an accelerated LibreOffice
  57. "LibreOffice Lands A Ton Of GPU OpenCL Functions". Phoronix. 2013-10-29. Retrieved 2021-07-09.
  58. "LibreOffice Lands A Ton Of GPU OpenCL Functions - Phoronix". www.phoronix.com. Retrieved 2017-01-27.
  59. "Collaboration and Open Source at AMD: LibreOffice - AMD". AMD. 2015-07-15. Retrieved 2017-01-27.
  60. "OpenCL Options - LibreOffice Help". help.libreoffice.org. Retrieved 2017-01-27.
  61. "Military Operations: Benchmark on Steam" . Retrieved 2018-05-11.
  62. "Planet Explorers on Steam" . Retrieved 2018-05-11.
  63. "Playing Games with OpenCL - IWOCL". 27 March 2014. Retrieved 2018-05-11.
  64. "BeamNG.drive on Steam" . Retrieved 2018-06-11.
  65. "Leela Zero GitHub". GitHub . Retrieved 2018-07-25.
  66. "ASL - Documentation". asl.org.il. Retrieved 2017-01-27.
  67. "AMD Compute Libraries". GitHub. Retrieved 2017-01-27.
  68. "clMathLibraries/clBLAS". GitHub. Retrieved 2017-01-27.
  69. "clMathLibraries/clSPARSE". GitHub. Retrieved 2017-01-27.
  70. "clMathLibraries/clFFT". GitHub. Retrieved 2017-01-27.
  71. "clMathLibraries/clRNG". GitHub. Retrieved 2017-01-27.
  72. "ArrayFire: | A Tensor Library for Fast GPU Computing".
  73. "ArrayFire v3.4 Official Release | ArrayFire". Archived from the original on 2016-10-26. Retrieved 2016-10-25.
  74. "BEAGLE | BEAST". beast.bio.ed.ac.uk. Retrieved 2017-01-27.
  75. "beagle-dev/beagle-lib". GitHub. Retrieved 2017-01-27.
  76. "Acceleration example on different platforms - BigDFT wiki". bigdft.org. Archived from the original on 2017-02-02. Retrieved 2017-01-27.
  77. "GPU computing - BOINC". boinc.berkeley.edu. Retrieved 2017-01-27.
  78. "HSA-Libraries/Bolt". GitHub. Retrieved 2017-01-27.
  79. "Bullet 2.80 released: GPU OpenCL rigid body pipeline, Android, deterministic Dynamica". bulletphysics.org. 2012-03-05. Archived from the original on 2017-01-29.
  80. "GPU rigid body simulation using OpenCL" (PDF). Multithreading And VFX.
  81. "CLBlast: The tuned OpenCL BLAS library". GitHub . 20 April 2022.
  82. "MAGMA". icl.cs.utk.edu. Archived from the original on 2017-02-02. Retrieved 2017-01-27.
  83. "icl / clMAGMA — Bitbucket". bitbucket.org. Archived from the original on 2017-02-02. Retrieved 2017-01-27.
  84. "MAGMA". icl.cs.utk.edu. Retrieved 2024-09-06.
  85. "CP2K ToDo list: finish OpenCL support". www.cp2k.org. Retrieved 2017-01-27.
  86. "New features". GROMACS 5.1 Release Notes 5.1 documentation. Retrieved 9 October 2016.
  87. "Installation guide — GROMACS 5.1 documentation".
  88. "StreamComputing/gromacs". GitHub. Retrieved 2017-01-27.
  89. "HiFlow3 - A Finite Element Software" (PDF).
  90. "Home - Wiki - hiflow3.org / HiFlow3 - GitLab".
  91. "GPUOpen-ProfessionalCompute-Tools/HIP". GitHub. Retrieved 2017-01-27.
  92. "5.3.1. GPU package — LAMMPS documentation". lammps.sandia.gov. Retrieved 2017-01-27.
  93. "0.14.8. GPU package — MDT documentation". mdt-toolbox.readthedocs.io. Retrieved 2018-09-05.
  94. "0.6.4. GPU package — MOT documentation". mot.readthedocs.org. Retrieved 2018-09-05.
  95. "OctopusWiki". octopus-code.org. Archived from the original on 2017-02-02. Retrieved 2017-01-27.
  96. "About OpenMM". openmm.org. Archived from the original on 2017-02-02. Retrieved 2017-01-27.
  97. "Omnia". Archived from the original on 2017-05-11.
  98. "PARALUTION – Software". www.paralution.com. Retrieved 2017-01-27.
  99. "kif/pyFAI". GitHub. Retrieved 2017-01-27.
  100. "Random123". www.thesalmons.org. Retrieved 2017-01-27.
  101. "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com. Retrieved 2017-01-27.
  102. "StarPU". starpu.gitlabpages.inria.fr. Retrieved 2021-04-22.
  103. "Theano/libgpuarray". GitHub. Retrieved 2017-01-27.
  104. "Installation — gpuarray 0.2 documentation". deeplearning.net. Archived from the original on 2017-02-02. Retrieved 2017-01-27.
  105. "ufo-kit/ufo-core". GitHub. Retrieved 2017-01-27.
  106. "ufo-kit/ufo-filters". GitHub. Retrieved 2017-01-27.
  107. "VexCL documentation — VexCL 1.3.3.post139 documentation". vexcl.readthedocs.io. Retrieved 2017-01-27.
  108. "ddemidov/vexcl". GitHub. Retrieved 2017-01-27.
  109. "About ViennaCL". viennacl.sourceforge.net. Retrieved 2017-01-27.
  110. "PyViennaCL". viennacl.sourceforge.net. Retrieved 2017-01-27.
  111. "luke-jr/bfgminer". GitHub. Retrieved 2017-01-31.
  112. "Bitcoin Mining Comes To Radeon Open-Source OpenCL - Phoronix". www.phoronix.com. Retrieved 2017-01-31.
  113. "hashcat - advanced password recovery". hashcat.net. Retrieved 2017-02-14.
  114. "magnumripper/JohnTheRipper". GitHub. Retrieved 2017-01-31.
  115. "lachesis/scallion". GitHub. Retrieved 2017-01-27.
  116. "JPaulMora/Pyrit". GitHub. Retrieved 2017-01-27.
  117. "ClojureCL is a Clojure library for parallel computations with OpenCL.: Uncomplicate/Clojurecl". GitHub . 2020-01-06.
  118. "DCompute: Native execution of D on GPUs and other Accelerators: Libmir/Dcompute". GitHub . 2020-01-11.
  119. "tonyrog/cl". GitHub. Retrieved 2017-01-27.
  120. "GitHub - flyx/OpenCLAda: An Ada binding for the OpenCL host API". GitHub . 2019-02-27.
  121. "GitHubOpenCL - JuliaGPU/OpenCL.jl: Julia bindings". GitHub . 2020-01-14.
  122. "PyOpenCL". mathema.tician.de. Retrieved 2017-01-27.
  123. "Coriander Project: Compile CUDA Codes to OpenCL, Run Everywhere - Phoronix".
  124. "cuda-on-cl" (PDF).
  125. "krrishnarraj/clpeak". GitHub. Retrieved 2017-01-31.
  126. "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com. Retrieved 2017-01-31.
  127. "ocltoys". github.com/ignatenkobrain/ocltoys. Retrieved 2018-01-23.
  128. "jodavies/opencl-stream". GitHub. Retrieved 2017-02-01.
  129. "MEMORY BANDWIDTH: STREAM BENCHMARK PERFORMANCE RESULTS". www.cs.virginia.edu. Retrieved 2017-02-01.
  130. "SNU NPB Suite - Center for Manycore Programming". aces.snu.ac.kr. Archived from the original on 2017-02-02. Retrieved 2017-01-31.
  131. "ekondis/mixbench". GitHub. Retrieved 2017-05-28.