Chemseddine
Chohra
Reproductibilité numérique pour l'HPC
exascale
Scolarité


2008 : Bacalauréat en mathématiques :

Mention : passable.

Moyenne : 11,38.



2011 : Licence en informat...
Scolarité


2013 : Master en informatique :

Spécialité : master de recherche.

Université : université de Guelma, Algé...
Scolarité


Concours pour l'obtention de bourse :

Centre : université de Constantine, Algérie.

Module : BDD, algorith...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :


Conception d’une o...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :


Conception d’une o...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :


Conception d’une o...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :



Conception d’une...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :



Conception d’une...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :



Conception d’une...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :




Conception d’u...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :






Conception ...
Scolarité 2012-2013 (Travail de master)
Analyse sémantique d’une plateforme d’apprentissage social :








Concepti...
Scolarité 2012-2013 (Travail de master)

Représentation globale de notre système
Résultats


90% des objectifs initiaux.



Communication orale à la deuxième journée nationale JSTIC 2013 à
l’université...
Thèse


Comité de suivie de thèse :








Directeur : Philippe LANGLOIS (Professeur à DALI-UPVD).
Codirecteur : Da...
Problématique
Non-reproductibilité numérique des résultats :




Erreurs d’arrondi (Ǝ x є R, fl(x) ≠ x).
Les erreurs de...
Problématique
Non-reproductibilité numérique des résultats :




Erreurs d’arrondi (Ǝ x є R, fl(x) ≠ x).
Les erreurs de...
Solutions disponibles
Algorithmes de sommation précise :



Plus de 20 algorithmes depuis 1965.
Moyenne d’un algorithme ...
Solutions disponibles
Algorithmes de sommation précise :



Plus de 20 algorithmes depuis 1965.
Moyenne d’un algorithme ...
Solution proposée


Développent des BLAS Précises sans perte considérable des performances.



