CUDA optimization strategies for compute- and memory-bound neuroimaging algorithms

Daren Lee, Ivo Dinov, Bin Dong, Boris Gutman, Igor Yanovsky, Arthur W. Toga

Research output: Contribution to journalArticle

32 Scopus citations

Abstract

As neuroimaging algorithms and technology continue to grow faster than CPU performance in complexity and image resolution, data-parallel computing methods will be increasingly important. The high performance, data-parallel architecture of modern graphical processing units (GPUs) can reduce computational times by orders of magnitude. However, its massively threaded architecture introduces challenges when GPU resources are exceeded. This paper presents optimization strategies for compute- and memory-bound algorithms for the CUDA architecture. For compute-bound algorithms, the registers are reduced through variable reuse via shared memory and the data throughput is increased through heavier thread workloads and maximizing the thread configuration for a single thread block per multiprocessor. For memory-bound algorithms, fitting the data into the fast but limited GPU resources is achieved through reorganizing the data into self-contained structures and employing a multi-pass approach. Memory latencies are reduced by selecting memory resources whose cache performance are optimized for the algorithm's access patterns. We demonstrate the strategies on two computationally expensive algorithms and achieve optimized GPU implementations that perform up to 6× faster than unoptimized ones. Compared to CPU implementations, we achieve peak GPU speedups of 129× for the 3D unbiased nonlinear image registration technique and 93× for the non-local means surface denoising algorithm.

Original languageEnglish (US)
Pages (from-to)175-187
Number of pages13
JournalComputer Methods and Programs in Biomedicine
Volume106
Issue number3
DOIs
StatePublished - Jun 1 2012

Keywords

  • CUDA
  • Compute-bound
  • Graphics Processing Unit (GPU)
  • Memory-bound
  • Neuroimaging
  • Performance Optimization

ASJC Scopus subject areas

  • Software
  • Computer Science Applications
  • Health Informatics

Fingerprint Dive into the research topics of 'CUDA optimization strategies for compute- and memory-bound neuroimaging algorithms'. Together they form a unique fingerprint.

  • Cite this