OpenMP 4.1 sera nommé 4.5

Le premier brouillon d’OpenMP 4.1 a été publié en juillet et son implémentation a déjà débuté côté GCC. Un récent message sur la liste de diffusion du compilateur indique que cette nouvelle version aura pour numéro 4.5, à cause des changements importants apportés au niveau de la spécification. La rétrocompatibilité sera cependant parfaite avec le code OpenMP 4.0. La version finale est toujours attendue pour la conférence SC15 (supercomputing 2015, du 15 au 20 novembre).

Les fonctionnalités principales attendues pour cette prochaine révision sont la définition de priorités pour les tâches, une première API pour l’affinité de la mémoire et une meilleure compatibilité avec Fortran 2003 (seules dix limitation sont encore listées dans la norme). En outre, les références en C++ sont mieux gérées, les différentes itérations d’une boucle pourront être réparties entre des tâches différentes (directive taskloop) et les dépendances pourront être indiquées.

Plus spécifiquement, pour les dépendances, les directives utilisant la construction ordered (utilisée pour indiquer que les itérations de la boucle doivent avoir lieu de manière séquentielle dans une section parallélisée) pourront prendre un paramètres pour indiquer le nombre de boucles associées à cette directive. Une clause simd limitera le bloc à une unité d’exécution SIMD.

Le travail sur OpenMP 5.0 commence déjà. La sortie est prévue en 2017 (une estimation déjà dite optimiste), avec au menu une meilleure compatibilité avec les versions les plus récentes de C, C++ et Fortran (C11, C++14, Fortran 2003), une interopérabilité avec pthreads, mais aussi la mémoire transactionnelle ou du parallélisme en dehors des régions déclarées parallel.

Sources : OpenMP 4.1 is dead, long live OpenMP 4.5, OpenMP 4.1 Morphs Into OpenMP 4.5, OpenMP 4.1 and 5.0 Progress, OpenMP 4.1 TR3.

Laisser un commentaire