Académique Documents
Professionnel Documents
Culture Documents
UT1 ML
Architectures parallèles
« L’architecture SIMD » UC UT2 ML
1 UT3 ML
Les unités d’exécution parallèles sont synchronisées et chaque unité a son propre
registre d’adresses,
Les processeurs vectoriels sont souvent considérés comme des architectures de Thinking CM2 65536 2048 16384 1 1987
type SIMD. machines
Exemple la machine CRAY (1976) est née suite à la nécessité d’exécuter les Des méthodes de résolution de système d’équations aux dérivés partielles
applications numériques plus rapidement que sur une machine séquentielle de Des méthodes de résolution de systèmes d’équations différentielles
l’époque.
Des transformées (Fourier,…)
Architecture dédiée au traitement numérique.
Ces algorithmes sont caractérisés par :
Des calculs en représentation à virgule flottante
Un même calcul est appliqué à un très grand nombre de données
Le jeu d’instructions comprend des instructions vectorielles qui s’appliquent à tous les
éléments stockés dans les registres vectoriels opérandes.
Instructions de sémantique forte (type CISC), c’est l’équivalent d’une boucle.
Architecture de type LOAD/STORE, uniquement ces instructions référencent la mémoire
le reste s’appliquent sur les registres vectoriels.
L’addition est pipelinée.
Unité de calcul
Chargement de vecteur depuis la mémoire vers le registre vectoriel. Mémoire
vectorielle
Opérations arithmétiques et logiques entre des vecteurs.
Opérations entre des vecteurs et des scalaires.
Placements des résultats dans la mémoire
Unité de
lecture/écritur Registres vectoriels
e
Programmation Multithreading
Le principal avantage du Multithreading est que cette solution est utilisable sur des Étape 1: l’unité de contrôle divise les nombres en 4
architectures à mémoire partagée ce qui améliore efficacement les performances sous-ensembles, un seul ensemble par processeur
particulièrement en termes de temps de communication
l’inconvénient majeur dans ce cas est le surcoût relatif au basculement entre threads.
En effet, on doit enregistrer l’environnement d’exécution du thread qu’on veut mettre N1,N2,N3,N4 N5,N6,N7,N8
en attente et chargé les registres du processeur avec le contexte d’exécution du
nouveau thread à exécuter
UC
N9,N10,N11,N12 N13,N14,N15,N16
Exemple: Exemple:
Soit l’ensemble de 16 nombres, les étapes du calcul de l’addition de Soit l’ensemble de 16 nombres, les étapes du calcul de l’addition de
ces nombres sur 4 processeurs en utilisant une architecture SIMD sont les suivants ces nombres sur 4 processeurs en utilisant une architecture SIMD sont les suivants
Étape 2: calcul des sommes partielles sur les processeurs individuels; Étape 1: La moitié des processeurs envoie les données, l’autre moitié les
calcul sériel sur chaque unité reçoit et effectue une addition. Le réseau d’interconnexion est utilisé pour communiquer
les données
R1=somme(N1,N2 R2=somme(
R5=R1+R2 R2
,N3,N4) N5,N6,N7,N8)
UC UC
R 3=somme( R4=somme(
R6=R3+R4 R4
N9,N10,N11,N12) N13,N14,N15,N16)
Exemple: Exemple:
Soit l’ensemble de 16 nombres, les étapes du calcul de l’addition de
ces nombres sur 4 processeurs en utilisant une architecture SIMD sont les suivants
R7=R5+R6
UC
R6
Références