OpenCL Floating Point Software on Heterogeneous Architectures – Portable or Not?
Northeastern University, Boston, USA
Workshop on Numerical Software Verification (NSV), 2012
@inproceedings{LRWY12,
author={Miriam Leeser and Jaideep Ramachandran and Thomas Wahl and Devon Yablonski},
title={OpenCL} Floating Point Software on Heterogeneous Architectures {—} Portable or Not?},
booktitle={Workshop on Numerical Software Verification (NSV)},
url={http://www.ccs.neu.edu/home/wahl/Publications/lrwy12.pdf},
year={2012},
category={workshop}
}
OpenCL is an emerging platform for parallel computing that promises portability of applications across different architectures. This promise is seriously undermined, however, by the frequent use of floating-point arithmetic in scientific applications. Floating-point computations can yield vastly different results on different architectures – even IEEE 754-compliant ones -, potentially causing changes in control flow and ultimately incorrect (not just imprecise) output for the entire program. In this paper, we illustrate a few instances of non-trivial diverging floating-point computations and thus present a case for rigorous static analysis and verification methods for parallel floating point software running on IEEE-754 2008 compliant hardware. We discuss plans for such methods, with the goal to facilitate the automated prediction of portability issues in floating-point software.
June 27, 2012 by hgpu