GPGPU
General-Purpose computing on Graphics Processing Units (GPGPU) refers to the use of a GPU to perform arbitrary computation beyond graphics rendering. The appeal of this lies in the parallel processing capabilities of modern GPUs that can outperform CPUs by several magnitudes. This makes GPUs well-suited for e.g. machine learning.
Frameworks
Frameworks or platforms that facilitate GPGPU include:
- CUDA (NVIDIA)
- OpenCL (Cross-Platform)
- Compute Shaders
- ROCm (AMD)
- DirectML (DirectX)
ROCm (Radeon Open Compute)
Radeon Open Compute (ROCm) is AMD's rivaling product to NVIDIA's CUDA for GPGPU tasks. ROCm is an open-source software platform and provides tools, libraries, and frameworks that facilitate GPU programming.
Key components:
- HIP (Heterogeneous-compute Interface for Portability)
- C++ runtime API
- Allows code to be compiled for both AMD and NVIDIA GPUs
- ROCm Libraries
- Libraries for linear algebra, FFTs, deep learning and others