Skeletons, BSP and Performance Portability
Andrea Zavanella⋆ · Parallel Processing Letters · 2001
The Skeletal approach to parallel programming conjugates a high-level compositional style and efficiency. A second advantage of Skeletal programming is portability since implementation decisions are usually taken at compile time. The paper claims that an intermediate model embedding the main performance features of the target architecture facilitates performance portability across parallel architectures. This is motivated by describing the Skel-BSP framework which implements a skeleton system on top of a BSP computer. A prototype compiler based on a set of BSP templates is presented together with a set of performance models for each skeleton which allow a local optimization. The paper also introduces a global optimization strategy using a set of transformation rules. This local+global approach seems a viable solution to writing parallel software in machine-independent way (Writing Once and Compiling Everywhere).