Automatic Code Generation for Iterative Multi-dimensional Stencil Computations
Génération automatique de programmes pour des calcul multi-dimensionnels de type stencil
Résumé
We present a source-to-source auto-generating framework that enables alarge programmer community to easily and safely implement parallelstencil codes within the framework of Ordered Read-Write Locks(ORWL). It meets the specific needs of the application at a high levelof abstraction. ORWL is an inter-task synchronization model foriterative data-oriented parallel and distributed algorithms that usesstrict FIFO ordering for the access to all resources. It guaranteesequity, liveness and efficiency for a wide range of applications. Themain hurdle for using ORWL lies in its initialization phase, where theprogrammer has to specify the access scheme between tasks andresources and the initial positions of the tasks in the FIFOs. Weprovide a user-friendly interface based on a Domain-Specific Language(DSL) that captures domain semantics and automatically generates ORWLparallel high-performance stencil code. We conducted experiments thatproved the validity of our approach, as well as the efficiency andscalability of the generated code.
Nous présentons un outil de génération automatique source-à source decode qui permet à une grande communauté de programmeurs d'implémenterdes codes stencils dans le cadre des verous ordonnés delecture-écriture (ORWL), et ceci de façon facile et sûre. L'outilproposé remplit les besoins spécifiques pour permettre un niveaud'abstraction élevé. ORWL est un modèle de synchronisation entretâches pour des calculs itératifs qui sont centrés sur les données. Ilutilise un ordonnocement strict imposé par des files d'attentes quisont associées à toutes les resources. Ainsi, il garantit l'égalité,la vivacité et l'efficacité pour une large catégorie d'applications.L'obstacle majeur pour l'utilisation d'ORWL est sa phased'initialisation, où le programmeur doit spécifier le schéma d'accèsentre tâches et resources, ainsi que les positions initiales destâches dans les files d'attente. Nous fournissons une interfaceconviviale, basée sur un langage dédié (DSL) qui capte la sémantiquespécifique au domaine et génère du code stencil parallèle de hauteperformance. Nous avons effectué des expériences qui prouvent lavalidité de notre approche, ainsi que l'efficacité et l'extensibilitédu code généré.
| Origine | Fichiers produits par l'(les) auteur(s) |
|---|---|
| Licence |