Flexible Hardware Mapping for Finite Element Simulations on Hybrid CPU / GPU Clusters
Symposium on Application Accelerators in HPC (SAAHPC) 2009
Publication Type: Paper
Repository URL:
The ever increasing peak floating-point performance and memory bandwidth of GPUs is making them increasingly ubiquitous in the high performance computing community. With increasing adoption of GPUs in cluster environments, applications that cannot take advantage of this hardware will be at a distinct disadvantage. For the class of applications that can achieve massive speedups of 100x or more on the GPU, the way forward is clear: maximum performance will depend on utilizing all available GPUs as efficiently as possible, with the CPU most likely relegated to managing the data flowing into and out of the GPU. However, for applications that can benefit from GPU execution, but may experience speedups that are only in the range of 5-10x, the appropriate relationship between the CPU and GPU is more difficult to determine, and may depend upon the specifics of the algorithm and hardware in question.

Finite element applications generally fit the description of codes that benefit from GPUs, but probably not by more than 15-20x even in the best case. In a cluster environment where data must be transferred to the CPU at regular intervals for synchronization, speedups less than 10x are typical. When cluster nodes have 8 CPU cores and more, it is clear that maximum performance will require taking full advantage of execution on both CPU and GPU.
Research Areas