Applications
The following are some of the areas where GPUs have been used for general purpose computing:
- MATLAB acceleration using the Parallel Computing Toolbox and MATLAB Distributed Computing Server, as well as 3rd party packages like Jacket.
- k-nearest neighbor algorithm
- Computer clusters or a variation of a parallel computing (utilizing GPU cluster technology) for highly calculation-intensive tasks:
- High-performance computing clusters (HPC clusters) (often termed supercomputers)
- including cluster technologies like Message Passing Interface, and single-system image (SSI), distributed computing, and Beowulf
- Grid computing (a form of distributed computing) (networking many heterogeneous computers to create a virtual computer architecture)
- Load-balancing clusters (sometimes termed a server farm)
- High-performance computing clusters (HPC clusters) (often termed supercomputers)
- Physical based simulation and physics engines (usually based on Newtonian physics models)
- Conway's Game of Life, cloth simulation, incompressible fluid flow by solution of Navier-Stokes equations
- Statistical physics
- Ising model
- Lattice gauge theory
- Segmentation – 2D and 3D
- Level-set methods
- CT reconstruction
- Fast Fourier transform
- Tone mapping
- Audio signal processing
- Audio and Sound Effects Processing, to use a GPU for DSP (digital signal processing)
- Analog signal processing
- Speech processing
- Digital image processing
- Video Processing
- Hardware accelerated video decoding and post-processing
- Motion compensation (mo comp)
- Inverse discrete cosine transform (iDCT)
- Variable-length decoding (VLD)
- Inverse quantization (IQ)
- In-loop deblocking
- Bitstream processing (CAVLC/CABAC) using special purpose hardware for this task because this is a serial task not suitable for regular GPGPU computation
- Deinterlacing
- Spatial-temporal de-interlacing
- Noise reduction
- Edge enhancement
- Color correction
- Hardware accelerated video encoding and pre-processing
- Hardware accelerated video decoding and post-processing
- Global illumination – ray tracing, photon mapping, radiosity among others, subsurface scattering
- Geometric computing – constructive solid geometry, distance fields, collision detection, transparency computation, shadow generation
- Scientific computing
- Monte Carlo simulation of light propagation
- Weather forecasting
- Climate research
- Molecular modeling on GPU
- Quantum mechanical physics
- Astrophysics
- Bioinformatics
- Computational finance
- Medical imaging
- Computer vision
- Digital signal processing / signal processing
- Control engineering
- Neural networks
- Database operations
- Lattice Boltzmann methods
- Cryptography and cryptanalysis
- Implementation of MD6
- Implementation of AES
- Implementation of DES
- Implementation of RSA
- Implementation of ECC
- Password cracking
- Electronic Design Automation
- Antivirus software
- Intrusion Detection
- Bitcoin peer-to-peer currency relies on a distributed computing network for performing SHA256 calculations where GPGPUs have become the dominant mode of calculation
- Increase computing power for distributed computing project like SETI@home, Einstein@home
Read more about this topic: GPGPU