Presburger Arithmetic in Memory Access Optimization for Data-Parallel Languages

被引:0
|
作者
Karrenberg, Ralf [1 ]
Kosta, Marek [2 ]
Sturm, Thomas [2 ]
机构
[1] Univ Saarland, D-66123 Saarbrucken, Germany
[2] Max Planck Inst Informat, D-66123 Saarbrucken, Germany
关键词
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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.
引用
收藏
页码:56 / 70
页数:15
相关论文
共 50 条
  • [1] Exploiting Memory Access Patterns to Improve Memory Performance in Data-Parallel Architectures
    Jang, Byunghyun
    Schaa, Dana
    Mistry, Perhaad
    Kaeli, David
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2011, 22 (01) : 105 - 118
  • [2] SUPPORTING IRREGULAR DISTRIBUTIONS USING DATA-PARALLEL LANGUAGES
    PONNUSAMY, R
    HWANG, YS
    DAS, R
    SALTZ, JH
    CHOUDHARY, A
    FOX, G
    [J]. IEEE PARALLEL & DISTRIBUTED TECHNOLOGY, 1995, 3 (01): : 12 - 24
  • [3] SIZE AND ACCESS INFERENCE FOR DATA-PARALLEL PROGRAMS
    CHATTERJEE, S
    BLELLOCH, GE
    FISHER, AL
    [J]. SIGPLAN NOTICES, 1991, 26 (06): : 130 - 144
  • [4] Extending data-parallel languages for irregularly structured applications
    Bandera, G
    Trabado, GP
    Zapata, EL
    [J]. ADVANCES IN HIGH PERFORMANCE COMPUTING, 1997, 30 : 235 - 251
  • [5] Generating efficient local memory access sequences for coupled subscripts in data-parallel programs
    Huang, TC
    Shiu, LC
    Lin, YJ
    [J]. INFORMATION SCIENCES, 2003, 149 (04) : 249 - 261
  • [6] A LINEAR-TIME ALGORITHM FOR COMPUTING THE MEMORY ACCESS SEQUENCE IN DATA-PARALLEL PROGRAMS
    KENNEDY, K
    NEDELJKOVIC, N
    SETHI, A
    [J]. SIGPLAN NOTICES, 1995, 30 (08): : 102 - 111
  • [7] The Synchronization Treatment in Implementing Data-Parallel programming languages on CPUs
    Yue, Feng
    Pang, Jianmin
    Zhao, Rongcai
    Dai, Chao
    [J]. 2013 IEEE 15TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2013 IEEE INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING (HPCC_EUC), 2013, : 1916 - 1921
  • [8] Multibank Memory Optimization for Parallel Data Access in Multiple Data Arrays
    Yin, Shouyi
    Xie, Zhicong
    Meng, Chenyue
    Liu, Leibo
    Wei, Shaojun
    [J]. 2016 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN (ICCAD), 2016,
  • [9] Implementing Data-Parallel Patterns for Shared Memory with OpenMP
    Suess, Michael
    Leopold, Claudia
    [J]. PARALLEL COMPUTING: ARCHITECTURES, ALGORITHMS AND APPLICATIONS, 2008, 15 : 203 - +
  • [10] Fuzzing Loop Optimizations in Compilers for C++ and Data-Parallel Languages
    Livinskii, Vsevolod
    Babokin, Dmitry
    Regehr, John
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (PLDI):