Menu:

Info:

The MOAIS Project is part of the LIG together with the MESCAL Project.

Institutions:

LIG
CNRS
Grenoble INP
INRIA
UJF
UPMF

Exploitation d'architecture multi-GPU

Motivations

Les machines pentaflopiques actuelles se basent sur l'exploitation d'accélérateur pour gagner en performance brute. Ces accélérateurs sont basés soit sur des processeurs Cell ou bien des GPU. Les futures machines seront très certainement basées des grappes de noeuds multiprocesseurs, chaque nœud sera couplé à plusieurs de ces accélérateurs. Pour exploiter correctement ces architectures, il est fondamental de pouvoir exploiter efficacement un nœud de calcul avec plusieurs accélérateurs. Le challenge étant d'arriver à masquer la complexité du matériel disponible afin que les développeurs d'applications HPC puissent simplement tirer parti des ressources matériels disponibles.

Le projet MOAIS développe un intergiciel, appelé KAAPI, qui vise à séparer la description du parallélisme par l'application de son exploitation effective sur l'ensemble des ressources de calcul. Une application KAAPI décrit le travail à exécuter sous la forme d'un ensemble de tâches avec ou sans dépendances. Le runtime se charge de les placer sur les ressources disponibles. KAAPI permet d'exploiter les ressources CPU ou de type GPU en suivant le même modèle : une tâche peut exposer plusieurs implémentations en fonction des architectures visées (CPU ou GPU), et en fonction du choix de placement d'une tâche par le runtime, l'implémentation CPU ou GPU sera utilisée.

Objectif du stage

Le stage consistera a étudier des heuristiques ou des stratégies d'ordonnancement basées sur une technique de vol de travail afin d'ordonnancer des tâches sur une architecture comportant plusieurs GPUs (8 à 16 cartes NVIDIA avec GPU). Le goulot d'étranglement dans une telle architecture est le transfert des données entre les cartes GPUs. Les heuristiques viseront donc, soit à éviter de transférer les données en réalisant les calculs où se trouvent les données (affinité calcul-mémoire); soit à recouvrir les temps de transfert par du calcul. Le tout en respectant un bon équilibre de charge entre les ressources de calcul.

Résultats attendus

Des propositions d'heuristiques ainsi que des évaluations expérimentales sur une architecture comportant jusqu'à 8 plusieurs cartes NVIDIA GTX 295 ou Telsa C2050. Des preuves de garantie de temps d'exécution seront aussi considérées.

Liens

Back to job offers