• Aucun résultat trouvé

Programmation Haute Performance pour Architectures hybrides

N/A
N/A
Protected

Academic year: 2021

Partager "Programmation Haute Performance pour Architectures hybrides"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-01086632

https://hal-mines-paristech.archives-ouvertes.fr/hal-01086632

Submitted on 24 Nov 2014

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Programmation Haute Performance pour Architectures hybrides

Rachid Habel, François Irigoin, Frédérique Silber-Chaussumier

To cite this version:

Rachid Habel, François Irigoin, Frédérique Silber-Chaussumier. Programmation Haute Performance pour Architectures hybrides. Conférence et Parallélisme, Architecture et Système : RenPar CFSE -ComPas, Jan 2013, Grenoble, France. �hal-01086632�

(2)

Langage à base de directives

Solution proposée Architecture Distribution des calculs

Distribution

des données Communications

HPF

Description de la distribution des données Dérivation de la répartition des calculs et des communications à partir de la

distribution des données

Mémoire

distribuée

++

+

XcalableMP

Description de la distribution des données et des communications

Dérivation de la répartition des calculs à partir de la distribution des données

Mémoire

distribuée

++

OpenMP Description de la répartition des calculs à

exécuter en parallèle

Mémoire

partagée

++

HMPP Description des noyaux de calcul à exporter

et à exécuter sur GPU GPU

+

+

Dimensions

Dimensions

Dimensions

Dimensions

Objectif: proposer un modèle de distribution des calculs et des données et générer de façon

Objectif: proposer un modèle de distribution des calculs et des données et générer de façon

semi-automatique un code parallèle efficace en consommation mémoire et en temps d'exécution

semi-automatique un code parallèle efficace en consommation mémoire et en temps d'exécution

Objectif: proposer un modèle de distribution des calculs et des données et générer de façon

Objectif: proposer un modèle de distribution des calculs et des données et générer de façon

semi-automatique un code parallèle efficace en consommation mémoire et en temps d'exécution

semi-automatique un code parallèle efficace en consommation mémoire et en temps d'exécution

1. Distribution des calculs sans halo i = BPc + Bp + l + L.1

#pragma step gridify

#pragma omp parallel for

2. Distribution des données avec halo a = BPc + Bp − H_low + l

#pragma step distribute

Notre modèle de distribution

Notre modèle de distribution

Notre modèle de distribution

Notre modèle de distribution

Résultats préliminaires

Résultats préliminaires

Résultats préliminaires

Résultats préliminaires

Programmation Haute Performance

pour Architectures Hybrides

Rachid HABEL

, rachid.habel@telecom-sudparis.eu

Encadrement : François IRIGOIN, Frédérique SILBER-CHAUSSUMIER

Contexte et Problématique

Contexte et Problématique

Contexte et Problématique

Contexte et Problématique

Travaux liés

Travaux liés

Travaux liés

Travaux liés

Conclusion et suite

Conclusion et suite

Conclusion et suite

Conclusion et suite

Nos Contributions

Nos Contributions

Nos Contributions

Nos Contributions

● Distribution des calculs pour des nids de

boucles parallèles à profondeur quelconque

● Distribution des données avec extension de

l'espace de stockage : halos

● Génération de code source parallèle proche

du code initial avec traduction des accès globaux en accès locaux

● Génération des communications pour les

mises à jour des halos

Applications scientifiques denses

Temps de calcul importants, limitation mémoire

Parallélisation semi-automatique

Traiter des problèmes de très grande taille

Réduire le temps d'exécution global

Distribution des calculs

Distribution des données

Communications

Facilité de programmation

Distribution et changement de repère

Distribution et changement de repère

Distribution et changement de repère

Distribution et changement de repère

Transformation

Transformation

Transformation

Transformation

Source à source Langage C

Code en entrée : code séquentiel + OpenMP

+ distribute

Code généré : OpenMP + MPI (runtime STEP)

Repère initial Repère distribué

x ln (P_x, C_x, L_x) (P_ln, C_ln) Tableaux Itérations Mémoire x a (p_x, c_x, l_x) x x i x (p_ln, c_ln) x v x v loop_iterations local_element_copy_p_x mem_g mem_l mem_l subscript expression element_copies . . . x x . . . (p_x´, c_x´, l_x´) (p_x´´, c_x´´, l_x´´) x x v´´ . . . mem_l

Implémentation

Implémentation

Implémentation

Implémentation

● Prototype implémenté dans STEP (basé sur

PIPS)

● Résumés des communications en utilisant les

régions de tableaux de PIPS

● Communications générées :

● non bloquantes

● en cas de définitions utilisées dans le futur

du calcul

● limitées aux voisins

● Proposition d'un modèle de distribution des

calculs et des données

● Propriétés de correction du code généré

● Implémentation dans STEP (PIPS)

● Génération de code parallèle hybride

● Premières expérimentations concluantes

● Prouver l'intérêt de la solution sur davantage

d'applications

Références

Documents relatifs

Après avoir décrit la plateforme expérimentale que nous avons employée, nous présen- tons les deux étapes nécessaires à la réalisation de chacun des calculs hybrides S_GPU 2

Moreover, the execution model of these platforms (notably the relaxed memory models they imple- ment) introduces new challenges to static and dynamic program analysis. In this work

code Java et code natif, propose également une nouvelle interface appelée Foreign Function Interface (FFI) [129] dont les principes de base an d'améliorer les performances sont

O fato que tenham ou tentem ter lã tam- bém uma casa ou um ponto de referência, onde passarão uma pa~ te do tempo - a não ser que tenham verdadeiramente emigrado - indica bem que

Les registres copiés d’un thread créateur à un thread créé sur un autre cœur sont installés dans la file RF (voir la figure 1).. Les références à ces registres dans le

These changes in bonds and angles correspond to the W-O and A(Sr, Ce)–O stretching and twisting motions.. The structure was identified as a tetragonal scheelite and the XRD

Le besoin utilisateur et l’information parlée sont projetés dans un espace sémantique, puis des méthodes de recherche documentaire et de résumé automatique permettent la