Introducing Molly: Distributed Memory Parallelization with LLVM - Laboratoire Interdisciplinaire des Sciences du Numérique Access content directly
Preprints, Working Papers, ... Year :

Introducing Molly: Distributed Memory Parallelization with LLVM

Abstract

Programming for distributed memory machines has always been a tedious task, but necessary because compilers have not been sufficiently able to optimize for such machines themselves. Molly is an extension to the LLVM compiler toolchain that is able to distribute and reorganize workload and data if the program is organized in statically determined loop control-flows. These are represented as polyhedral integer-point sets that allow program transformations applied on them. Memory distribution and layout can be declared by the programmer as needed and the necessary asynchronous MPI communication is generated automatically. The primary motivation is to run Lattice QCD simulations on IBM Blue Gene/Q supercomputers, but since the implementation is not yet completed, this paper shows the capabilities on Conway's Game of Life.
Fichier principal
Vignette du fichier
paper.pdf (176.83 Ko) Télécharger le fichier
Origin : Files produced by the author(s)
Loading...

Dates and versions

hal-01061501 , version 1 (06-09-2014)

Identifiers

Cite

Michael Kruse. Introducing Molly: Distributed Memory Parallelization with LLVM. 2013. ⟨hal-01061501⟩
351 View
309 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More