• Aucun résultat trouvé

10mai2005 PascalGiorgi Calculshauteperformanceenalg`ebrelin´eaireexacte

N/A
N/A
Protected

Academic year: 2022

Partager "10mai2005 PascalGiorgi Calculshauteperformanceenalg`ebrelin´eaireexacte"

Copied!
70
0
0

Texte intégral

(1)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

10 mai 2005

Symbolic Computation Group, School of Computer Science, University of Waterloo, Canada

S´ eminaire CALFOR,

LIP6 - Universit´ e Pierre et Marie Curie, Paris VI

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Symbolic Computation Group, School of Computer Science, University of Waterloo, Canada

10 mai 2005

(2)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Motivations

L’alg` ebre lin´ eaire exacte est un outil de calcul r´ epandu.

Applications en calcul formel :

I bases de Gr¨ obner [Faug` ere LIP6] , rang, triangularisation

I cryptographie [Thom´ e 2003] ,

syst` emes lin´ eaires creux (1.033.593 × 766.150)

I combinatoire, topologie alg´ ebrique [Dumas 2000] , forme de Smith (376.320 × 117.600)

I programmation lin´ eaire [contact EDF] ,

syst` emes lin´ eaires diophantiens (50.000 × 50.000)

I ...

(3)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Diversit´ e des probl` emes

A = 2 6 4

−289 236 79 −268

108 −33 −211 309

−489 104 −24 −25

308 99 −108 66

3 7 5 , b =

2 6 4

−131 321 147 43

3 7 5 .

solution sur Z 1009 solution sur Q solution sur Z

x = 2 6 6 6 4

593 313 130 187

3 7 7 7 5

, x =

2 6 6 6 6 6 6 6 4

−9591197817 95078 131244

47539 2909895

665546 2909895

665546 3 7 7 7 7 7 7 7 5

, x =

2 6 6 6 4

−106495695463

−2208888459779

−4204431397194

−3069666048124 3 7 7 7 5

A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.

Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains

probl` emes d’alg` ebre lin´ eaire exacte

(4)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Diversit´ e des probl` emes

A = 2 6 4

−289 236 79 −268

108 −33 −211 309

−489 104 −24 −25

308 99 −108 66

3 7 5 , b =

2 6 4

−131 321 147 43

3 7 5 .

solution sur Z 1009

solution sur Q solution sur Z

x = 2 6 6 6 4

593 313 130 187

3 7 7 7 5 ,

x = 2 6 6 6 6 6 6 6 4

−9591197817 95078 131244

47539 2909895

665546 2909895

665546 3 7 7 7 7 7 7 7 5

, x =

2 6 6 6 4

−106495695463

−2208888459779

−4204431397194

−3069666048124 3 7 7 7 5

A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.

Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains

probl` emes d’alg` ebre lin´ eaire exacte

(5)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Diversit´ e des probl` emes

A = 2 6 4

−289 236 79 −268

108 −33 −211 309

−489 104 −24 −25

308 99 −108 66

3 7 5 , b =

2 6 4

−131 321 147 43

3 7 5 .

solution sur Z 1009 solution sur Q

solution sur Z

x = 2 6 6 6 4

593 313 130 187

3 7 7 7 5

, x =

2 6 6 6 6 6 6 6 4

−9591197817 95078 131244

47539 2909895

665546 2909895

665546 3 7 7 7 7 7 7 7 5 ,

x = 2 6 6 6 4

−106495695463

−2208888459779

−4204431397194

−3069666048124 3 7 7 7 5

A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.

Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains

probl` emes d’alg` ebre lin´ eaire exacte

(6)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Diversit´ e des probl` emes

A = 2 6 4

−289 236 79 −268

108 −33 −211 309

−489 104 −24 −25

308 99 −108 66

3 7 5 , b =

2 6 4

−131 321 147 43

3 7 5 .

solution sur Z 1009 solution sur Q solution sur Z

x = 2 6 6 6 4

593 313 130 187

3 7 7 7 5

, x =

2 6 6 6 6 6 6 6 4

−9591197817 95078 131244

47539 2909895

665546 2909895

665546 3 7 7 7 7 7 7 7 5

, x =

2 6 6 6 4

−106495695463

−2208888459779

−4204431397194

−3069666048124 3 7 7 7 5

A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.

Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains

probl` emes d’alg` ebre lin´ eaire exacte

(7)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Diversit´ e des probl` emes

A = 2 6 4

−289 236 79 −268

108 −33 −211 309

−489 104 −24 −25

308 99 −108 66

3 7 5 , b =

2 6 4

−131 321 147 43

3 7 5 .

solution sur Z 1009 solution sur Q solution sur Z

x = 2 6 6 6 4

593 313 130 187

3 7 7 7 5

, x =

2 6 6 6 6 6 6 6 4

−9591197817 95078 131244

47539 2909895

665546 2909895

665546 3 7 7 7 7 7 7 7 5

, x =

2 6 6 6 4

−106495695463

−2208888459779

−4204431397194

−3069666048124 3 7 7 7 5

A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.

Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains

probl` emes d’alg` ebre lin´ eaire exacte

(8)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Diversit´ e des probl` emes

