Introducing Molly: Distributed Memory Parallelization with LLVM

Michael Kruse 1, 2
1 GRAND-LARGE - Global parallel and distributed computing
LRI - Laboratoire de Recherche en Informatique, LIFL - Laboratoire d'Informatique Fondamentale de Lille, UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR8623
2 Postal
LRI - Laboratoire de Recherche en Informatique
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.
Type de document :
Pré-publication, Document de travail
2013
Liste complète des métadonnées

Littérature citée [24 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01061501
Contributeur : Michael Kruse <>
Soumis le : samedi 6 septembre 2014 - 22:17:11
Dernière modification le : jeudi 11 janvier 2018 - 06:27:15
Document(s) archivé(s) le : dimanche 7 décembre 2014 - 10:21:29

Fichiers

paper.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01061501, version 1
  • ARXIV : 1409.2088

Citation

Michael Kruse. Introducing Molly: Distributed Memory Parallelization with LLVM. 2013. 〈hal-01061501〉

Partager

Métriques

Consultations de la notice

382

Téléchargements de fichiers

325