Skip to Main content Skip to Navigation
Conference papers

Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages

Ralf Karrenberg 1 Marek Kosta 2, 3 Thomas Sturm 2, 4
2 VERIDIS - Modeling and Verification of Distributed Algorithms and Systems
LORIA - FM - Department of Formal Methods , Inria Nancy - Grand Est, MPII - Max-Planck-Institut für Informatik
3 Automation of Logic
MPII - Max-Planck-Institut für Informatik
4 Computational Logic
MPII - Max-Planck-Institut für Informatik
Abstract : Data-parallel languages like OpenCL and CUDA are an important means to exploit the computational power of today's computing devices. We consider the compilation of such languages for CPUs with SIMD instruction sets. To generate efficient code, one wants to statically decide whether or not certain memory operations access consecutive addresses. We formalize the notion of consecutivity and algorithmically reduce the static decision to satisfiability problems in Presburger Arithmetic. We introduce a preprocessing technique on these SMT problems, which makes it feasible to apply an off-the-shelf SMT solver. We show that a prototypical OpenCL CPU driver based on our approach generates more efficient code than any other state-of-the-art driver.
Document type :
Conference papers
Complete list of metadata
Contributor : Stephan Merz Connect in order to contact the contributor
Submitted on : Thursday, January 16, 2014 - 10:19:06 AM
Last modification on : Saturday, October 16, 2021 - 11:26:05 AM

Links full text




Ralf Karrenberg, Marek Kosta, Thomas Sturm. Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages. 9th International Conference Frontiers of Combining Systems (FroCos 2013), Sep 2013, Nancy, France. pp.56-70, ⟨10.1007/978-3-642-40885-4_5⟩. ⟨hal-00931954⟩



Les métriques sont temporairement indisponibles