A = 2 6 4

−289 236 79 −268

108 −33 −211 309

−489 104 −24 −25

308 99 −108 66

3 7 5 , b =

2 6 4

−131 321 147 43

3 7 5 .

solution sur Z 1009 solution sur Q solution sur Z

x = 2 6 6 6 4

593 313 130 187

3 7 7 7 5

, x =

2 6 6 6 6 6 6 6 4

−9591197817 95078 131244

47539 2909895

665546 2909895

665546 3 7 7 7 7 7 7 7 5

, x =

2 6 6 6 4

−106495695463

−2208888459779

−4204431397194

−3069666048124 3 7 7 7 5

A peut ˆ etre creuse (seulement O(n) ´ el´ ements non nuls) probl` eme d’optimisation (emploi du temps) 3202 × 4048, ≈ 19000 coeff. non nuls.

Aujourd’hui, il existe des algorithmes efficaces pour r´ esoudre certains

probl` emes d’alg` ebre lin´ eaire exacte

(9)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

De r´ eelles attentes...

Les gains algorithmiques r´ ecents sont importants (gains lin´ eaires, algorithmes optimaux).

Des logiciels g´ en´ eralistes comme maple ou mathematica ne sont plus dominants.

Existence de biblioth` eques sp´ ecialis´ ees tr` es performantes :

I gmp : arithm´ etiques multipr´ ecisions (entiers, rationnels, flottants).

I ntl : arithm´ etiques des polynˆ omes, des corps finis.

I blas / lapack : alg` ebre lin´ eaire num´ erique.

algorithmes r´ ecents + biblioth` eques de calcul sp´ ecialis´ ees

⇒ calcul en alg` ebre lin´ eaire exacte de hautes performances.

(10)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

De r´ eelles attentes...

Les gains algorithmiques r´ ecents sont importants (gains lin´ eaires, algorithmes optimaux).

Des logiciels g´ en´ eralistes comme maple ou mathematica ne sont plus dominants.

Existence de biblioth` eques sp´ ecialis´ ees tr` es performantes :

I gmp : arithm´ etiques multipr´ ecisions (entiers, rationnels, flottants).

I ntl : arithm´ etiques des polynˆ omes, des corps finis.

I blas / lapack : alg` ebre lin´ eaire num´ erique.

algorithmes r´ ecents + biblioth` eques de calcul sp´ ecialis´ ees

⇒ calcul en alg` ebre lin´ eaire exacte de hautes performances.

(11)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Questions

Comment d´ evelopper une biblioth` eque de calcul de hautes performances en alg` ebre lin´ eaire exacte ?

Comment b´ en´ eficier des performances de biblioth` eques sp´ ecialis´ ees comme gmp , ntl ou blas ?

Quelle strat´ egie adopter pour profiter au mieux des ´ evolutions

futures dans le domaine ?

(12)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Plan de l’expos´ e

Projet linbox

Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances

Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.

Calcul du d´ eterminant de matrices enti` eres

r´ eduction au produit de matrices

Implantation et performances

Conclusion et perspectives

(13)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

linbox en d´ etails

Projet international Canada-France-USA (NSF/CNRS).

I depuis 1997, 33 chercheurs = ⇒ alg` ebre lin´ eaire exacte

I biblioth` eque C++, licence GPL, 100.000 lignes de code, version d´ eveloppement 0.2.1 (avril 2005)

I site web : www.linalg.org Principaux d´ eveloppements :

I algorithmes (syst` emes lin´ eaires, formes normales, ...),

I matrices (boˆıtes noires, conteneurs),

I domaines de calcul (corps finis, entiers, rationnels),

I g´ en´ ericit´ e (plug&play).

Nos travaux :

recherche et implantation d’algorithmes,

d´ eveloppement, validation et maintenance de la biblioth` eque.

(14)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Solutions algorithmiques dans linbox

Sur les corps finis,

I Gauss par blocs (d´ eterministe) :

triangularisation, d´ eterminant, rang, inverse, syst` emes lin´ eaires, polynˆ omes minimal et caract´ eristique

I Elimination creuse (d´ ´ eterministe) : triangularisation, rang

I Krylov/Wiedemann [blocs], Lanczos [blocs] (probabliliste) : syst` emes lin´ eaires, polynˆ ome minimal, d´ eterminant, rang

Sur les entiers,

I Th´ eor` eme des restes chinois

I Forme de Smith

I Syst` emes lin´ eaires :

solutions rationnelles, diophantiennes ;

certificat d’inconsistance, minimalit´ e.

(15)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Projet linbox

Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances

Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.

Calcul du d´ eterminant de matrices enti` eres

