page_title: Multidimensional DSP with GPU Acceleration
section_title: GPGPU computations
hierarchical_section_title: Multidimensional DSP with GPU Acceleration / GPGPU computations
caption_attribution_description: English: A SIMD/vector execution unit in GPGPUs English: A SIMD execution unit in GPGPUs English: A SIMD execution unit in GPGPUs
context_page_description: Digital signal processing is a ubiquitous methodology in scientific and engineering computations. However, practically, DSP problems are often not only 1-D. For instance, image data are 2-D signals and radar signals are 3-D signals. While the number of dimension increases, the time and/or storage complexity of processing digital signals grow dramatically. Therefore, solving DSP problems in real-time is extremely difficult in reality.
  Modern general purpose graphics processing units are considered as having an excellent throughput on vector operations and numeric manipulations through a high degree of parallel computations. While processing digital signals, particularly multidimensional signals, often involves a series of vector operations on massive numbers of independent data samples, GPGPUs are now widely employed to accelerate multidimensional DSP, such as image processing, video codecs, radar signal analysis, sonar signal processing, and ultrasound scanning. Conceptually, using GPGPU devices to perform multidimensional DSP is able to dramatically reduce the computation complexity compared with central processing units, digital signal processors, or other FPGA accelerators.
context_section_description: Modern GPU designs are mainly based on the SIMD (Single Instruction Multiple Data) computation paradigm. This type of GPU devices is so-called general-purpose GPUs (GPGPUs).
  GPGPUs are able to perform an operation on multiple independent data concurrently with their vector or SIMD functional units. A modern GPGPU can spawn thousands of concurrent threads and process all threads in a batch manner. With this nature, GPGPUs can be employed as DSP accelerators easily while many DSP problems can be solved by divide-and-conquer algorithms. A large scale and complex DSP problem can be divided into a bunch of small numeric problems and be processed altogether at one time so that the overall time complexity can be reduced significantly. For example, multiplying two M × M matrices can be processed by M × M concurrent threads on a GPGPU device without any output data dependency. Therefore, theoretically, by means of GPGPU acceleration, we can gain up to M × M speedup compared with a traditional CPU or digital signal processor.
caption: GPGPU/SIMD computation model.
exif: {}