• Aucun résultat trouvé

Calcul numérique sur données de grande taille

N/A
N/A
Protected

Academic year: 2021

Partager "Calcul numérique sur données de grande taille"

Copied!
123
0
0

Texte intégral

(1)

HAL Id: tel-01444591

https://tel.archives-ouvertes.fr/tel-01444591

Submitted on 24 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

Calcul numérique sur données de grande taille

Eddy Caron

To cite this version:

Eddy Caron. Calcul numérique sur données de grande taille. Calcul parallèle, distribué et partagé [cs.DC]. Université de Picardie Jules Verne, 2000. Français. �tel-01444591�

(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)

`

`

(13)

`

(14)
(15)
(16)
(17)
(18)
(19)

Registres Cache L1 Mémoire vive Cache L2 Disques Temps d’accès Capacité de stockage

(20)

`

`

`

Table des pages d’un processus Mémoire virtuelle Mémoire physique NP1 NP2 NP3 NP4 NP5 NPV3 NPV1 NPV4 NPV5 NPV2 NPV0 NP0

(21)
(22)

i

p=0 p=1 p=2 p=3 j

(23)

i

j p=0

p=1 p=2 p=3

(24)
(25)

i=M j=1 i=2 i=3 i=1 i=M+1=N j=2 i=M-1 M N N p M i j

(26)

p1 p

2 p3

pn-1

Données utilisées pour le calcul de Ai,j

Pages chargées entre l’accès à A et l’accès à Ai,j i,j-1

Ai,j i,j+1A p p0 p1 p 2 pi-1 Ai,j i+1,j A p p i i+1 i,j i,j

Pages chargées entre le calcul de A et le calcul de Ai+1,j Données utilisées pour le calcul de A et de Ai+1,j

`

(27)
(28)
(29)
(30)

`

`

`

(31)
(32)

p=0 i

(33)
(34)
(35)

A2 B2 B1 A1 B0 A0 k=0 k=1 k=2 k=3

(36)
(37)
(38)
(39)
(40)
(41)

Basic Linear Algebra Communication Subprograms Linear Algebra PACKage

Bibliothèque de communication Parallel Basic Linear Algebra Subprograms Scalable Linear Algebra PACKage

Basic Linear Algebra Subprograms

Librairies séquentielles Librairies parallèles

BLACS

LAPACK

PVM/MPI/...

ScaLAPACK

BLAS

PBLAS

`

(42)

` `

(43)
(44)

a a

a a

a

a

a

a

a

a

a

a

a a

a a

a

a

a

a

a

a

a

a

a a

a a

a

a

a

a

a

a

a

a

a a

a a

a

a

a

a

a

a

a

a

a

a

a

a

33 34 43 44

a

a

a

a

37 38 47 48

a a

a a

17 18 27 28

a a

a a

13 14 23 24

a

a

a

a

53 54 63 64

a

a

a

a

57 58 67 68

a a

a a

15 16 25 26 52 51 61 62

a

a

a

a

55 56 65 66

a

a

a

a

11 12 21 22

a a

a a

a

a

a

a

31 32 41 42

a

a

a

a

35 36 45 46 11 12 13 14 15 16 17 18 21 22 23 24 25 26 27 28 31 32 33 34 35 36 37 38 41 42 43 44 45 51 52 53 54 55 56 57 58 61 62 63 46 47 48 64 65 66 67 68

Matrice 6x8 décomposée en blocs de taille 2x2

(45)

Décomposition ScaLAPACK Niveau in-core élément bloc matrice Hiérarchie mémoire registre élément cache mémoire disque bloc super-bloc matrice Décomposition ScaLAPACK Niveau out-of-core ` ` ` ` `

(46)

MMB/4 Matrice globale Super-bloc N/4 MMB/4 MMB/4 N/4 N/4 MMB/4 MMB/4 N/4 M N Matrice locale M/4 N/4 M/4 N/4 M/4 N/4 M/4 N/4

