OpenCL Floating Point Software on Heterogeneous Architectures – Portable or Not?
Miriam E. Leeser, Jaideep Ramachandran, Thomas Wahl, Devon Yablonski · 2012
OpenCL is an emerging platform for parallel computing that promises portability of applications across dierent architectures. This promise is seriously undermined, however, by the frequent use of oating-point arithmetic in scientic applications. Floating-point computations can yield vastly dierent results on dierent architectures | even IEEE 754-compliant ones |, potentially causing changes in control ow and ultimately incorrect (not just imprecise) output for the entire program. In this paper, we illustrate a few instances of non-trivial diverging oating-point computations and thus present a case for rigorous static analysis and verication methods for parallel oating 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 oating