C plus plus Data Layout Abstractions through Proxy Types

被引:1
作者
Wende, Florian [1 ]
机构
[1] Zuse Inst Berlin, Supercomp Dept, Takustr 7, D-14195 Berlin, Germany
来源
2019 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW) | 2019年
关键词
Automated data-layout transformation; AoS; SoA; Clang LibTooling; Proxy types; SIMD;
D O I
10.1109/IPDPSW.2019.00126
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Programs that process linearly indexed fields with structured element types in a data-parallel way usually suffer from the fact that compilers fail to generate efficient code if the selected data layout appears inappropriate for the chosen target architecture. If their internal heuristics cannot proof a performance gain from a data-parallel execution, compilers may fall back to scalar code generation. Data access through proxy types together with a customized container is one means to assist the compiler in generating efficient machine code in these cases without changing the user code. We present an automated proxy-type generator (using Clang's LibTooling) and a configurable C++ container that supports different data layouts in a transparent way.
引用
收藏
页码:758 / 767
页数:10
相关论文
共 12 条
[1]   Control and Stabilization of Unmanned Helicopter with Suspended Payload [J].
Afzal, Hassaan ;
Malik, Fahad Mumtaz .
PROCEEDINGS OF 2018 INTERNATIONAL CONFERENCE ON SERVICE ROBOTICS TECHNOLOGIES (ICSRT 2018), 2018, :1-5
[2]  
[Anonymous], 2011, GPU COMPUTING GEMS J
[3]  
[Anonymous], 2017, RECENT TRENDS COMPUT, DOI DOI 10.1007/978-3-319-55438
[4]  
Bocarra J., 2018, SOA VECTOR 2
[5]   Discontinuous Galerkin methods in nanophotonics [J].
Busch, Kurt ;
Koenig, Michael ;
Niegemann, Jens .
LASER & PHOTONICS REVIEWS, 2011, 5 (06) :773-809
[6]   STrans: A Comprehensive Framework for Structure Transformation [J].
He, Jiangzhou ;
Chen, Wenguang ;
Tang, Zhizhong .
TSINGHUA SCIENCE AND TECHNOLOGY, 2016, 21 (02) :231-240
[7]  
Hesthaven JS, 2008, TEXTS APPL MATH, V54, P1
[8]   SoAx: A generic C plus plus Structure of Arrays for handling particles in HPC codes [J].
Homann, Holger ;
Laenen, Francois .
COMPUTER PHYSICS COMMUNICATIONS, 2018, 224 :325-332
[9]   Data layout and SIMD abstraction layers: decoupling interfaces from implementations [J].
Jubertie, Sylvain ;
Masliah, Ian ;
Falcou, Joel .
PROCEEDINGS 2018 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS), 2018, :531-538
[10]  
Nimisha R., 2016, OPTIMIZE DATA LAYOUT