r´ eduction au produit de matrices

Implantation et performances

Conclusion et perspectives

(16)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Algorithmique

Depuis 1969, multiplication de matrices d’ordre n en moins de O(n 3 ) op´ erations arithm´ etiques.

[Strassen 1969] : O(n 2.81 ).

...

[Coppersmith-Winograd 1990] : O(n 2.37 )

Les meilleurs algorithmes se r´ eduisent ` a la multiplication de matrices (complexit´ e O(n ω )).

I inversion, syst` emes lin´ eaires, d´ eterminant [Strassen 1969]

I extension aux matrices non g´ en´ eriques [Bunch-Hopcroft 1974]

I matrices singuli` eres : lqup , rang, noyau [Ibarra-Moran-Hui 1982]

la multiplication de matrices est une op´ eration centrale

(17)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Algorithmique

Depuis 1969, multiplication de matrices d’ordre n en moins de O(n 3 ) op´ erations arithm´ etiques.

[Strassen 1969] : O(n 2.81 ).

...

[Coppersmith-Winograd 1990] : O(n 2.37 )

Les meilleurs algorithmes se r´ eduisent ` a la multiplication de matrices (complexit´ e O(n ω )).

I inversion, syst` emes lin´ eaires, d´ eterminant [Strassen 1969]

I extension aux matrices non g´ en´ eriques [Bunch-Hopcroft 1974]

I matrices singuli` eres : lqup , rang, noyau [Ibarra-Moran-Hui 1982]

la multiplication de matrices est une op´ eration centrale

(18)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Biblioth` eques blas

Calculs num´ eriques pour les op´ erations de base en alg` ebre lin´ eaire

I produit matrice-vecteur,

I r´ esolution de syst` emes lin´ eaires triangulaires,

I produit de matrices,

I ...

Collection de routines Fortran/C optimis´ ees.

tire partie de la hierarchisation m´ emoire des processeurs.

→ implantations tr` es performantes

Est-il possible de r´ eutiliser efficacement les routines blas pour des

calculs sur les corps finis ?

(19)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Biblioth` eques blas

Calculs num´ eriques pour les op´ erations de base en alg` ebre lin´ eaire

I produit matrice-vecteur,

I r´ esolution de syst` emes lin´ eaires triangulaires,

I produit de matrices,

I ...

Collection de routines Fortran/C optimis´ ees.

tire partie de la hierarchisation m´ emoire des processeurs.

→ implantations tr` es performantes

Est-il possible de r´ eutiliser efficacement les routines blas pour des

calculs sur les corps finis ?

(20)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Multiplication de matrices sur un corps finis

Multiplication de matrices sur Z p [Dumas-Gautier-Pernet 2002]

le calcul num´ erique doit rester exact : n(p − 1) 2 < 2 53

• conversion corps premier ⇒ nombres flottants (double)

• multiplication blas (routine dgemm)

• conversion nombres flottants ⇒ corps premier

Am´ elioration :

corps premiers en nombres flottants ( Modular<double> )

⇒ 69s pour des matrices d’ordre 5000 sur Z 101

temps de calcul tr` es proches de ceux de la biblioth` eque blas .

(21)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Multiplication de matrices sur un corps finis

Multiplication de matrices sur Z p [Dumas-Gautier-Pernet 2002]

le calcul num´ erique doit rester exact : n(p − 1) 2 < 2 53

• conversion corps premier ⇒ nombres flottants (double)

• multiplication blas (routine dgemm)

• r´ eduction modulo

Am´ elioration :

corps premiers en nombres flottants ( Modular<double> )

⇒ 69s pour des matrices d’ordre 5000 sur Z 101

temps de calcul tr` es proches de ceux de la biblioth` eque blas .

(22)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Syst` emes lin´ eaires triangulaires matriciels

Etant donn´ ´ ees A, B ∈ Z n×n p , A triangulaire.

Calculer X ∈ Z n×n p tel que AX = B.

Conditions d’utilision des blas sur Z p :

I les divisions doivent ˆ etre exactes.

I aucun d´ epassement de capacit´ e (max= 53 bits).

I utilisation limit´ ee (e.g. p = 2 → n ≤ 55).

Solution :

algorithme r´ ecursif par blocs + seuil de changement

⇒ diminution des dimensions , produit de matrices Deux b´ en´ efices apport´ es par la biblioth` eque blas :

produit de matrices → appels r´ ecursifs

r´ esolution num´ erique → derniers niveaux r´ ecursifs

(23)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Syst` emes lin´ eaires triangulaires matriciels

Etant donn´ ´ ees A, B ∈ Z n×n p , A triangulaire.

Calculer X ∈ Z n×n p tel que AX = B.

Conditions d’utilision des blas sur Z p :

I les divisions doivent ˆ etre exactes.

I aucun d´ epassement de capacit´ e (max= 53 bits).

I utilisation limit´ ee (e.g. p = 2 → n ≤ 55).

Solution :

algorithme r´ ecursif par blocs + seuil de changement

⇒ diminution des dimensions , produit de matrices Deux b´ en´ efices apport´ es par la biblioth` eque blas :

