• Aucun résultat trouvé

Faisabilité d'un compilateur de langage data-parallèle traitant les matrices creuses

N/A
N/A
Protected

Academic year: 2021

Partager "Faisabilité d'un compilateur de langage data-parallèle traitant les matrices creuses"

Copied!
67
0
0

Texte intégral

(1)

HAL Id: hal-01430032

https://hal.inria.fr/hal-01430032

Submitted on 9 Jan 2017

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.

Distributed under a Creative Commons Attribution - NonCommercial - NoDerivatives| 4.0 International License

Faisabilité d’un compilateur de langage data-parallèle

traitant les matrices creuses

Eddy Caron

To cite this version:

Eddy Caron. Faisabilité d’un compilateur de langage data-parallèle traitant les matrices creuses. Calcul parallèle, distribué et partagé [cs.DC]. 1996. �hal-01430032�

(2)
(3)
(4)
(5)
(6)
(7)

FD : Flot de donnees FI : Flot d’instructions I/O : Entree/Sortie Unite de Controle FI FI FD Processeur Memoire I/O Lecture de l’instruction Décodage de l’instruction

Lecture des opérandes Exécution de l’instruction

Rangement du résultat Pour chaque Instruction

(8)

Instruction 1 Instruction 2 Instruction 3 Instruction 1 Instruction 2 Instruction 3 Instruction 4 Instruction 5 Instruction 6 Instruction 7 S éq u en t i el p i p e-l i n e Cycl es m a ch i n es

Unite de Controle 1 Unite de Controle 2

FD : Flot de donnees FI : Flot d’instructions I/O : Entree/Sortie Unite de Controle N

Processeur 1 Processeur 2 Processeur N

I/O

...

...

...

FI FI FI FI FI FI FD FD FD FD Memoire (programme et donnees)

(9)

Unite de Controle FD : Flot de donnees FI : Flot d’instructions I/O : Entree/Sortie Processeur 2 Memoire 2 Memoire N FI FI FD FD Reseau d’interconnexions Processeur 1 Processeur N FD FD FD FD

(10)

P P P P P

M M M M M

(11)

Memoire N Memoire 1 Unite de Controle N Memoire 1 FD : Flot de donnees FI : Flot d’instructions I/O : Entree/Sortie

Processeur 1 Processeur 2 Processeur N

Unite de Controle 1 Unite de Controle 2

FD FD

FD

FD FD FD

FI FI FI

(12)

P P P P Unités de calcul

(13)

P P P P

M M M M

Unités de calcul

(14)

Réseau en anneau

I Réseau en Tores

Réseau en Grilles Réseau en Hyper-cubes

III IV

(15)

1 2 3 4 5 T r a i t em en t S eq u en t i el T r a i t em en t D a t a P a r a l l el e Pour i allant de 1 a 5 finpour A[i]:=A[i]+B[i] A:=A+B B A 5 4 1 8 7

(16)

4 1 2 9 9 2 2 1 1 2 3 1 9 9 2 1 3 5 9 9 1 2 2 4 1 7 3 1 4 9 3 5 6 3 9 8 5 1 4 5 9 8 7 6 8 8 8 7 9 7 7 2 1 7 2 1 3 4 3 5 6 7 3 1 9 9 1 1 9 1 9 7 1 7 2 1 3 4 3 5 6 7 3 1 9 9 1 1 9 1 9 7 6 3 9 8 5 1 4 5 9 8 7 6 8 8 8 7 9 7 7 2 3 5 9 9 1 2 2 4 1 7 3 1 4 9 3 5 4 1 2 9 9 2 2 1 1 2 3 1 9 9 2 1 Processeur 4 Processeur 3 Processeur 2 Processeur 1

(17)

1 2 3 4 5 T r a i t em en t S eq u en t i el T r a i t em en t D a t a P a r a l l el e 4 4 2 6 4 12 6 6 12 i=1 i=2 i=3 i=4 i=5 2 3 4 5 3 4 5 4 5 5 1 processeur A B Pour i allant de 1 a 5 finpour A[i]:=A[i]+B[i] 5 4 1 8 7 6 6 6 6 6 4 6 6 4 6 6 4 1212 12 Etape 1 Etape 2 3 processeurs A:=A+B

(18)

hspace matrice [x=100,y=100] int matrice [x=10;20,y=10;20]

dpo Mdpo

(19)
(20)
(21)

C* int:colmat matrice;

Shape [900] colvect; Shape [1152, 900] colmat;

(22)

T

!HPF$ TEMPLATE T(6,4)

REAL, DIMENSION (6,4) :: A REAL, DIMENSION (6) :: B !HPF$ ALIGN A WITH T

!HPF$ ALIGN B(I) WITH T(I,2)

B A

(23)

plan Mat1

Mat2

hspace plan [x=100,y=100];

dpo int plan [x=10;80,y=10;80] Mat1 dpo int plan [x=30;50,y=20;60] Mat2

30 50 10 80 100 10 20 50 60 80 100 20 40 10 50

