Multi GPU Performance of Conjugate Gradient Solver with Staggered Fermions in Mixed Precision
Lattice Gauge Theory Research Center, FPRD, and CTP Department of Physics and Astronomy, Seoul National University, Seoul, 151-747, South Korea
arXiv:1111.0125v1 [physics.comp-ph] (1 Nov 2011)
@article{2011arXiv1111.0125J,
author={Jang}, Y.-C. and {Kim}, H.-J. and {Lee}, W.},
title={"{Multi GPU Performance of Conjugate Gradient Solver with Staggered Fermions in Mixed Precision}"},
journal={ArXiv e-prints},
archivePrefix={"arXiv"},
eprint={1111.0125},
primaryClass={"physics.comp-ph"},
keywords={Physics – Computational Physics, High Energy Physics – Lattice},
year={2011},
month={nov},
adsurl={http://adsabs.harvard.edu/abs/2011arXiv1111.0125J},
adsnote={Provided by the SAO/NASA Astrophysics Data System}
}
GPU has a significantly higher performance in single-precision computing than that of double precision. Hence, it is important to take a maximal advantage of the single precision in the CG inverter, using the mixed precision method. We have implemented mixed precision algorithm to our multi GPU conjugate gradient solver. The single precision calculation use half of the memory that is used by the double precision calculation, which allows twice faster data transfer in memory I/O. In addition, the speed of floating point calculations is 8 times faster in single precision than in double precision. The overall performance of our CUDA code for CG is 145 giga flops per GPU (GTX480), which does not include the infiniband network communication. If we include the infiniband communication, the overall performance is 36 giga flops per GPU (GTX480).
November 2, 2011 by hgpu