(47)
(48)
(49)
(50)
(51)

pas encore été accédés Super-blocs déjà calculés Super-bloc actif Super-blocs n’ayant

(52)
(53)

k K N k B=K/k=6 S=N/K=4 L=N/k=24 Taille de bloc Taille du superbloc Ordre de la matrice pdgetf2 pdtrsm pdgemm

(54)
(55)
(56)
(57)
(58)
(59)
(60)
(61)
(62)
(63)
(64)
(65)

=

L

x

X

b

X

=

=

x

X

b

X

=

U

(66)

*

=

00 10 11 01 I I I I L00 L L10 11 0 00 01 11 X X X10 X

(67)

L00 X00x =I00 I10 L10X00 10 = I’ 10 = X’ X’11=I’11=I11-L10X01 Données utilisées

Données résultats Zone de travail (l’algorithme s’applique récursivement sur les zones de travail ainsi déterminées)

=

=

=

=

*

*

*

xX =I L00 01 01 -L00 X00 I00 L00 X01 I 01 L10 00 X L10 X01 11 I’ 11 X’ 10 I’ 10 X’

(68)
(69)
(70)

X1i X2i L1j L2j Ii1 Ii2 Ii2 L2jX1i X2i= - pdgemm L1j X1i =Ii1 pdtrsm

=

x

(71)
(72)
(73)
(74)
(75)
(76)
(77)
(78)
(79)
(80)

recouvrement Avec recouvrementSans recouvrementAvec recouvrementSans t=4 t=5 t=6 t=1 t=2 t=3 Lecture disque Calcul Super-bloc actif

(81)

Calcul

Interruption pour les E/S Lecture disque

Version Asynchrone Version Synchrone

(82)
(83)
(84)
(85)
(86)
(87)
(88)
(89)
(90)

Nouvelle primitive Scilab

addinter intersci link

Interface

programme en C

mex

Fonction externe

Type : langage C

` `

(91)
(92)
(93)

+ OOC-lib BLACS Scilab-relais Scilab-relais Noeud 0 ScaLAPACK + OOC-lib + OOC-lib ScaLAPACK Noeud 1 Noeud 2 ScaLAPACK + OOC-lib Noeud 3 ScaLAPACK Scilab-relais Scilab-relais Scilab-// +OOC

(94)
(95)
(96)
(97)

matrices scilab Out-Of-Core

Creuses-OOC Creuses distribuées

Distribuées

(98)
(99)
(100)
(101)
(102)
(103)
(104)
(105)

0 1 2 3 7 6 5 4 1 0 0 1 2 3 0 1 2 3 7 1 0 0 1 2 3 4 6 5 Column major Row major

(106)
(107)
(108)
(109)
(110)
(111)
(112)
(113)
(114)
(115)
(116)
(117)
(118)
(119)
(120)
(121)
(122)
(123)

Références

Documents relatifs

Note that according to the Fredholm alternative, it is enough to prove that for the zero boundary data we get just the trivial solution.. Let a ij be a solution for the zero

(In case of V = R n , this task is trivial, since everything is already written with respect to the basis of standard unit vectors.) Then for each of these two matrices, we compute

Today we shall prove various theorems on quadratic forms stated without proof last week..

If we are given a point P belonging to the line `, and v is a nonzero vector parallel to `, then for each point X on `, the vector −→.. PX is parallel

We also defined elementary row operations on matrices to be the following moves that transform a matrix into another matrix with the same number of rows and columns:.. Swapping

I am fully aware that sometimes the amount of examples we do in class / in homeworks is not enough, so this book is a great source of exercises, and these exercises have answers

By inspection, or by noticing that elementary row operations combine rows, and the matrix product I n · A = A computes dot products of rows with columns, so an operation on rows of

If A is invertible, then the last row of its reduced row echelon form must be non-zero, or we get a contradiction like in the previous argument.. Therefore, each row of the reduced