Automatic Code Generation for Iterative Multi-dimensional Stencil Computations - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Communication Dans Un Congrès Année : 2016

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 a large programmer community to easily and safely implement parallel stencil codes within the framework of Ordered Read-Write Locks (ORWL). It meets the specific needs of the application at a high level of abstraction. ORWL is an inter-task synchronization model for iterative data-oriented parallel and distributed algorithms that uses strict FIFO ordering for the access to all resources. It guarantees equity, liveness and efficiency for a wide range of applications. The main hurdle for using ORWL lies in its initialization phase, where the programmer has to specify the access scheme between tasks and resources and the initial positions of the tasks in the FIFOs. We provide a user-friendly interface based on a Domain-Specific Language (DSL) that captures domain semantics and automatically generates ORWL parallel high-performance stencil code. We conducted experiments that proved the validity of our approach, as well as the efficiency and scalability of the generated code.
Nous présentons un outil de génération automatique source-à source de code qui permet à une grande communauté de programmeurs d'implémenter des codes stencils dans le cadre des verous ordonnés de lecture-écriture (ORWL), et ceci de façon facile et sûre. L'outil proposé remplit les besoins spécifiques pour permettre un niveau d'abstraction élevé. ORWL est un modèle de synchronisation entre tâches pour des calculs itératifs qui sont centrés sur les données. Il utilise un ordonnocement strict imposé par des files d'attentes qui sont 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 phase d'initialisation, où le programmeur doit spécifier le schéma d'accès entre tâches et resources, ainsi que les positions initiales des tâches dans les files d'attente. Nous fournissons une interface conviviale, basée sur un langage dédié (DSL) qui capte la sémantique spécifique au domaine et génère du code stencil parallèle de haute performance. Nous avons effectué des expériences qui prouvent la validité de notre approche, ainsi que l'efficacité et l'extensibilité du code généré.
Fichier principal
Vignette du fichier
RR-8928.pdf (762.19 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01337093 , version 1 (27-06-2016)

Licence

Paternité - Pas d'utilisation commerciale - Pas de modification

Identifiants

  • HAL Id : hal-01337093 , version 1

Citer

Mariem Saied, Jens Gustedt, Gilles Muller. Automatic Code Generation for Iterative Multi-dimensional Stencil Computations. High Performance Computing, Data, and Analitics, Dec 2016, Hydarabat, India. ⟨hal-01337093⟩
219 Consultations
276 Téléchargements

Partager

Gmail Facebook X LinkedIn More