comparaison de trois plateformes

publicité
Accélération
SIMD d’un calcul
matriciel :
comparaison de trois
plateformes
Matthijs Douze
IRIT/ENSEEIHT
1/14
Plan
— Principe
— Utilisation
— Expérimentations
2/14
Extension de l’architecture
fetch/decode
exec
MMU
cache
bus
mémoire
ALU
FPU
vector
Principe
3/14
Registres vectoriels
0
127
128 bits
7 0
16 octets
15
8 * 16 bits
(signé/non-signé)
31
0
0
4 * 32 bits
(entier/flottant)
63
0
2 * 64 bits
Principe
4/14
Opérations vectorielles
e/s mémoire
ordonnancement
logiques
+
+
+
+
arithmétiques
comparaisons, min/max
Principe
5/14
Les 3 implantations
Sun, SPARC, VIS
64 bits, dans FPU, image
PC, IA-32, SSE 2
interface avec scalaire
Mac, PowerPC, Altivec
nombreuses instructions, pas 64 bits
Principe
6/14
Programmation
depuis C
code
.c
inline ou
intrinsics
code
assembleur
.s
fichier .il
fichier
objet
.o
assembleur
vectoriel
exécutable
librairie
Utilisation
7/14
Librairies
riches
traitement signal & image
convolution, FFT, morphologie, codec
calcul matriciel
BLAS, LAPACK
cryptographie
bignum
Utilisation
8/14
Assembeur
défini par le constructeur
fichier à part
appel de fonction depuis C
fichier .il Sun
pas d’appel de fonction
assembleur inline
syntaxe gcc
Utilisation
9/14
100% C
intrinsics
un/des types vectoriels
primitives de calcul
syntaxe Motorola
vectorisation automatique
ICC
restrict, aligned
Utilisation
10/14
Un problème
d’optimisation
résoudre )
X = arg min AX - B
XŒR n¥ p
où
AŒR
N ¥n
,BŒR
N ¥p
N=5000, n=400, p=8
†
T
décomposition de Cholesky de A A
†n ¥ n produits scalaires
Expérimentations
11/14
Mise en œuvre
valeurs entières -255..255
librairies
double/float
pas prévu
vectorisation
instruction spécialisée
par blocs
Expérimentations
12/14
Résultats
(temps en secondes)
machine
scalaire
vectoriel
vectoriel
par blocs
Mac
G4 866
3.8
2.1
0.54
PC
Sun
P4 1800 US3 Cu 900
1.4
4.1
0.44
2.8
0.17
1.5
Expérimentations
13/14
Conclusion
PC rapide, Sun limité
auto-vectorisation de ICC
interface C de Motorola
facile et efficace
gros tableaux d’éléments scalaires
SIMD à la mode
14/14
Téléchargement