CU plus plus : an object oriented framework for computational fluid dynamics applications using graphics processing units

被引:5
作者
Chandar, Dominic D. J. [1 ]
Sitaraman, Jayanarayanan [1 ]
Mavriplis, Dimitri [1 ]
机构
[1] Univ Wyoming, Dept 3295, Laramie, WY 82072 USA
关键词
Graphics processing units (GPUs); Parallel computing; Computational Fluid Dynamics (CFD); AERODYNAMICS;
D O I
10.1007/s11227-013-0985-9
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The application of graphics processing units (GPU) to solve partial differential equations is gaining popularity with the advent of improved computer hardware. Various lower level interfaces exist that allow the user to access GPU specific functions. One such interface is NVIDIA's Compute Unified Device Architecture (CUDA) library. However, porting existing codes to run on the GPU requires the user to write kernels that execute on multiple cores, in the form of Single Instruction Multiple Data (SIMD). In the present work, a higher level framework, termed CU++, has been developed that uses object oriented programming techniques available in C++ such as polymorphism, operator overloading, and template meta programming. Using this approach, CUDA kernels can be generated automatically during compile time. Briefly, CU++ allows a code developer with just C/C++ knowledge to write computer programs that will execute on the GPU without any knowledge of specific programming techniques in CUDA. This approach is tremendously beneficial for Computational Fluid Dynamics (CFD) code development because it mitigates the necessity of creating hundreds of GPU kernels for various purposes. In its current form, CU++ provides a framework for parallel array arithmetic, simplified data structures to interface with the GPU, and smart array indexing. An implementation of heterogeneous parallelism, i.e., utilizing multiple GPUs to simultaneously process a partitioned grid system with communication at the interfaces using Message Passing Interface (MPI) has been developed and tested.
引用
收藏
页码:47 / 68
页数:22
相关论文
共 31 条
[21]   Experimental and computational investigation of the Knoller-Betz effect [J].
Jones, KD ;
Dohring, CM ;
Platzer, MF .
AIAA JOURNAL, 1998, 36 (07) :1240-1246
[22]  
Kennedy CA, 1999, 1999209349 NASACR
[23]  
NVIDIA GPUDirect Technology, MELL TECHN WHIT PAP
[24]  
Phillips EH, 2009, 47 AER SCI M EXH ORL
[25]  
Poole D, 2012, NVIDIA GPU TECHN C
[26]  
Pulliam TH, 1984, E02400502384 UTSI
[27]  
Quinlan D, 2000, UCRLMA136511 LAWR LI
[28]  
Sankaran V, 2010, 48 AIAA AER SCI M EX
[29]  
Soni K, 2011, 49 AIAA AER SCI M EX
[30]   Thrust generation caused by flapping airfoils in a biplane configuration [J].
Tuncer, IH ;
Kaya, M .
JOURNAL OF AIRCRAFT, 2003, 40 (03) :509-515