BLAS (Basic Linear Algebr...
General matrix-matrix multiplication (GEMM)
Environnement :






Processeur I7 avec fréquence de 3.0 Ghz.
Jeux d’inst...
General matrix-matrix multiplication (GEMM)
Environnement :






Processeur I7 avec fréquence de 3.0 Ghz.
Jeux d’inst...
General matrix-matrix multiplication (GEMM)
Premier algorithme :


Trois boucles.
General matrix-matrix multiplication (GEMM)
Premier algorithme :


Trois boucles.

for (int i = 0; i <= M; i++)
for (int ...
General matrix-matrix multiplication (GEMM)
Premier algorithme :


Trois boucles.
General matrix-matrix multiplication (GEMM)
Premier algorithme :



Trois boucles.
Résultat : 0,32 Gflop/s (1% de peak p...
General matrix-matrix multiplication (GEMM)
Premier algorithme :



Trois boucles.
Résultat : 0,32 Gflop/s (1% de peak p...
General matrix-matrix multiplication (GEMM)
Considérons cet exemple :









Matrices A, B, C de taille (8 * 8).
...
General matrix-matrix multiplication (GEMM)

j

TLB

Cache

k

k

B

i

Mémoire
A

C
General matrix-matrix multiplication (GEMM)
i=0, j=0, k=0

&C00
&A00
&B00

j
X

TLB

Cache

k

k
X

B
X

i

Mémoire
A

C
General matrix-matrix multiplication (GEMM)
i=0, j=0, k=1

&C00
&A00
&B00
&A01

j
x

TLB

Cache

k

k
x

B
X

i

Mémoire
A...
General matrix-matrix multiplication (GEMM)
i=0, j=0, k=4

&C00
&A00
&B00
&A01

j

&A02

&A03
&A04
&B40

TLB

Cache

k

x
...
General matrix-matrix multiplication (GEMM)
i=0, j=0, k=7

&C00
&A05
&B00
&A06

j

&A07

&A03
&A04
&B40

TLB

Cache

k

x
...
General matrix-matrix multiplication (GEMM)
i=0, j=1, k=0

&C00
&A05
&B00
&A06

j

&A07

&A03
&A04

x

&B40

TLB

Cache

k...
General matrix-matrix multiplication (GEMM)
i=0, j=1, k=0

&C00

TLB
miss

&A05
&B00
&A06

j

&A07

&A03
&A04

x

&B40

TL...
General matrix-matrix multiplication (GEMM)
Solution proposée :


La solution est proposée par Kazushige GOTO (voir Goto ...
General matrix-matrix multiplication (GEMM)

j

TLB

Cache

k

k

B

i

Mémoire
A

C
General matrix-matrix multiplication (GEMM)

j

TLB

B(0)

Cache

k

B(1)
k

B

A(00) A(01)

C(0)

A(10) A(11)

C(1)

A

C...
General matrix-matrix multiplication (GEMM)

j

TLB

B(0)

Cache

k
C(0) += A(00) * B(0) + A(01) * B(1)

B(1)

k

B

A(00)...
General matrix-matrix multiplication (GEMM)

j

TLB

B(0)

Cache

k

B(1)
k

B

A(00) A(01)

C(0)

A(10) A(11)

C(1)

A

C...
General matrix-matrix multiplication (GEMM)

j

TLB

B(0)

Cache

k
C(1) += A(10) * B(0) + A(11) * B(1)

B(1)

k

B

A(00)...
Inner-kernels

TLB

j

Cache
k
k

B

i
A
Mémoire

C
Inner-kernels

TLB

j

Cache
k
k

B

i
A
Mémoire

C
Inner-kernels
j=0, k=0, i=0

&C00
&A00
&B00

TLB

j

Cache
x

k
k

B
x

x

i
A
Mémoire

C
Inner-kernels
j=0, k=0, i=3

&C00
&A00
&B00

TLB

j

Cache
x

k
k

B

i
x

x

A
Mémoire

C
Inner-kernels
j=0, k=3, i=3

&C00
&A00
&B00
&A01
&A02

&A03

TLB

j

Cache
k
x

k

B

i
x

A
Mémoire

x

C
Inner-kernels
j=1, k=0, i=0

&C00
&A00
&B00
&A01
&A02

&A03
&C01
&B01

TLB

j

Cache
X

k
k

B
x

x

i
A
Mémoire

C
Inner-kernels
j=1, k=3, i=3

&C00
&A00
&B00
&A01
&A02

&A03
&C01
&B01

TLB

j

Cache
k
x

k

B

i
x

A
Mémoire

x

C
Inner-kernels
j=2, k=0, i=0

&C02
&A00
&B02
&A01
&A02

&A03
&C01
&B01

TLB

j

Cache
x

k
k

B
x

X

i
A
Mémoire

C
Inner-kernels
j=2, k=3, i=3

&C02
&A00
&B02
&A01
&A02

&A03
&C01
&B01

TLB

j

Cache
k
x

k

B

i
x

A
Mémoire

x

C
Comparaison

Algorithme 1

Algorithme 2

Cache misses

704 (24)

80 (24)

Flop / Caches misses

1024 / 704 = 1,45

1024 / ...
Opérations vectorielles

+=

+=

+=

+=

*

*

*

*
Opérations vectorielles

+=

*
Comparaison avec Intel MKL 11.0
Objectifs de première année





Choisir un bon algorithme de sommation.
Développement des BLAS précises et performants...
Bibliographie




Goto, K. & van de Geijn, R. A. Anatomy of high-performance matrix
multiplication. ACM Trans. Math. So...
Reproductibilité numérique pour l'HPC exascale
Prochain SlideShare
Chargement dans…5
×

Reproductibilité numérique pour l'HPC exascale

558 vues

Publié le

My first presentation as a new PhD student

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
558
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Reproductibilité numérique pour l'HPC exascale

  1. 1. Chemseddine Chohra Reproductibilité numérique pour l'HPC exascale
  2. 2. Scolarité  2008 : Bacalauréat en mathématiques :  Mention : passable.  Moyenne : 11,38.  2011 : Licence en informatique :  Spécialité : Systèmes d'information.  Université : université de Guelma, Algérie.  Stage de fin de cycle :  Durée : 4 mois.  Sujet : collaboration dans les RS (Réseaux Sociaux).  Directeur : Khaled HALIMI (maitre assistant LabSTIC-Univ de Guelma).  Note obtenue : 15,5.  Classement : 3 / 60.  Moyenne de cursus : 13,5.
  3. 3. Scolarité  2013 : Master en informatique :  Spécialité : master de recherche.  Université : université de Guelma, Algérie.  Stage de fin de cycle :  Durée : 5 mois.  Sujet : outil d'analyse des RS à base de web sémantique (application sur une plateforme d'apprentissage social).  Directeur : Khaled HALIMI (maitre assistant LabSTIC-Univ de Guelma).  Note obtenue : 16.  Moyenne de cursus : 15,00.  Classement : 1/30 (Major de promotion).
  4. 4. Scolarité  Concours pour l'obtention de bourse :  Centre : université de Constantine, Algérie.  Module : BDD, algorithmique, SE, langues (Français et Anglais), culture générale.  Classement : 1/51.
  5. 5. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :  Conception d’une ontologie pour le domaine d’apprentissage.
  6. 6. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :  Conception d’une ontologie pour le domaine d’apprentissage. Définition formelle et explicite d’une conceptualisation partagée
  7. 7. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :  Conception d’une ontologie pour le domaine d’apprentissage.
  8. 8. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :   Conception d’une ontologie pour le domaine d’apprentissage. Représentation des ressources sous forme RDF.
  9. 9. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :   Conception d’une ontologie pour le domaine d’apprentissage. Représentation des ressources sous forme RDF. Ensemble de triplets (Sujet, Prédicat, Objet)
  10. 10. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :   Conception d’une ontologie pour le domaine d’apprentissage. Représentation des ressources sous forme RDF.
  11. 11. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :    Conception d’une ontologie pour le domaine d’apprentissage. Représentation des ressources sous forme RDF. Définir des règles d’inférence sur le graphe représentatif.
  12. 12. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :     Conception d’une ontologie pour le domaine d’apprentissage. Représentation des ressources sous forme RDF. Définir des règles d’inférence sur le graphe représentatif. Appliquer les algorithmes (existants) de l‘analyse des réseaux sociaux (détection des individus importants et des communautés dans notre réseau social).
  13. 13. Scolarité 2012-2013 (Travail de master) Analyse sémantique d’une plateforme d’apprentissage social :      Conception d’une ontologie pour le domaine d’apprentissage. Représentation des ressources sous forme RDF. Définir des règles d’inférence sur le graphe représentatif. Appliquer les algorithmes (existants) de l‘analyse des réseaux sociaux (détection des individus importants et des communautés dans notre réseau social). Visualiser et exploiter des résultats.
  14. 14. Scolarité 2012-2013 (Travail de master) Représentation globale de notre système
  15. 15. Résultats  90% des objectifs initiaux.  Communication orale à la deuxième journée nationale JSTIC 2013 à l’université de Guelma.  Titre : outil d‘analyse des RSs à base de web sémantique.  Auteurs : Khaled HALIMI, Abdelaziz KHALED, Chemseddine CHOHRA.  Présenté par : Abdelaziz KHALED.  Article soumis à SCA’2013.
  16. 16. Thèse  Comité de suivie de thèse :      Directeur : Philippe LANGLOIS (Professeur à DALI-UPVD). Codirecteur : David PARELLO (Maître de conférence à DALI-UPVD). Membre de l’ED : Bernard GOOSSENS (Professeur à DALI-UPVD). Membre extérieur : Fabienne JEZEQUEL (Maître de conférence « HDR » au laboratoire d’informatique-Paris 6). Référent : Salim HADDADI (Professeur à LabSTIC-Univ de Guelma).  Sujet : Reproductibilité numérique pour l'HPC exascale.  Mots clés : Arithmétique, Précision, Performance, Algèbre linéaire, BLAS.
  17. 17. Problématique Non-reproductibilité numérique des résultats :    Erreurs d’arrondi (Ǝ x є R, fl(x) ≠ x). Les erreurs de calcul (Ǝ x, y є Fl, x + y ≠ x + y). La non-associativité des opérations : (Ǝ x, y, z є Fl, x + (y + z) ≠ (x + y) + z.
  18. 18. Problématique Non-reproductibilité numérique des résultats :    Erreurs d’arrondi (Ǝ x є R, fl(x) ≠ x). Les erreurs de calcul (Ǝ x, y є Fl, x + y ≠ x + y). La non-associativité des opérations : (Ǝ x, y, z є Fl, x + (y + z) ≠ (x + y) + z. HPC exascale :   1018 Opération par seconde. Milliers de processeurs.
  19. 19. Solutions disponibles Algorithmes de sommation précise :   Plus de 20 algorithmes depuis 1965. Moyenne d’un algorithme chaque 2 ans.
  20. 20. Solutions disponibles Algorithmes de sommation précise :   Plus de 20 algorithmes depuis 1965. Moyenne d’un algorithme chaque 2 ans. Objectifs :   x1 + x2 + … + xn = fl(x1 + x2 + … + xn). Minimum des opérations.
  21. 21. Solution proposée  Développent des BLAS Précises sans perte considérable des performances.  BLAS (Basic Linear Algebra Subroutines).  Niveau 1 O(N) : ex - opérations sur les vecteurs.  Niveau 2 O(N²) : ex - produit vecteur-matrice.  Niveau 3 O(N3) : ex - produit matrice-matrice.  Principale difficulté : rapport Performance / Précision.
  22. 22. General matrix-matrix multiplication (GEMM) Environnement :     Processeur I7 avec fréquence de 3.0 Ghz. Jeux d’instructions AVX (des registres vectoriels de taille 256 bits). Le type de données utilisé est « Binary64 (flottant double précision ». Peak performance de 24 Gflop/s avec les flottants en double précision « 24 milliards d’opérations sur des flottants avec double précision dans une seconde ».
  23. 23. General matrix-matrix multiplication (GEMM) Environnement :     Processeur I7 avec fréquence de 3.0 Ghz. Jeux d’instructions AVX (des registres vectoriels de taille 256 bits). Le type de données utilisé est « Binary64 (flottant double précision ». Peak performance de 24 Gflop/s avec les flottants en double précision « 24 milliards d’opérations sur des flottants avec double précision dans une seconde ». C’est mon ordinateur
  24. 24. General matrix-matrix multiplication (GEMM) Premier algorithme :  Trois boucles.
  25. 25. General matrix-matrix multiplication (GEMM) Premier algorithme :  Trois boucles. for (int i = 0; i <= M; i++) for (int j = 0; j <= N; j++) for (int k = 0; k <= K; k++) C[i][j] += A[i][k] * B[k][j]
  26. 26. General matrix-matrix multiplication (GEMM) Premier algorithme :  Trois boucles.
  27. 27. General matrix-matrix multiplication (GEMM) Premier algorithme :   Trois boucles. Résultat : 0,32 Gflop/s (1% de peak performance).
  28. 28. General matrix-matrix multiplication (GEMM) Premier algorithme :   Trois boucles. Résultat : 0,32 Gflop/s (1% de peak performance). Pourquoi ?
  29. 29. General matrix-matrix multiplication (GEMM) Considérons cet exemple :        Matrices A, B, C de taille (8 * 8). Taille de cache 256 octets. Taille de ligne de cache 32 octets. Politique de remplacement des lignes de cache (LRU). Le cache est (fully associative). Nombre des entrées de TLB 8. Taille de page mémoire 32 octets.
  30. 30. General matrix-matrix multiplication (GEMM) j TLB Cache k k B i Mémoire A C
  31. 31. General matrix-matrix multiplication (GEMM) i=0, j=0, k=0 &C00 &A00 &B00 j X TLB Cache k k X B X i Mémoire A C
  32. 32. General matrix-matrix multiplication (GEMM) i=0, j=0, k=1 &C00 &A00 &B00 &A01 j x TLB Cache k k x B X i Mémoire A C
  33. 33. General matrix-matrix multiplication (GEMM) i=0, j=0, k=4 &C00 &A00 &B00 &A01 j &A02 &A03 &A04 &B40 TLB Cache k x k B x x i Mémoire A C
  34. 34. General matrix-matrix multiplication (GEMM) i=0, j=0, k=7 &C00 &A05 &B00 &A06 j &A07 &A03 &A04 &B40 TLB Cache k x k B x x i Mémoire A C
  35. 35. General matrix-matrix multiplication (GEMM) i=0, j=1, k=0 &C00 &A05 &B00 &A06 j &A07 &A03 &A04 x &B40 TLB Cache k Cache k miss x B x i Mémoire A C
  36. 36. General matrix-matrix multiplication (GEMM) i=0, j=1, k=0 &C00 TLB miss &A05 &B00 &A06 j &A07 &A03 &A04 x &B40 TLB Cache k Cache k miss x B x i Mémoire A C
  37. 37. General matrix-matrix multiplication (GEMM) Solution proposée :  La solution est proposée par Kazushige GOTO (voir Goto K et al. Dans les références) et de décomposer la matrice en suivant les ressources disponibles.
  38. 38. General matrix-matrix multiplication (GEMM) j TLB Cache k k B i Mémoire A C
  39. 39. General matrix-matrix multiplication (GEMM) j TLB B(0) Cache k B(1) k B A(00) A(01) C(0) A(10) A(11) C(1) A C i Mémoire
  40. 40. General matrix-matrix multiplication (GEMM) j TLB B(0) Cache k C(0) += A(00) * B(0) + A(01) * B(1) B(1) k B A(00) A(01) C(0) A(10) A(11) C(1) A C i Mémoire
  41. 41. General matrix-matrix multiplication (GEMM) j TLB B(0) Cache k B(1) k B A(00) A(01) C(0) A(10) A(11) C(1) A C i Mémoire
  42. 42. General matrix-matrix multiplication (GEMM) j TLB B(0) Cache k C(1) += A(10) * B(0) + A(11) * B(1) B(1) k B A(00) A(01) C(0) A(10) A(11) C(1) A C i Mémoire
  43. 43. Inner-kernels TLB j Cache k k B i A Mémoire C
  44. 44. Inner-kernels TLB j Cache k k B i A Mémoire C
  45. 45. Inner-kernels j=0, k=0, i=0 &C00 &A00 &B00 TLB j Cache x k k B x x i A Mémoire C
  46. 46. Inner-kernels j=0, k=0, i=3 &C00 &A00 &B00 TLB j Cache x k k B i x x A Mémoire C
  47. 47. Inner-kernels j=0, k=3, i=3 &C00 &A00 &B00 &A01 &A02 &A03 TLB j Cache k x k B i x A Mémoire x C
  48. 48. Inner-kernels j=1, k=0, i=0 &C00 &A00 &B00 &A01 &A02 &A03 &C01 &B01 TLB j Cache X k k B x x i A Mémoire C
  49. 49. Inner-kernels j=1, k=3, i=3 &C00 &A00 &B00 &A01 &A02 &A03 &C01 &B01 TLB j Cache k x k B i x A Mémoire x C
  50. 50. Inner-kernels j=2, k=0, i=0 &C02 &A00 &B02 &A01 &A02 &A03 &C01 &B01 TLB j Cache x k k B x X i A Mémoire C
  51. 51. Inner-kernels j=2, k=3, i=3 &C02 &A00 &B02 &A01 &A02 &A03 &C01 &B01 TLB j Cache k x k B i x A Mémoire x C
  52. 52. Comparaison Algorithme 1 Algorithme 2 Cache misses 704 (24) 80 (24) Flop / Caches misses 1024 / 704 = 1,45 1024 / 80 = 12,8
  53. 53. Opérations vectorielles += += += += * * * *
  54. 54. Opérations vectorielles += *
  55. 55. Comparaison avec Intel MKL 11.0
  56. 56. Objectifs de première année    Choisir un bon algorithme de sommation. Développement des BLAS précises et performants. SCAN 2014 (Université de Würzburg, Allemagne).
  57. 57. Bibliographie    Goto, K. & van de Geijn, R. A. Anatomy of high-performance matrix multiplication. ACM Trans. Math. Softw. 34, 3, Article 12. 2008. Muller, J. M. & al. Handbook of floating-point arithmetic. 2010. Robert A. VAN DE GEIJN & Field G. VAN ZEE. BLIS : a modern alternative to the BLAS.

×