Back to Search
Start Over
Synthesizing MPI Implementations from Functional Data-Parallel Programs
- Source :
- International Journal of Parallel Programming. 44:552-573
- Publication Year :
- 2015
- Publisher :
- Springer Science and Business Media LLC, 2015.
-
Abstract
- Distributed memory architectures such as Linux clusters have become increasingly common but remain difficult to program. We target this problem and present a novel technique to automatically generate data distribution plans, and subsequently MPI implementations in C++, from programs written in a functional core language. The main novelty of our approach is that we support distributed arrays, maps, and lists in the same framework, rather than just arrays. We formalize distributed data layouts as types, which are then used both to search (via type inference) for optimal data distribution plans and to generate the MPI implementations. We introduce the core language and explain our formalization of distributed data layouts. We describe how we search for data distribution plans using an adaptation of the Damas---Milner type inference algorithm, and how we generate MPI implementations in C++ from such plans.
- Subjects :
- Programming language
Computer science
Data parallelism
Novelty
Type inference
02 engineering and technology
Parallel computing
computer.software_genre
Theoretical Computer Science
020204 information systems
Theory of computation
0202 electrical engineering, electronic engineering, information engineering
020201 artificial intelligence & image processing
Code generation
Distributed memory
Adaptation (computer science)
computer
Implementation
Software
Information Systems
Subjects
Details
- ISSN :
- 15737640 and 08857458
- Volume :
- 44
- Database :
- OpenAIRE
- Journal :
- International Journal of Parallel Programming
- Accession number :
- edsair.doi...........04cffd992423a22318e6827aa648104b