produit de matrices → appels r´ ecursifs

r´ esolution num´ erique → derniers niveaux r´ ecursifs

(24)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Implantations fflas - ffpack 1

Collaboration avec J-G. Dumas et C. Pernet (LMC-IMAG)

dépendance implantation bibliothèque BLAS

LQUP/LSP

RANG DETERMINANT INVERSE

FFPACK FFLAS

FGEMV FTRSV

FGEMM FTRSM FTRMM

I routines C++ g´ en´ eriques (corps finis).

I interface ` a la blas (tableau de donn´ ees, stride).

I minimisation espace m´ emoire (calcul en place).

I d´ ependances aux blas et au produit de matrices fgemm.

am´ eliorations blas et fgemm ⇒ meilleures routines

1 J.-G. Dumas, P. Giorgi and C. Pernet. FFPACK : Finite Field Linear Algebra

Package. In Proceedings of the 2004 International Symposium on Symbolic and Algebraic

Computation, ACM Press New York.

(25)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Implantations fflas - ffpack 1

Collaboration avec J-G. Dumas et C. Pernet (LMC-IMAG)

dépendance implantation bibliothèque BLAS

LQUP/LSP

RANG DETERMINANT INVERSE

FFPACK FFLAS

FGEMV FTRSV

FGEMM FTRSM FTRMM

I routines C++ g´ en´ eriques (corps finis).

I interface ` a la blas (tableau de donn´ ees, stride).

I minimisation espace m´ emoire (calcul en place).

I d´ ependances aux blas et au produit de matrices fgemm.

am´ eliorations blas et fgemm ⇒ meilleures routines

1 J.-G. Dumas, P. Giorgi and C. Pernet. FFPACK : Finite Field Linear Algebra

Package. In Proceedings of the 2004 International Symposium on Symbolic and Algebraic

Computation, ACM Press New York.

(26)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Exemple : code pour l’inversion

Inverse(A) :

d´ ecomposer A = LUP;

calculer T = L −1 ; r´ esoudre UX = T ; retourner XP t ;

template <class Field>

static typename Field::Element*

Invert(const Field &F, const size t N,

typename Field::Element * A, const size t lda, typename Field::Element * X, const size t ldx, int &nullity)

{

typename Field::Element one ; F.init(one,1) ;

size t *P = new size t[N] ; size t *Q = new size t[N] ;

nullity = N - LUdivine(F, FflasNonUnit, N, N, A, lda, P, FflapackLQUP, Q) ; delete[] Q ;

if (nullity > 0) return NULL ; else {

invL(F, N, A, lda, X, ldx) ;

ftrsm(F, FflasLeft, FflasUpper, FflasNoTrans, FflasNonUnit, N, N, one, A, lda , X, ldx) ; applyP(F, FflasLeft, FflasTrans, N, 0, N, X, ldx, P) ;

delete[] P ;

return X ;

}

}

(27)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Une interface d´ edi´ ee aux non experts...

BlasDomain BlasMatrix

FFLAS BLAS FFPACK LQUPMatrix

données triangularisation

calculs

est utilisé par gestion

Field F(p) ;

BlasMatrix<Field::Element> A(n,n), B(n,n), X(n,n) ;

TriangularBlasMatrix<Field::Element> L(n,n,BlasTag::low,BlasTag::unit) ; std::vector<Field::Element> b(n), x(n) ;

...

BlasMatrixDomain<Field> BMD(F) ; BMD.left solve(X,A,B) ; // AX=B BMD.left solve(x,A,b) ; // Ax=b BMD.left solve(X,L,B) ; // LX=B BMD.left solve(x,L,b) ; // Lx=b

BMD.right solve(X,A,B) ; // XA=B BMD.right solve(x,A,b) ; // xA=b BMD.right solve(X,L,B) ; // XL=B BMD.right solve(x,L,b) ; // xL=b BMD.mul(X,A,B) ; // X=A*B

BMD.mul(x,A,b) ; // x=A*b BMD.mul(X,L,B) ; // X=L*B int r = BMD.rank(A) ; int r = BMD.rankin(A) ; Element d = BMD.det(A) ; Element d = BMD.detin(A) ;

// r=rang(A)

// r=rang(A), calcul en place // d=d´ eterminant(A)

// d=d´ eterminant(A), calcul en place

(28)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Projet linbox

Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances

Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.

