16427

SkePU 2: Language Embedding and Compiler Support for Flexible and Type-Safe Skeleton Programming

August Ernstsson
Linkoping University, Department of Computer and Information Science, Software and Systems
Linkoping University, 2016

@article{ernstsson2016institutionen,

   title={Institutionen f{"o}r datavetenskap},

   author={Ernstsson, August},

   year={2016}

}

Download Download (PDF)   View View   Source Source   

544

views

This thesis presents SkePU 2, the next generation of the SkePU C++ framework for programming of heterogeneous parallel systems using the skeleton programming concept. SkePU 2 is presented after a thorough study of the state of parallel programming models, frameworks and tools, including other skeleton programming systems. The advancements in SkePU 2 include a modern C++11 foundation, a native syntax for skeleton parameterization with user functions, and an entirely new source-to-source translator based on Clang compiler front-end libraries. SkePU 2 extends the functionality of SkePU 1 by embracing metaprogramming techniques and C++11 features, such as variadic templates and lambda expressions. The results are improved programmability and performance in many situations, as shown in both a usability survey and performance evaluations on high-performance computing hardware. SkePU’s skeleton programming model is also extended with a new construct, Call, unique in the sense that it does not impose any predefined skeleton structure and can encapsulate arbitrary user-defined multi-backend computations. We conclude that SkePU 2 is a promising new direction for the SkePU project, and a solid basis for future work, for example in performance optimization.
VN:F [1.9.22_1171]
Rating: 5.0/5 (4 votes cast)
SkePU 2: Language Embedding and Compiler Support for Flexible and Type-Safe Skeleton Programming, 5.0 out of 5 based on 4 ratings

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: