Automatic Optimization of Python Skeletal Parallel Programs - Archive ouverte HAL
Communication Dans Un Congrès Année : 2019

Automatic Optimization of Python Skeletal Parallel Programs

Résumé

Skeletal parallelism is a model of parallelism where parallel constructs are provided to the programmer as usual patterns of parallel algorithms. High-level skeleton libraries often offer a global view of programs instead of the common Single Program Multiple Data view in parallel programming. A program is written as a sequential program but operates on parallel data structures. Most of the time, skeletons on a parallel data structure have counterparts on a sequential data structure. For example, the map function that applies a given function to all the elements of a sequential collection (e.g., a list) has a map skeleton counterpart that applies a sequential function to all the elements of a distributed collection. Two of the challenges a programmer faces when using a skeleton library that provides a wide variety of skeletons are: which are the skeletons to use, and how to compose them? These design decisions may have a large impact on the performance of the parallel programs. However, skeletons, especially when they do not mutate the data structure they operate on, but are rather implemented as pure functions , possess algebraic properties that allow to transform compositions of skeletons into more efficient compositions of skeletons. In this paper, we present such an automatic transformation framework for the Python skeleton library PySke and evaluate it on several example applications.
Fichier principal
Vignette du fichier
main.pdf (219.07 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-02317123 , version 1 (15-10-2019)

Identifiants

Citer

Frédéric Loulergue, Jolan Philippe. Automatic Optimization of Python Skeletal Parallel Programs. 19th International Conference on Algorithms and Architectures for Parallel Processing (ICA3PP), Dec 2019, Melbourne, Australia. ⟨10.1007/978-3-030-38991-8_13⟩. ⟨hal-02317123⟩
111 Consultations
159 Téléchargements

Altmetric

Partager

More