APIs for utilising the potential of GPU for Computation

APIs for utilising the potential of GPU for Computation

Modern software needs to do a lot of computation intensive tasks like ML, Computer Vision, FEA (Finite Element Analysis), 3D rendering. With the advancements in GPU technology the software must be able to utilise the potential of GPUs. To utilise this power, the developer needs to use an API that enables them to interface with the GPU and do computation

Here is a list of well known GPU APIs for Computation. Some items on this list are more than just APIs.

1. OpenCL

This GPU API is mature and is widely used. easy to learn and works with wide range of Devices. Plenty of documentation is available to work with this API works on Mac OS, Windows, Linux. Uses GLSL which is a shading language based on C standard.

https://www.khronos.org/opencl/

2. CUDA

A very popular GPU API. Compatible with NVIDIA GPUs and has very advance features. A lot of 3D graphics software uses CUDA. Easy to learn with plenty of documentation and tutorials. Used by a lot of open source and paid software. It is also very easy to begin with and easy to learn

https://developer.nvidia.com/cuda-toolkit

3. Vulkan

It supports both Graphics and Computation. Supports wide range of devices / platforms like Android, Desktop, Some gaming consoles and Apple Devices (with MoltenVK). Has a little steep learning curve for beginners but should be easy for developers who have experience with other APIs.

https://www.vulkan.org/

4. DirectX

Developed by Microsoft. Mainly for Platforms like Xbox and Windows. It uses HLSL (High Level Shader Language). It can run Compute shaders for doing computation on the GPU. It has been around for a long time and is easy to learn and has excellent support and plenty of documentation.

https://learn.microsoft.com/en-us/windows/win32/dxmath/directxmath-portal

5. Metal API

Developed by Apple for Apple silicon devices and Operating systems like MacOS, iOS, iPadOS. It has shading language MSL (Metal Shading Language) which is based on C standard. Can work with Swift, Objective-C and C++. It has a very good documentation and good support.

https://developer.apple.com/metal/

6. Intel OneAPI

Built for AI acceleration. Developed by Intel works with FPGAs, GPUs, CPUs and other accelerators.

https://www.intel.com/content/www/us/en/developer/tools/oneapi/overview.html#gs.h89g6w

7. AMD ROCm

Developed by AMD. Has different tools for GPU programming and HPC. has good support and documentation.

https://www.amd.com/en/products/software/rocm.html


There are many other technologies under development and as there are new type of Chips under development.



To view or add a comment, sign in

Others also viewed

Explore content categories