Une approche combinée langage-polyédrique pour la programmation parallèle hétérogène

par Jie Zhao

Projet de thèse en Mathématiques

Sous la direction de Albert Cohen.

Thèses en préparation à Paris Sciences et Lettres , dans le cadre de École doctorale de Sciences mathématiques de Paris Centre (Paris) , en partenariat avec LIENS - Laboratoire d'informatique de l'École normale supérieure (laboratoire) et de École normale supérieure (Paris ; 1985-....) (établissement de préparation de la thèse) depuis le 01-09-2014 .


  • Résumé

    La réalisation de compilateurs parallélélisants constitue une des principales stratégies permettant d'exploiter efficacement des architectures de calcul hétérogènes. En revanche, leur champ d'action est en pratique limité à des noyaux de calcul numérioque sur tableaux, dont les motifs d'accès sont réguliers et aisément analysables. La parallélisation de codes plus irréguliers implique le recours à des techniques dynamiques voire spéculatives. Le compilateur est amené à retarder la prise en compte voire spéculer sur l'absence de dépendances de données ou de contrôle. Cette thèse se focalise sur la généralisation et sur l'automatisation de ce type de techniques, et de leur application à la parallélisation hétérogène. La gestion efficace d'accélérateurs de calcul est rendue particulièrement délicate par les coûts de transfert de données et les contraintes que leur architecture spécialisée impose sur l'expression du parallélisme et de la localité. Des méthodes de profiling et de modélisation de performances devront donc être mises en œuvre pour guider les transformation de code.

  • Titre traduit

    A Combined Language and Polyhedral Approach to Heterogeneous Parallelism


  • Résumé

    Parallelizing compilers are one of the main strategies for efficient parallelization on heterogeneous parallel hardware, but their applicability has been limited mostly to array-based scientific applications that have well-analyzable, regular data access patterns mainly because of imprecise static analysis. Automatic speculative parallelization can overcome the limitations of static compiler analysis. These compilers speculatively remove memory or control dependences among instructions, and optimistically parallelize loops. The thesis is dedicated to develop a speculative approach to heterogeneous parallelism. More Specifically, we intend to work on the following issues. First, research on data dependence profilers (DDPs). In this stage, we will investigate different kinds of data dependence profilers, and synthesize these profilers and propose an accurate and balanced profiler. Secondly, parallelizing different kinds of loops. Considering the heterogeneous architecture, separate the helper thread from the computing thread. They can be allocated on a slave processor and a master processor respectively, so as to reduce the latency and improve the performance. Thirdly, misspeculation schedules. By studying existing schedules when misspeculation occurs, design and implement approach which can accomplish the same tasks automatically.