GPGPU - Applications

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)
  • 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
  • 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