A Scalable Farm Skeleton for Heterogeneous Parallel Programming

Ernsting Steffen, Kuchen Herbert

Abstract

Nowadays, multi-core processors and GPUs with thousands of cores are omnipresent. Fully exploiting their resources involves dealing with low-level concepts of parallel programming. These low-level concepts still constitute a high barrier to efficient development of parallel applications. That is why we need high-level tools for parallel programming. In order to assist programmers in developing performant and reliable parallel applications Algorithmic Skeletons have been proposed. They encapsulate well-defined, frequently recurring parallel programming patterns, thereby shielding programmers from low-level aspects of parallel programming. In this paper we take on the design and implementation of the well-known Farm skeleton. In order to address heterogeneous computing platforms we present a multi-tier implementation on top of MPI, OpenMP, and CUDA. On the basis of two benchmark applications, including an interacting particles system and a ray tracing application, we illustrate the advantages of both skeletal programming in general and this multi-tier approach in particular.

Cite as

Ernsting, S., & Kuchen, H. (2013). A Scalable Farm Skeleton for Heterogeneous Parallel Programming. In Proceedings of the PARCO 2013, München, 72–81.

Details

Publication type
Research article in proceedings (conference)

Peer reviewed
Yes

Publication status
Published

Year
2013

Conference
PARCO 2013

Venue
München

Book title
Parallel Computing: Accelerating Computational Science and Engineering (CSE)

Editor
Bader, M, Bode A, Bungartz H-J, Gerndt M, Joubert G R, Peters F

Start page
72

End page
81

Volume
25

Title of series
Advances in Parallel Computing

Language
English

ISBN
978-1-61499-380-3

DOI