Calcul du d´ eterminant de matrices enti` eres

r´ eduction au produit de matrices

Implantation et performances

Conclusion et perspectives

(29)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)

FFLAS/FFPACK BLAS/LAPACK

101 multiplication

factorisation LU inversion multiplication

factorisation LU inversion

Comparaisons routines numériques / routines exactes Z

0 20 40 60

Temps en secondes

120 100 80

Dimension des matrices

1000 2000 3000 4000 5000

0

(30)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)

n = 400 surcoût 19%

surcoût n = 1000 surcoût 10%

n = 700 14%

n = 2000 surcoût 0%

n = 3000 surcoût 0%

n = 5000 surcoût 0%

FFLAS/FFPACK BLAS/LAPACK

101

0 20 40 60

Temps en secondes

120 100 80

Dimension des matrices

1000 2000 3000 4000 5000

Comparaisons routines numériques / routines exactes Z

0

multiplication

multiplication

(31)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)

BLAS/LAPACK FFLAS/FFPACK

n= 400 surcoût 134%

n = 700 surcoût 86%

n = 1000 surcoût

75% n = 2000

surcoût 50%

n = 3000 surcoût

37% n = 5000

surcoût 31%

101

0 20 40 60

Temps en secondes

120 100 80

Dimension des matrices

1000 2000 3000 4000 5000

Comparaisons routines numériques / routines exactes Z

0

factorisation LU factorisation LU

(32)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Performances (Pentium Xeon-2.66 Ghz, 1Go RAM)

BLAS/LAPACK FFLAS/FFPACK

n= 400 surcoût

n = 700 surcoût

n = 1000 surcoût

n = 2000 surcoût

n = 3000 surcoût

58%

52%

31%

18%

122%

101

−20%

n = 5000

0 20 40 60

Temps en secondes

120 100 80

Dimension des matrices

1000 2000 3000 4000 5000

Comparaisons routines numériques / routines exactes Z

0

inversion inversion

(33)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Comportement pratique des r´ eductions th´ eoriques

• coˆ ut th´ eorique LQUP/produit matrices (ω = 3)⇒ 1/3

n 400 700 1000 2000 3000 5000

LQUP 0.04s 0.20s 0.49s 2.85s 8.22s 34.13s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s

Ratio 1 0.83 0.74 0.64 0.55 0.49

• coˆ ut th´ eorique inversion/produit matrices (ω = 3) ⇒ 1

n 400 700 1000 2000 3000 5000

inv. 0.14s 0.53s 1.34s 7.93s 22.94s 95.19s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s

Ratio 3.5 2.2 2.03 1.78 1.53 1.37

Les ratios pratiques tendent vers les ratios th´ eoriques.

linbox : calcul de hautes performances...

(34)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Comportement pratique des r´ eductions th´ eoriques

• coˆ ut th´ eorique LQUP/produit matrices (ω = 3)⇒ 1/3

n 400 700 1000 2000 3000 5000

LQUP 0.04s 0.20s 0.49s 2.85s 8.22s 34.13s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s

Ratio 1 0.83 0.74 0.64 0.55 0.49

• coˆ ut th´ eorique inversion/produit matrices (ω = 3) ⇒ 1

n 400 700 1000 2000 3000 5000

inv. 0.14s 0.53s 1.34s 7.93s 22.94s 95.19s fgemm 0.04s 0.24s 0.66s 4.44s 14.96s 69.19s

Ratio 3.5 2.2 2.03 1.78 1.53 1.37

Les ratios pratiques tendent vers les ratios th´ eoriques.

linbox : calcul de hautes performances...

(35)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Projet linbox

Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances

Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.

Calcul du d´ eterminant de matrices enti` eres

r´ eduction au produit de matrices

Implantation et performances

Conclusion et perspectives

(36)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Motivations

Probl` eme repr´ esentatif de l’alg` ebre lin´ eaire exacte :

I plusieurs niveaux de calcul (corps finis, entiers, rationnels),

I plusieurs m´ ethodes suivant le type du syst` eme (dense, structur´ e, creux),

I gestion de la singularit´ e des matrices, test d’inconsistance,

I approches probabilistes et nombreuses heuristiques de calcul.

⇒ Validation des briques de base d´ evelopp´ ees dans linbox .

(37)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Motivations

Probl` eme repr´ esentatif de l’alg` ebre lin´ eaire exacte :

I plusieurs niveaux de calcul (corps finis, entiers, rationnels),

I plusieurs m´ ethodes suivant le type du syst` eme (dense, structur´ e, creux),

I gestion de la singularit´ e des matrices, test d’inconsistance,

I approches probabilistes et nombreuses heuristiques de calcul.

⇒ Validation des briques de base d´ evelopp´ ees dans linbox .

(38)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Probl` eme

Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .

I trouver x ∈ Z n tel que Ax = b,

I certifier qu’il n’existe pas de solution diophantienne.

• Approche classique : formes normales (Smith ou Hermite)

pas satisfaisante ≈ n 4 op´ erations binaires.

solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]

• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]

⇒ combiner des solutions rationnelles

De nombreuses ´ etudes algorithmiques :

[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]

, → syst` emes creux/denses, inconsistance sur Z , solution minimale

