Design of the InKS programming model for the separation of algorithm and optimizations in simulation codes : application to the 6D Vlasov-Poisson system solving - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2019

Design of the InKS programming model for the separation of algorithm and optimizations in simulation codes : application to the 6D Vlasov-Poisson system solving

Conception du modèle de programmation INKS pour la séparation des préoccupations algorithmiques et d’optimisation dans les codes de simulation numérique : application à la résolution du système Vlasov/Poisson 6D

Résumé

The InKS programming model aims to improve readability portability and maintainability of simulation codes as well as boosting developer productivity. To fulfill these objectives, InKS proposes two languages, each dedicated to a specific concern. First, InKS PIA provides concepts to express simulation algorithms with no concerns for optimization. Once this foundation is set, InKSPSO enables optimization specialists to reuse the algorithm in order to specify the optimization part. The model offers to write numerous versions of the optimizations, typically one per architecture, from a single algorithm. This strategy limits the rewriting of code for each new optimization specification, boosting developer productivity.We have evaluated the InKS programming model by using it to implement the 6D Vlasov-Poisson solver and compared our version with a Fortran one. This evaluation highlighted that, in addition to the separation of concerns, the InKS approach is not more complex that traditional ones while offering the same performance. Moreover, using the algorithm, it is able to generate valid code for non-critical parts of code, leaving optimization specialists more time to focus on optimizing the computation intensive parts.
Le modèle de programmation InKS vise à améliorer la lisibilité, la portabilité et la maintenabilité des codes de simulation tout en accroissant la productivité des développeurs de telles applications. Pour atteindre ces objectifs, InKS propose deux langages, chacun dédié à une partie de l’application. Le premier, InKS PIA , permet d’exprimer les aspects algorithmiques d’un code de simulation scientifique tout en laissant les choix d’optimisation de côté. Il s’agit de décrire les fondations de la simulation : son algorithme. Le second langage, InKS PSO , permet aux spécialistes de l’optimisation de réutiliser les informations contenues dans l’algorithme pour exprimer une large variété de choix d’optimisation. Le modèle permet d’écrire de nombreuses versions des optimisations, typiquement une par architecture, à partir d’un unique algorithme. En basant les différentes versions d’un programme sur sa partie invariante, l’algorithme, le modèle InKS limite la réécriture du code, boostant la productivité des développeurs. Suite à la proposition du modèle InKS et de son implémentation, nous avons évalué le modèle au travers de l'implémentation de simulations de plasma: le système Vlasov-Poisson 6D. Cette évaluation a permis de mettre en évidence certaines bonnes propriétés du modèle, notamment en matière de séparation des aspects, mais aussi à montrer sa généralité et ses performances. Pour ce faire, nous avons comparé l'efficacité de deux implémentations du système Vlasov-Poisson 6D, écrite sur InKS ou Fortran. Pour les optimisations les plus importantes, le nombre de lignes dans les deux cas est similaire. Cependant, la présence de l'algorithme permet d'ordonnancer automatiquement, en une simple ligne, un large ensemble de calcul, verbeux et potentiellement sujet aux erreurs. Ainsi, dans les parties non critiques du code, InKS PSO peut résumer une partie du programme de manière concise, permettant de se concentrer sur les parties de calcul intensif. Par ailleurs, en limitant la réécriture du code aux seules optimisations, InKS permet de tester plusieurs stratégies d'optimisations afin d'identifier la plus adaptée à une architecture donnée. En comparaison, dans ces situations, les applications traditionnelles requièrent la réécriture d'une plus grande partie du code, limitant le temps consacré à la recherche des meilleures stratégies d'optimisation.
Fichier principal
Vignette du fichier
Ejjaaouani_Ksander_2019_ED269.pdf (2.47 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)
Loading...

Dates et versions

tel-02520229 , version 1 (26-03-2020)

Identifiants

  • HAL Id : tel-02520229 , version 1

Citer

Ksander Ejjaaouani. Design of the InKS programming model for the separation of algorithm and optimizations in simulation codes : application to the 6D Vlasov-Poisson system solving. Programming Languages [cs.PL]. Université de Strasbourg, 2019. English. ⟨NNT : 2019STRAD037⟩. ⟨tel-02520229⟩
79 Consultations
303 Téléchargements

Partager

Gmail Facebook X LinkedIn More