(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)

9 5 9 8 7 9 1 8 8

(32)

9 8 1 4 5 9 8 7 6 7 9 7 9 2 8

(33)
(34)
(35)
(36)
(37)

5 8 8 1 7 4 7 9 9 2 6 9

(38)

1 1 1 1 1 1 1 1 1 1 0 0 F F F F F L L L L L Compression des lignes

Al context Al first Al last Compression des colonnes

1 1 2 1 2 1 2 1 3 3 1 2 5 5 2 6 1 1 2 Colonnes -> Lignes 4 1 3 7 -2 6 9 4 10 -9 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 7 -2 4 9 10 8 -9 6 Lignes -> Colonnes 1 2 1 2 1 2 1 1 1 2 Al_l Al_c 1 3 4 3 1 4 2 6 2 5 1 1 1 1 1 1 1 1 1 1 0 F F F F L L L 4 9 10 3 7 6 -2 -9 8 1 0 F L L Al v

(39)

-150 -100 -50 0 50 100 0.001 0.01 0.1 1 10 100 Gain en % % d’elements significatifs

Gain moyen d’occupation memoire pour une matrice 1000*1000 COO CSR ou CSC DIA ELL JAD SKY S3

(40)

1 3 2 3 1 1 3 5 6 0 0 0 0 0 0 0 0 51 0 0 11 12 21 22 0 0 0 15 16 25 26 0 0 0 33 43 0 44 35 36 45 46 52 61 62 11 21 12 22 15 25 16 26 33 43 0 44 35 45 36 46 51 61 52 62

A

CA

LA

(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)

"

"

"

1

4

8

2

7

5

3

6

1

2

2

(49)

53 19 17 93 DA0 2 1 4 5 CO RO 1 2 2 3 3 4 5 5 0 0 P(0,0) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 53 17 0 93 0 0 0 0 0 27 23 69 11 13 21 0 72 16 0 44 37 64 19 DA CO RO 1 1 5 P(1,1) DA 2 CO RO 1 P(1,0) 23 69 27 11 3 1 4 1 3 5 2 2 2 3 3 3 44 19 37 64 1 4 3 3 4 DA 2 CO RO 1 2 3 4 5 P(0,1) 21 16 72 13 3 1 2 1 4 4 1 1 1

(50)
(51)

Donnees creuses Algorithme Donnees denses Langages usuel Adaptation Compression Compilation Machine Donnees creuses Compilation Algorithme Machine Compression

(52)
(53)

Pré-compression II Post-Compression I

(54)
(55)

3 4 5 1 6 3 9 1 7 2 2 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9

(56)

1 0 0 0 0 0 0 4 1 3 0 3 9 0 0 3 P 1 P 2 7 2 1 0 2 4 2 0 8 3 0 0 0 0 0 0 1 1 2 2 5 3 2 0 3 6 A J A J P 3 A J A J J A J A P 4 P 5 P 6 Pour j allant de 4 à 4 Pour i allant de 3 à 3 Parcours sur le processeur 1 Pour i allant de 3 à 3 Parcours sur le processeur 3 Pour j allant de 1 à 4 Parcours sur le processeur 4 Pour i allant de 1 à 2 Pour j allant de 1 à 4 Pour j allant de 4 à 4 Parcours sur le processeur 2 Pour i allant de 1 à 2 Parcours du domaine d’activité Pour i allant de 3 à 5 faire

(57)
(58)
(59)

4 1 8 7 9 6 8 7 51 52 9 53 6 4 1 8 7 51 52 9 53 6

A

N

A

4 1 8 7 9 6 4 1 8 7 51 52 9 53 6

A

4 1 8 7 9 6 51 52 53

A

A

(60)

4 1 8 7 9 6 A

4 1 8 51 52 7 9 53 6 A

4 1 8 " 7 9 " 6 A

(61)
(62)
(63)
(64)
(65)
(66)
(67)

Références

Documents relatifs

Cependant on parvient au r6sultat, en verit6 bien simple, d'une mani6re beaucoup plus

La jornada del dia 14 ha significado un gran paso adelanto en la lucha cont ra la Ley de Educación y el Estado franquista, ya que no solo se ha prácticamente paralizado la

CO compuesto de dos perfiles matálicos doble T del N® 58 acoplados por pasadores cada 50 cmsoapoyado sobre dos pies derechos también metálicos compuestos por otros dos del N®

[r]

La mule fuit. Exercices. 1) Je colorie de la

'co comporte: un encart abonnement broché entre les pages 2 et 3, t abonnement jeté et un bandeau littéraire autour de la

die Heroen des hberalen Gelstes 140 FOCUS Online: Lebenszeitrechner 84 Trailer: Film-Neustarts der Woche 142 Focus-Listen. Theater: Fades Trelfen

n Juveniles consume plankton, adults are carnivorous (insect larvae, crustaceans, worms and small molluscs, fish roe and larvae). n Sexual maturity is attained at the age of 3 to