(39)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Probl` eme

Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .

I trouver x ∈ Z n tel que Ax = b,

I certifier qu’il n’existe pas de solution diophantienne.

• Approche classique : formes normales (Smith ou Hermite) pas satisfaisante ≈ n 4 op´ erations binaires.

solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]

• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]

⇒ combiner des solutions rationnelles

De nombreuses ´ etudes algorithmiques :

[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]

, → syst` emes creux/denses, inconsistance sur Z , solution minimale

(40)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Probl` eme

Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .

I trouver x ∈ Z n tel que Ax = b,

I certifier qu’il n’existe pas de solution diophantienne.

• Approche classique : formes normales (Smith ou Hermite) pas satisfaisante ≈ n 4 op´ erations binaires.

solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]

• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]

⇒ combiner des solutions rationnelles

De nombreuses ´ etudes algorithmiques :

[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]

, → syst` emes creux/denses, inconsistance sur Z , solution minimale

(41)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Probl` eme

Etant donn´ ´ es A ∈ Z m×n , b ∈ Z m .

I trouver x ∈ Z n tel que Ax = b,

I certifier qu’il n’existe pas de solution diophantienne.

• Approche classique : formes normales (Smith ou Hermite) pas satisfaisante ≈ n 4 op´ erations binaires.

solutions rationnelles en ≈ n 3 log n [Dixon 1982, Wiedemann 1986]

• Approche probabiliste ≈ (n 3 log n) × log n [Giesbrecht 1997]

⇒ combiner des solutions rationnelles

De nombreuses ´ etudes algorithmiques :

[Giesbrecht, Lobo, Mulders, Saunders, Storjohann 1997-2004]

, → syst` emes creux/denses, inconsistance sur Z , solution minimale

(42)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Combinaisons des solutions rationnelles

A =

» 11 13 4

5 7 9

– , b =

» 7 10

– .

y 1 = 2 4

−27/4 25/4

0 3 5, y 2 =

2 4

2/3

−1/3 1

3

5 deux solutions rationnelles.

x = 4y 1 − 3y 2 = 2 4

−29 26

−3 3

5 est une solution diophantienne.

Utilisation de pgcd sur les d´ enominateurs des solutions. Soient y 1 = y ¯ 1

d 1

, y 2 = y ¯ 2

d 2

avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .

Alors

y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .

→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents

(43)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Combinaisons des solutions rationnelles

A =

» 11 13 4

5 7 9

– , b =

» 7 10

– . y 1 =

2 4

−27/4 25/4

0 3 5, y 2 =

2 4

2/3

−1/3 1

3

5 deux solutions rationnelles.

x = 4y 1 − 3y 2 = 2 4

−29 26

−3 3

5 est une solution diophantienne.

Utilisation de pgcd sur les d´ enominateurs des solutions. Soient y 1 = y ¯ 1

d 1

, y 2 = y ¯ 2

d 2

avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .

Alors

y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .

→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents

(44)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Combinaisons des solutions rationnelles

A =

» 11 13 4

5 7 9

– , b =

» 7 10

– . y 1 =

2 4

−27/4 25/4

0 3 5, y 2 =

2 4

2/3

−1/3 1

3

5 deux solutions rationnelles.

x = 4y 1 − 3y 2 = 2 4

−29 26

−3 3

5 est une solution diophantienne.

Utilisation de pgcd sur les d´ enominateurs des solutions. Soient y 1 = y ¯ 1

d 1

, y 2 = y ¯ 2

d 2

avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .

Alors

y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .

→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents

(45)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Combinaisons des solutions rationnelles

A =

» 11 13 4

5 7 9

– , b =

» 7 10

– . y 1 =

2 4

−27/4 25/4

0 3 5, y 2 =

2 4

2/3

−1/3 1

3

5 deux solutions rationnelles.

x = 4y 1 − 3y 2 = 2 4

−29 26

−3 3

5 est une solution diophantienne.

Utilisation de pgcd sur les d´ enominateurs des solutions.

Soient y 1 = y ¯ 1

d 1

, y 2 = y ¯ 2

d 2

avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .

Alors

y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .

→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents

(46)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Combinaisons des solutions rationnelles

A =

» 11 13 4

5 7 9

– , b =

» 7 10

– . y 1 =

2 4

−27/4 25/4

0 3 5, y 2 =

2 4

2/3

−1/3 1

3

5 deux solutions rationnelles.

x = 4y 1 − 3y 2 = 2 4

−29 26

−3 3

5 est une solution diophantienne.

Utilisation de pgcd sur les d´ enominateurs des solutions.

Soient y 1 = y ¯ 1

d 1

, y 2 = y ¯ 2

d 2

