International Journal of Parallel Programming

, Volume 42, Issue 4, pp 546–563

An Automatic Fusion Mechanism for Variable-Length List Skeletons in SkeTo

Article

DOI: 10.1007/s10766-013-0263-8

Cite this article as:
Emoto, K. & Matsuzaki, K. Int J Parallel Prog (2014) 42: 546. doi:10.1007/s10766-013-0263-8

Abstract

Skeletal parallel programming is a promising approach to easy parallel programming in which users can build parallel programs simply by combining parts of a given set of ready-made parallel computation patterns called skeletons. There is a trade-off for this easiness in the form of an efficiency problem caused by the compositional style of the programming. One solution to this problem is fusion transformation that optimizes naively composed skeleton programs by eliminating redundant intermediate data structures. Several parallel skeleton libraries have automatic fusion mechanisms. However, there have been no automatic fusion mechanisms proposed for variable-length list (VLL) skeletons, even though such skeletons are useful for practical problems. The main difficulty is that previous fusion mechanisms are not applicable to VLL skeletons, and so the fusion cannot be completed. In this paper, we propose a novel fusion mechanism for VLL skeletons that can achieve both an easy programming interface and complete fusion. The proposed mechanism has been implemented in our skeleton library, SkeTo, by using the expression templates technique, experimental results have shown that it is very effective.

Keywords

Algorithmic skeletons Fusion equipped library Program transformation Expression templates technique Homomorphism-based structured parallel programming 

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.Kyushu Institute of TechnologyIizukaJapan
  2. 2.Kochi University of TechnologyKochiJapan