Towards High-Performance Code Generation for Multi-GPU Clusters Based on a Domain-Specific Language for Algorithmic Skeletons

被引:1
作者
Wrede, Fabian [1 ]
Kuchen, Herbert [1 ]
机构
[1] Univ Munster, European Res Ctr Informat Syst ERCIS, Dept Informat Syst, Leonardo Campus 3, D-48149 Munster, Germany
关键词
Algorithmic skeletons; Parallel programming; High-performance computing; Model-driven development; Domain-specific language;
D O I
10.1007/s10766-020-00659-x
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In earlier work, we defined a domain-specific language (DSL) with the aim to provide an easy-to-use approach for programming multi-core and multi-GPU clusters. The DSL incorporates the idea of utilizing algorithmic skeletons, which are well-known patterns for parallel programming, such as map and reduce. Based on the chosen skeleton, a user-defined function can be applied to a data structure in parallel with the main advantage that the user does not have to worry about implementation details. So far, we had only implemented a generator for multi-core clusters and in this paper we present and evaluate two prototypes of generators for multi-GPU clusters, which are based on OpenACC and CUDA. We have evaluated the approach with four benchmark applications. The results show that the generation approach leads to execution times, which are on par with an alternative library implementation.
引用
收藏
页码:713 / 728
页数:16
相关论文
共 21 条
[1]  
Aldinucci M., 2012, EUR PAR 2012 WORKSH, P47
[2]  
Aldinucci Marco, 2017, PARALLEL DISTRIBUTED, P261, DOI DOI 10.1002/9781119332015.CH13
[3]  
[Anonymous], 2015, 195702015 ISOIEC TS
[4]  
Bell N., 2012, in GPU Computing Gems Jade Edition, P359
[5]  
Bettini L., 2013, IMPLEMENTING DOMAIN
[6]   Parallel Patterns for General Purpose Many-Core [J].
Buono, Daniele ;
Danelutto, Marco ;
Lametti, Silvia ;
Torquati, Massimo .
PROCEEDINGS OF THE 2013 21ST EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING, 2013, :131-139
[7]  
Cole M., 1991, Algorithmic Skeletons: Structured Management of Parallel Computation
[8]  
Eclipse foundation, 2019, XTEXT DOC
[9]   Algorithmic skeletons for multi-core, multi-GPU systems and clusters [J].
Ernsting, Steffen ;
Kuchen, Herbert .
International Journal of High Performance Computing and Networking, 2012, 7 (02) :129-138
[10]   Data Parallel Algorithmic Skeletons with Accelerator Support [J].
Ernsting, Steffen ;
Kuchen, Herbert .
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2017, 45 (02) :283-299