avec y ¯ 1 , y ¯ 2 ∈ Z n et d 1 , d 2 ∈ Z . Soit g = pgcd(d 1 ,d 2 ) = sd 1 + td 2 .

Alors

y = sd 1 y ¯ 1 +td g 2 y ¯ 2 est une solution avec un d´ enominateur ≤ g .

→ n´ ecessite des solutions avec des d´ enominateurs diff´ erents

(47)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

D´ enominateurs et pr´ econditionneurs

Les d´ enominateurs d´ ependent du mineur utilis´ e pour r´ esoudre le syst` eme (on se ram` ene ` a des syst` emes non singuliers).

Utilisation de pr´ econditionneurs al´ eatoires

⇒ changement de sous matrice pour d´ eterminer le mineur Etant donn´ ´ ees P, Q deux matrices ` a coefficients entiers al´ eatoires

PAQx = Pb → Ay = b avec y = Qx Richesse des pr´ econditionneurs [Chen et al. 2002] : approche d´ evelopp´ ee par les membres du projet linbox .

→ application ` a un vecteur ≈ n log n

Toeplitz, r´ eseaux de permutation, diagonales, creuses

(48)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

D´ enominateurs et pr´ econditionneurs

Les d´ enominateurs d´ ependent du mineur utilis´ e pour r´ esoudre le syst` eme (on se ram` ene ` a des syst` emes non singuliers).

Utilisation de pr´ econditionneurs al´ eatoires

⇒ changement de sous matrice pour d´ eterminer le mineur Etant donn´ ´ ees P, Q deux matrices ` a coefficients entiers al´ eatoires

PAQx = Pb → Ay = b avec y = Qx Richesse des pr´ econditionneurs [Chen et al. 2002] : approche d´ evelopp´ ee par les membres du projet linbox .

→ application ` a un vecteur ≈ n log n

Toeplitz, r´ eseaux de permutation, diagonales, creuses

(49)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Projet linbox

Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances

Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.

Calcul du d´ eterminant de matrices enti` eres

r´ eduction au produit de matrices

Implantation et performances

Conclusion et perspectives

(50)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Implantation g´ en´ erique

corps finis entiers/rationnels oui

oui non non

système

non singulier système

développement p−adique diophantien

Prod mat/vec Inverse Wiedemann

par blocs scalaire

Krylov méthode

préconditionneur aléatoire solution aléatoire

reconstruction rationnel système

solution dioph.

pas de solution dioph.

consistant? combinaison ok?

(51)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Interface de calcul configurable

Fournir une interface de calcul g´ en´ erique :

I gestion de la singularit´ e, des pr´ econditionneurs,

I abstraction de la m´ ethode de calcul des chiffres p-adiques,

I strat´ egies algorithmiques (Monte Carlo, Las Vegas).

itérateur

Développement

p−adique Reconstruction

Système linéaire entier

instanciation configuration résultat

solution ReconstructSolution PadicLifting

PadicSolver

(52)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

calcul des solutions rationnelles

Op´ erations cl´ es :

I pr´ econditionnements :

produit matrice-vecteur (creux, structur´ e), produit de matrices (dense)

I calcul d’une sous matrice maximale inversible : calcul du rang probabiliste (modulo p)

I d´ eveloppement p-adique [Dixon 1982]

A −1 b mod p k (k ≈ n log n)

I reconstruction de la solution rationnelle [Wang 1981]

x = A −1 b ∈ Q n ` a partir de A −1 b mod p k .

(53)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

D´ eveloppement p-adique et reconstruction

Calcul it´ eratif des chiffres p-adiques par correction du r´ esidu.

→ syst` eme lin´ eaire modulo p, produit matrice-vecteur implantation :

• calcul hybride « exact/num´ erique » blas ,

• repr´ esentation q-adique des matrices,

• r´ esolution it´ erative Krylov/Wiedemann par blocs (Pad´ e matriciel 2 )

Construction du d´ eveloppement ` a partir des chiffres p-adiques.

→ ´ evaluation de polynˆ omes en p implantation :

• Horner, « pas de b´ eb´ e/pas de g´ eant » , « diviser pour r´ egner » . Reconstruction de la solution → Euclide ´ etendu

implantation :

• Heuristique : Euclide sur une seule composante, produits modulaires.

2 P. Giorgi, C-.P. Jeannerod and G. Villard. On the complexity of polynomial matrix

computations. In Proceedings of the 2003 International Symposium on Symbolic and

Algebraic Computation, ACM Press New York.

(54)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

D´ eveloppement p-adique et reconstruction

Calcul it´ eratif des chiffres p-adiques par correction du r´ esidu.

→ syst` eme lin´ eaire modulo p, produit matrice-vecteur implantation :

• calcul hybride « exact/num´ erique » blas ,

• repr´ esentation q-adique des matrices,

• r´ esolution it´ erative Krylov/Wiedemann par blocs (Pad´ e matriciel 2 ) Construction du d´ eveloppement ` a partir des chiffres p-adiques.

