09/01/2017
4
Lesschémasdecirculationimposent:
•lesblocsdeAsurleslignesdeprocesseursrestantes
•lesblocsdeBsurlescolonnesdeprocesseursrestantes
1;1
1;1 2;2 3;3
2;2
3;3
0;0
0;0 1;1 2;2
1;1 1;2
2;1
1;0
0;2
2;2 2;0
0;1
2;1
1;2
0;1 0;2
1;0
2;0
Onvérifiesilesnouveaux
couplessontcompatibles…
…Oui!Onatoujours:
jk
B
ki
A,
et
,
Blocscompatibles
ProduitdematricessurtoredePproc
Algorithmedistribué
1;1
1;1 2;2 3;3
2;2
3;3
0;0
0;0 1;1 2;2
1;1 1;2
2;1
1;0
0;2
2;2 2;0
0;1
2;1
1;2
0;1 0;2
1;0
2;0
Finalement:
• Partitionnementfixésurtouslesprocesseurs
•Touslescouplesdeblocssontcompatiblesàlapremièreétape
•Touslescouplesdeblocssontcompatiblesaprèschaquecirculation
PuisCalculcompletenétapes
Généralisation…
Colonne0décaléede0cranverslehau
Colonne1décaléede1cranverslehau
Colonne2décaléede2cranverslehau
ProduitdematricessurtoredePproc
Algorithmedistribué
AlgorithmedeCanon:
Produitdematricesdeélémentssuruntoredeprocs.
0;00;10;2
1;01;11;2
2;02;12;2
1– Partitionnementdesmatricesen
éléments de blocs
N
N
PP
2–Pré‐décalagesinitiauxdesblocssurletoredeproc:
. crans de décalage : 1])-;0[( colonne -
, crans de décalage : 1])-;0[( ligne -
jPj
iPi
1
1
2
2
3‐ étapes{calculs:sommepartielledeC(i,j);
circulations:A(i,j)1cran,etB(i,j)1cran}
4– DernièrecirculationoupostdécalagesdeAetBsinécessaire.
ProduitdematricessurtoredePproc
Algorithmedistribué