Optimizing Linpack Benchmark on GPU-Accelerated Petascale Supercomputer
School of Computer Science, National University of Defense Technology, Changsha 410073, China
Journal of Computer Science and Technology, Volume 26, Number 5, 854-865, 2011
@article{springerlink:10.1007/s11390-011-0184-1,
author={Wang, Feng and Yang, Can-Qun and Du, Yun-Fei and Chen, Juan and Yi, Hui-Zhan and Xu, Wei-Xia},
affiliation={School of Computer Science, National University of Defense Technology, Changsha, 410073 China},
title={Optimizing Linpack Benchmark on GPU-Accelerated Petascale Supercomputer},
journal={Journal of Computer Science and Technology},
publisher={Springer Boston},
issn={1000-9000},
keyword={Computer Science},
pages={854-865},
volume={26},
issue={5},
url={http://dx.doi.org/10.1007/s11390-011-0184-1},
note={10.1007/s11390-011-0184-1},
year={2011}
}
In this paper we present the programming of the Linpack benchmark on TianHe-1 system, the first petascale supercomputer system of China, and the largest GPU-accelerated heterogeneous system ever attempted before. A hybrid programming model consisting of MPI, OpenMP and streaming computing is described to explore the task parallel, thread parallel and data parallel of the Linpack. We explain how we optimized the load distribution across the CPUs and GPUs using the two-level adaptive method and describe the implementation in details. To overcome the low-bandwidth between the CPU and GPU communication, we present a software pipelining technique to hide the communication overhead. Combined with other traditional optimizations, the Linpack we developed achieved 196:7 GFLOPS on a single compute element of TianHe-1. This result is 70:1% of the peak compute capability, 3:3 times faster than the result by using the vendor’s library. On the full configuration of TianHe-1 our optimizations resulted in a Linpack performance of 0:563 PFLOPS, which made TianHe-1 the 5th fastest supercomputer on the Top500 list in November, 2009.
September 28, 2011 by hgpu