→ ´ evaluation de polynˆ omes en p implantation :

• Horner, « pas de b´ eb´ e/pas de g´ eant » , « diviser pour r´ egner » .

Reconstruction de la solution → Euclide ´ etendu implantation :

• Heuristique : Euclide sur une seule composante, produits modulaires.

2 P. Giorgi, C-.P. Jeannerod and G. Villard. On the complexity of polynomial matrix

computations. In Proceedings of the 2003 International Symposium on Symbolic and

Algebraic Computation, ACM Press New York.

(55)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

D´ eveloppement p-adique et reconstruction

Calcul it´ eratif des chiffres p-adiques par correction du r´ esidu.

→ syst` eme lin´ eaire modulo p, produit matrice-vecteur implantation :

• calcul hybride « exact/num´ erique » blas ,

• repr´ esentation q-adique des matrices,

• r´ esolution it´ erative Krylov/Wiedemann par blocs (Pad´ e matriciel 2 ) Construction du d´ eveloppement ` a partir des chiffres p-adiques.

→ ´ evaluation de polynˆ omes en p implantation :

• Horner, « pas de b´ eb´ e/pas de g´ eant » , « diviser pour r´ egner » . Reconstruction de la solution → Euclide ´ etendu

implantation :

• Heuristique : Euclide sur une seule composante, produits modulaires.

2 P. Giorgi, C-.P. Jeannerod and G. Villard. On the complexity of polynomial matrix

computations. In Proceedings of the 2003 International Symposium on Symbolic and

Algebraic Computation, ACM Press New York.

(56)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Projet linbox

Alg` ebre lin´ eaire dense sur un corps fini r´ eduction au produit de matrices paquetages fflas - ffpack performances

Syst` emes lin´ eaires diophantiens interface linbox pour la r´ esolution performances pour des syst` emes denses.

Calcul du d´ eterminant de matrices enti` eres

r´ eduction au produit de matrices

Implantation et performances

Conclusion et perspectives

(57)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Solutions rationnelles en pratique...

Comparaison avec la biblioth` eque ntl [www.shoup.net]

Pentium Xeon-2.66Ghz, 1Go RAM, 1Go swap

coeff. sur 3 bits coeff. sur 32 bits linbox ntl linbox ntl 500 × 500 2.02s 15.95s 14.74s 77.17s 800 × 800 6.62s 66.50s 48.81s 328.33s 1200 × 1200 20.41s 228.86s 167.41s 21m 2000 × 2000 76.87s 17m 628.78s 3h

3000 × 3000 234.05s 1h 23m 11h

calculs hybrides « exact/num´ erique »

= ⇒ am´ elioration d’un facteur 10 en moyenne.

(58)

Calculs haute performance en alg` ebre lin´ eaire exacte

Pascal Giorgi

Projet linbox Alg` ebre lin´ eaire dense sur un corps fini

r´ eduction prod. matr fflas-ffpack performances Syst` emes diophantiens

interface linbox performances D´ eterminant

r´ eduction en pratique ? Implantation et performances Conclusion et perspectives

Rapport solution diophantiennes/solutions rationnelles

Syst` emes lin´ eaires entiers al´ eatoires (coeff. sur 3 bits) :

Pentium Xeon-2.66Ghz, 1Go RAM, 1Go swap

sol. rationnelle sol. diophantienne dioph./ratio.

400 × 800 3.82s 5.72s 1.49

800 × 1000 18.15s 27.49s 1.51

1200 × 1400 51.97s 78.57s 1.51

1200 × 2000 58.73s 86.17s 1.46

Deux solutions rationnelles ⇒ solution diophantienne

Pas de pr´ econditionnement pour la premi` ere solution (meilleure

performance)

Références

Documents relatifs

Etude du courant en r´ egime sinuso¨ıdal forc´ e dans le circuit RLC s´ erie.. Etude de l’amplitude en fonction de la pulsation du g´ en´ erateur, recherche du maximum

Un peu plus subtile, ne modifie pas b, donc on peut utiliser la même décomposition pour tout vecteur b, donne A-1 et les vecteurs propres.. Gauss Jordan (pivot

En g´en´eral, celui-ci n’est pas connu avec une pr´ecision infinie car il peut y avoir des erreurs de mesures et car la pr´ecision des instruments et de l’ordinateur n’est

La loi hydraulique permettant de calculer le d´ ebit s’´ enonce Q = α∆P , o` u Q est le d´ ebit du tuyau, ∆P la diff´ erence des pressions en entr´ ee et sortie et α est

[r]

Matrice de Van Der Monde et polynˆ omes d’in- terpollation de Lagrange.. Soient a

En principe, r´ esoudre un syst` eme lin´ eaire, c’est montrer qu’il n’a pas de solution, ou alors en exhiber une r´ esolution (en justifiant). En pratique, on applique la m´

[r]