SlideShare une entreprise Scribd logo
1  sur  40
Les bibliothèques de calcul
scientifiques
Khaled Fayala
Haifa Ben Massoud
Yosra Mouraly
Réalisé par:
Mastère de recherche en informatique
Ecole Supérieur des Sciences
et Techniques de Tunis
‫التونسية‬ ‫الجمهورية‬
‫العلمي‬ ‫والبحث‬ ‫العالي‬ ‫التعليم‬ ‫وزارة‬
‫تونس‬ ‫جامعة‬
‫بتونـس‬ ‫والتقنيـات‬ ‫للعلـوم‬ ‫العليـا‬ ‫المدرسة‬
Plan
Motivations1
Introduction2
Classification3
Bibliothèques séquentielles4
Bibliothèques parallèles5
Conclusion6
Motivation
 La performance de programmes, en termes de temps d‘exécution, et
utilisation des ressources est un problème que rencontre tout programmeur.
 Ce problème prend une ampleur particulière en :
→ Calcul scientifique – calcul numérique:
•Algèbre linéaire
•Résolution linéaire
•Transformée de Fourier
Motivation
Comment on peut améliorer la
performance de programmation?
Bibliothèques scientifiques
Comment on peut simplifier
la tâche de programmation?
Comment on peut réutiliser les
programmes déjà crées ?
Plan
1 Motivation1
Classification3
Bibliothèques parallèles5
Conclusion6
Bibliothèques séquentielles4
Introduction2
Introduction
Les bibliothèques scientifiques sont des ensembles de sous-programmes
testés, validés, et optimisés.
Ces ensembles, sont regroupées par domaine et mises à disposition
afin de pouvoir être utilisées sans avoir les réécrire.
Intérêts
Réutilisation
→ Réduction du temps de développement
 Portabilité
→Indépendance vis-à-vis de l’implémentation (séquentielle, ou parallèle)
→ Indépendance vis-à-vis du type des données
Efficacité
→Choix du meilleur algorithme
Plan
1 Motivation1
Introduction2
Bibliothèques parallèles5
Conclusion6
Classification3
Bibliothèques séquentielles4
Classification
Bibliothèques portables
 Disponibles sur la plupart des plates-formes :
 Du domaine public : BLAS, LAPACK, ScaLAPACK , etc.
 Commerciales : IMSL et NAG
Les bibliothèques propres aux constructeurs
 Tous les constructeurs de calculateurs scientifiques ont développé leurs propres
bibliothèques :
ESSL et PESSL chez IBM, SSL2VP(P) chez Fujitsu
ASL et MathKeisan chez NEC , SciLib chez Cray, etc.
 Elles ne sont pas portables
Classification
Il existe 2 types de bibliothèques :
Bibliothèques séquentielles
Bibliothèques parallèles
Plan
1
Bibliothèques séquentielles4
Motivation1
Introduction2
Classification3
Bibliothèques parallèles5
Conclusion6
 Basic Linear Algebra Subprograms
 Initialement écrite en Fortran77, et diffusé en 1979
 Fournit des opérations de bas niveau pour la manipulation des
vecteurs, des matrices et des scalaires.
 Base de très nombreuses bibliothèques.
 Largement utilisées pour le calcul haute performance.
BLAS
 Bibliothèque BLAS est divisé en 3 niveaux, selon la nature des opérations :
BLAS niveau 1 : opérations sur les vecteurs
BLAS niveau 2 : opérations sur matrice-vecteur
BLAS niveau 3 : opérations sur matrice-matrice
BLAS
BLAS
BLAS niveau 1 : (Vecteur - Vecteur)
 Opérations de type z = αx + y (α scalaire, x, y, et z vecteurs)
 Traitement élément par élément des éléments de vecteurs
 Grand succès
 O(n) opérations sur O(n) éléments
BLAS
BLAS niveau 2 : (Matrice - Vecteur)
 Motivés par :
• Diminution du nombre d’accès au mémoire
• Augmentation du grain de calcul
 Opérations de type Z = ßy + αAx (A une matrice)
 O(n²) opérations pour O(n²) éléments
BLAS
BLAS niveau 3 : (Matrice - Matrice)
 Motivés par :
• Minimisation des mouvements de données entre les mémoires
• Meilleure utilisation des caches
 Opérations de type Z = ßC + αAB (A,B,C matrices)
 O(n³) opérations pour O(n²) éléments
BLAS
 Environnement du logiciel
• Cette librairie est intégrée dans la plupart des distributions Linux (Debian,
Ubuntu, Mandriva,...).
Plates-formes
• BLAS est portée sur les plates-formes unix suivantes : ALPHA, SUN4, etc.
et windows (via cygwin).
LAPACK
 Linear Algebra PACKage
 LAPACK est un ensemble de sous-programmes Fortran
 Son utilisation à partir d'autres langages compilés (C,C++) ne représente
pas de difficultés particulières. Une version CLAPACK, traduite en C existe.
 Fondée en grande partie sur les procédures de Blas 3
LAPACK
Résoudre des problèmes d'algèbre linéaire denses
* résolution des systèmes linéaires
* problèmes aux valeurs propres : trouver un vecteur v de
dimension n vérifiant Av = λBv avec A et B deux matrices carrées de
dimension n×n.
LAPACK
• Factorisation des matrices LU
-L : matrice triangulaire inférieure ayant des 1 sur la diagonale
-U : matrice triangulaire supérieure
• Factorisation des matrices QR
-Q : matrice orthogonale (transposée (Q)*Q=In)
-R : matrice triangulaire supérieure
• Factorisation cholesky A=L*transposée(L)
- A : matrice symétrique définie positive (transposée(A)=A
- L : matrice triangulaire inférieure
• …
* factorisation de matrices :
* …
LAPACK
 Manipulation efficace de matrices pleines ou bandes, mais ne contient
pas de méthodes adaptées aux opérations sur les matrices creuses.
 Conçue pour les machines vectorielles puis étendue aux machines
parallèles à mémoire partagée
 Utilise des algorithmes par blocs de façon à exploiter les performances
des opérations BLAS3, et pour utiliser au mieux la hiérarchie mémoire
Plan
1 Motivation1
Introduction2
Classification3
Conclusion6
Bibliothèques séquentielles4
Bibliothèques parallèles5
PBLAS
 Parallel Basic Linear Algebra Subroutines
 Ce sont les BLAS parallèles
 Implantée au dessus des BLAS + BLACS ( Basic Linear Algebra
Communication Subroutines)
 BLAS : calculs locaux
 BLACS : Communication
 Considérée comme un noyau pour d’autres bibliothèques numérique
parallèles
SCALAPACK
 Scalable Linear Algebra PACKage
 Projet de Jack DONGARRA , 1989
 Bibliothèque du domaine publique (gratuite)
 Bibliothèque composée d'un ensemble de sous-programmes
Fortran
 Résoudre en parallèle des problèmes d'algèbre linéaire
 Conçue pour les machines parallèles MIMD à mémoires
distribuées
SCALAPACK
 Extensible
- garantit le bon équilibrage de la charge
. équilibre de charge pour des petits blocs
- garantit les performances quand le nombre de processeurs
augmente
. faible coût de communication pour des gros blocs
(diminution du nombre de messages)
taille de blocs qui soit le bon compromis entre équilibre de la
charge et latence de communication
SCALAPACK
 Portable
. Code source en Fortran 77 et C
 Evolution continue des bibliothèques de base
. Meilleurs algorithmes
. Optimisation pour la majorité des machines
SCALAPACK
 Basée sur les bibliothèques PBLAS , BLACS et LAPACK
 Aujourd’hui composé de plusieurs bibliothèques:
• PARPACK : recherche de certaines valeurs propres sur de très
grosses matrices
• CAPSS : résolution des systèmes linéaires sur matrices creuses
définies positives symétriques
• PARPRE : pour le traitement de matrices creuses quelconques
SCALAPACK
PESSL
 Parallel Engineering and Scientific Subroutines Library
Crée par IBM
Contient de routines mathématiques
PBLAS niveaux 2 et 3
Résolution de système linéaires :
Sous-ensemble de routines ScaLAPACK
Transformées de Fourier en 2D et 3D
Génération de nombres aléatoires
PESSL
 Calcul numérique haute performance sur les clusters d’IBM
 Supporte le modèle de programmation SPMD (Single Program,
Multiple Data)
 Utilise la bibliothèque Blacs (Basic Linear Algebra Communication Subroutines) version
MPI pour la communication
 Utilisé par des applications écrits en Fortran, C et C + + s’exécutant
sous Linux et AIX
 Fonctionne en environnement 32 bits et 64 bits.
BLACS
 Basic Linear Algebra Communication Subroutines
 Bibliothèque standard de communication permettant sur une grille
prédéfinie de processus :
D’échanger facilement des blocs de matrices
De les diffuser globalement et calculer des réductions sur eux
 Écrit en C
 Plusieurs implémentations (MPI , PVM3.3)
 Syntaxe standard sur tous les systèmes
BLACS
 Contient des sous-programmes de communication sur lesquels s’appuient
les bibliothèques (PBLAS, ScaLAPACK, NAG // et autres) .
Composée de deux sortes de sous-programmes pour :
L’initialisation et la terminaison de l’environnement BLACS
L´échange de données entre les processus à l’aide de primitives de
communication
BLACS
Initialisation et terminaison
Consistent essentiellement en ces cinq appels:
 BLACS PINFO() : initialise l’environnement BLACS ;
 BLACS GET() : définit un contexte unique de communication ;
 BLACS GRIDINIT() : initialise une grille logique 2D de processus ;
 BLACS GRIDEXIT() : libère la grille logique de processus ;
 BLACS EXIT() : libère toutes les grilles de processus préalablement
définies
.
BLACS
Primitives de communication
 Les primitives de communication sont soit de :
Type point à point
Type diffusion (broadcast)
 Un message envoyé est bufférisé jusqu’à réception.
 Un seul buffer d’émission à la fois.
Plan
1 Motivation1
Introduction2
Classification3
Bibliothèques séquentielles4
Conclusion6
Bibliothèques parallèles5
K
ScaLAPACK
PBLAS
BLACS
MPI/PVM/…
BLAS
LAPACK
PETSC Scilib NAG //
IMSL
Conclusion
Conclusion
 Utiliser des librairies scientifiques permet de se consacrer uniquement aux
nouveaux développements et donc de ne pas devoir réinventer la roue à
chaque fois.
 Elles peuvent résoudre des problèmes de performance optimisation
portabilité etc …
 Elles sont nombreuses mais on a mis l’accent sur BLAS , LAPACK,
PBLAS, SCALAPAC , BLACS, PESSL parce qu’elles sont les plus connues
et utilisées
Bilan
Mots clé : bibliothèques séquentielles , bibliothèques parallèles, BLAS ,
LAPACK, PBLAS, SCALAPACK , BLACS, PESSL
Constations :
Séquentielle Parallèle
Portable Blas, LAPACK PBLAS,BLACS,SCALAPACK
Propres aux constructeurs ESSL PESSL
Difficultés :
 Synthèse des plusieurs documents trouvés
 Choix des bibliothèques
Références
• http://www.crihan.fr/calcul/tech/doc_ibm/BiblioScientif#
• http://www.phys.ens.fr/~hare/MP025/guidelapack-2012-03-06.pdf
• http://www.lifl.fr/west/courses/cshp/bibsp.pdf
• https://www.projet-plume.org/fiche/blas-basic-linear-algebra-subprograms
• https://ciment.ujf-grenoble.fr/docs/introduction-au-calcul-reparti-
1/bibliotheques.ppt
Merci Pour Votre
Attention


Contenu connexe

Similaire à Les bibliothèques de calcul scientifiques

Mat lab1
Mat lab1Mat lab1
Mat lab1fouadDD
 
Cassandra pour les développeurs java
Cassandra pour les développeurs javaCassandra pour les développeurs java
Cassandra pour les développeurs javaJérémy Sevellec
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
La classification des Emails utilisant le modèle MapReduce
La classification des Emails utilisant le modèle MapReduce La classification des Emails utilisant le modèle MapReduce
La classification des Emails utilisant le modèle MapReduce Nour El Houda Megherbi
 
Traitement massif des données 2016
Traitement massif des données 2016Traitement massif des données 2016
Traitement massif des données 2016Frank Nielsen
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessingPierre-Marie Brunet
 
Le futur d'apache cassandra
Le futur d'apache cassandraLe futur d'apache cassandra
Le futur d'apache cassandraDuyhai Doan
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6Amal Abid
 
Enib cours c.a.i. web - séance #5 : scala play! framework
Enib   cours c.a.i. web - séance #5 : scala play! frameworkEnib   cours c.a.i. web - séance #5 : scala play! framework
Enib cours c.a.i. web - séance #5 : scala play! frameworkHoracio Gonzalez
 
Support matlab st
Support matlab stSupport matlab st
Support matlab stN NASRI
 
Se noyer dans les yeux de Cassandre
Se noyer dans les yeux de CassandreSe noyer dans les yeux de Cassandre
Se noyer dans les yeux de CassandreMathieu Goeminne
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfsalmanakbi
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti Imen Naés
 

Similaire à Les bibliothèques de calcul scientifiques (20)

Cours de Matlab
Cours de MatlabCours de Matlab
Cours de Matlab
 
Mat lab1
Mat lab1Mat lab1
Mat lab1
 
Cassandra pour les développeurs java
Cassandra pour les développeurs javaCassandra pour les développeurs java
Cassandra pour les développeurs java
 
Using UBCluster
Using UBClusterUsing UBCluster
Using UBCluster
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
La classification des Emails utilisant le modèle MapReduce
La classification des Emails utilisant le modèle MapReduce La classification des Emails utilisant le modèle MapReduce
La classification des Emails utilisant le modèle MapReduce
 
Traitement massif des données 2016
Traitement massif des données 2016Traitement massif des données 2016
Traitement massif des données 2016
 
20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing20160216 - From BigData to BigProcessing
20160216 - From BigData to BigProcessing
 
Le futur d'apache cassandra
Le futur d'apache cassandraLe futur d'apache cassandra
Le futur d'apache cassandra
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
Sparkmllib
SparkmllibSparkmllib
Sparkmllib
 
Enib cours c.a.i. web - séance #5 : scala play! framework
Enib   cours c.a.i. web - séance #5 : scala play! frameworkEnib   cours c.a.i. web - séance #5 : scala play! framework
Enib cours c.a.i. web - séance #5 : scala play! framework
 
Support matlab st
Support matlab stSupport matlab st
Support matlab st
 
Se noyer dans les yeux de Cassandre
Se noyer dans les yeux de CassandreSe noyer dans les yeux de Cassandre
Se noyer dans les yeux de Cassandre
 
Liquibase
LiquibaseLiquibase
Liquibase
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
ch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdfch2-hadoop-L3-2023-4p (1).pdf
ch2-hadoop-L3-2023-4p (1).pdf
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 

Plus de Khaled Fayala

Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...
Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...
Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...Khaled Fayala
 
Étude comparative de la consommation d'énergie des applications mobiles ( Ca...
Étude comparative de la consommation d'énergie des applications mobiles  ( Ca...Étude comparative de la consommation d'énergie des applications mobiles  ( Ca...
Étude comparative de la consommation d'énergie des applications mobiles ( Ca...Khaled Fayala
 
Big data et le marketing
Big data et le marketingBig data et le marketing
Big data et le marketingKhaled Fayala
 
Développement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB TunisieDéveloppement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB TunisieKhaled Fayala
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking Khaled Fayala
 
Le commerce electronique au Canada
Le commerce electronique au CanadaLe commerce electronique au Canada
Le commerce electronique au CanadaKhaled Fayala
 
Détection des droites par la transformée de Hough
Détection des droites par la transformée de HoughDétection des droites par la transformée de Hough
Détection des droites par la transformée de HoughKhaled Fayala
 
Maquettes pour une application mobile
Maquettes pour une application mobile Maquettes pour une application mobile
Maquettes pour une application mobile Khaled Fayala
 
Plateforme d'enseignement à distance : efront
Plateforme d'enseignement à distance : efrontPlateforme d'enseignement à distance : efront
Plateforme d'enseignement à distance : efrontKhaled Fayala
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
 
BPMN : Business Process Modelling Notation
BPMN : Business Process Modelling NotationBPMN : Business Process Modelling Notation
BPMN : Business Process Modelling NotationKhaled Fayala
 
SCORM : Sharable Content Object Reference Model
SCORM: Sharable Content Object Reference ModelSCORM: Sharable Content Object Reference Model
SCORM : Sharable Content Object Reference ModelKhaled Fayala
 
LE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUELE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUEKhaled Fayala
 
E-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distanceE-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distanceKhaled Fayala
 

Plus de Khaled Fayala (17)

Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...
Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...
Les critères d’une utilisabilité efficace d’API et comment améliorer cette ut...
 
Étude comparative de la consommation d'énergie des applications mobiles ( Ca...
Étude comparative de la consommation d'énergie des applications mobiles  ( Ca...Étude comparative de la consommation d'énergie des applications mobiles  ( Ca...
Étude comparative de la consommation d'énergie des applications mobiles ( Ca...
 
Big data et le marketing
Big data et le marketingBig data et le marketing
Big data et le marketing
 
Développement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB TunisieDéveloppement d’une application mobile bancaire pour QNB Tunisie
Développement d’une application mobile bancaire pour QNB Tunisie
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking
 
Le commerce electronique au Canada
Le commerce electronique au CanadaLe commerce electronique au Canada
Le commerce electronique au Canada
 
Détection des droites par la transformée de Hough
Détection des droites par la transformée de HoughDétection des droites par la transformée de Hough
Détection des droites par la transformée de Hough
 
Maquettes pour une application mobile
Maquettes pour une application mobile Maquettes pour une application mobile
Maquettes pour une application mobile
 
Traduction des sms
Traduction des smsTraduction des sms
Traduction des sms
 
Plateforme d'enseignement à distance : efront
Plateforme d'enseignement à distance : efrontPlateforme d'enseignement à distance : efront
Plateforme d'enseignement à distance : efront
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
 
BPMN : Business Process Modelling Notation
BPMN : Business Process Modelling NotationBPMN : Business Process Modelling Notation
BPMN : Business Process Modelling Notation
 
SCORM : Sharable Content Object Reference Model
SCORM: Sharable Content Object Reference ModelSCORM: Sharable Content Object Reference Model
SCORM : Sharable Content Object Reference Model
 
LE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUELE MANAGEMENT STRATEGIQUE
LE MANAGEMENT STRATEGIQUE
 
E-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distanceE-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distance
 
E business
E businessE business
E business
 
Traduction des SMS
Traduction des SMSTraduction des SMS
Traduction des SMS
 

Dernier

Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en Franceidelewebmestre
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresidelewebmestre
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...idelewebmestre
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesPierreFournier32
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsidelewebmestre
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleuridelewebmestre
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsidelewebmestre
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLidelewebmestre
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresidelewebmestre
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...idelewebmestre
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...idelewebmestre
 
BOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airBOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airidelewebmestre
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueidelewebmestre
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasidelewebmestre
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairidelewebmestre
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsidelewebmestre
 
BOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud PorcsBOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud Porcsidelewebmestre
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineBOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineidelewebmestre
 

Dernier (20)

Cadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en FranceCadre réglementaire et développement de l'agrivoltaïsme en France
Cadre réglementaire et développement de l'agrivoltaïsme en France
 
BOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitièresBOW 2024 - L'enrichissement du milieu des chèvres laitières
BOW 2024 - L'enrichissement du milieu des chèvres laitières
 
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
Accompagnement de l'agrivoltaisme - Focus sur l'étude système en Merthe et Mo...
 
Cours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pagesCours polymère presentation powerpoint 46 pages
Cours polymère presentation powerpoint 46 pages
 
BOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminantsBOW 2024-3-10 - Batcool Petits ruminants
BOW 2024-3-10 - Batcool Petits ruminants
 
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleurBOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
BOW 2024 - 3-5 - Des solutions numériques pour se préparer aux pics de chaleur
 
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcinsBOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
BOW 24 - De la réflexion de groupe à l'immersion dans des bâtiments porcins
 
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VLBOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
BOW 2024 -3-9 - Matelas de logettes à eau refroidie VL
 
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitièresBOW 2024 - 3-2 - Stress thermique impact vaches laitières
BOW 2024 - 3-2 - Stress thermique impact vaches laitières
 
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
BOW 2024 - Nouveaux modes de logement pour des veaux de boucherie avec accès ...
 
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
BOW 2024 - 3-8 - Adaptation des bâtiments d'élevages de volailles au changeme...
 
BOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein airBOW 2024 - Logement des veaux laitiers en plein air
BOW 2024 - Logement des veaux laitiers en plein air
 
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatiqueBOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
BOW 2024 - 3 1 - Les infrastructures équestres et le changement climatique
 
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pasBOW 2024 - Dedans/Dehors quand voir ne suffit pas
BOW 2024 - Dedans/Dehors quand voir ne suffit pas
 
Webinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptxWebinaire lésions podales_04.04.2024.pptx
Webinaire lésions podales_04.04.2024.pptx
 
BOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chairBOW 2024 - Jardins d'hiver en poulets de chair
BOW 2024 - Jardins d'hiver en poulets de chair
 
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminantsBow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
Bow 2024 - Plein air à l'intérieur des bâtiments d'élevage de ruminants
 
BOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud PorcsBOW 2024 - 3-6 - Adaptation climat chaud Porcs
BOW 2024 - 3-6 - Adaptation climat chaud Porcs
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équineBOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
BOW 2024 - L'écurie ouverte : un concept inspirant pour la filière équine
 

Les bibliothèques de calcul scientifiques

  • 1. Les bibliothèques de calcul scientifiques Khaled Fayala Haifa Ben Massoud Yosra Mouraly Réalisé par: Mastère de recherche en informatique Ecole Supérieur des Sciences et Techniques de Tunis ‫التونسية‬ ‫الجمهورية‬ ‫العلمي‬ ‫والبحث‬ ‫العالي‬ ‫التعليم‬ ‫وزارة‬ ‫تونس‬ ‫جامعة‬ ‫بتونـس‬ ‫والتقنيـات‬ ‫للعلـوم‬ ‫العليـا‬ ‫المدرسة‬
  • 3. Motivation  La performance de programmes, en termes de temps d‘exécution, et utilisation des ressources est un problème que rencontre tout programmeur.  Ce problème prend une ampleur particulière en : → Calcul scientifique – calcul numérique: •Algèbre linéaire •Résolution linéaire •Transformée de Fourier
  • 4. Motivation Comment on peut améliorer la performance de programmation? Bibliothèques scientifiques Comment on peut simplifier la tâche de programmation? Comment on peut réutiliser les programmes déjà crées ?
  • 6. Introduction Les bibliothèques scientifiques sont des ensembles de sous-programmes testés, validés, et optimisés. Ces ensembles, sont regroupées par domaine et mises à disposition afin de pouvoir être utilisées sans avoir les réécrire.
  • 7. Intérêts Réutilisation → Réduction du temps de développement  Portabilité →Indépendance vis-à-vis de l’implémentation (séquentielle, ou parallèle) → Indépendance vis-à-vis du type des données Efficacité →Choix du meilleur algorithme
  • 9. Classification Bibliothèques portables  Disponibles sur la plupart des plates-formes :  Du domaine public : BLAS, LAPACK, ScaLAPACK , etc.  Commerciales : IMSL et NAG Les bibliothèques propres aux constructeurs  Tous les constructeurs de calculateurs scientifiques ont développé leurs propres bibliothèques : ESSL et PESSL chez IBM, SSL2VP(P) chez Fujitsu ASL et MathKeisan chez NEC , SciLib chez Cray, etc.  Elles ne sont pas portables
  • 10. Classification Il existe 2 types de bibliothèques : Bibliothèques séquentielles Bibliothèques parallèles
  • 12.  Basic Linear Algebra Subprograms  Initialement écrite en Fortran77, et diffusé en 1979  Fournit des opérations de bas niveau pour la manipulation des vecteurs, des matrices et des scalaires.  Base de très nombreuses bibliothèques.  Largement utilisées pour le calcul haute performance. BLAS
  • 13.  Bibliothèque BLAS est divisé en 3 niveaux, selon la nature des opérations : BLAS niveau 1 : opérations sur les vecteurs BLAS niveau 2 : opérations sur matrice-vecteur BLAS niveau 3 : opérations sur matrice-matrice BLAS
  • 14. BLAS BLAS niveau 1 : (Vecteur - Vecteur)  Opérations de type z = αx + y (α scalaire, x, y, et z vecteurs)  Traitement élément par élément des éléments de vecteurs  Grand succès  O(n) opérations sur O(n) éléments
  • 15. BLAS BLAS niveau 2 : (Matrice - Vecteur)  Motivés par : • Diminution du nombre d’accès au mémoire • Augmentation du grain de calcul  Opérations de type Z = ßy + αAx (A une matrice)  O(n²) opérations pour O(n²) éléments
  • 16. BLAS BLAS niveau 3 : (Matrice - Matrice)  Motivés par : • Minimisation des mouvements de données entre les mémoires • Meilleure utilisation des caches  Opérations de type Z = ßC + αAB (A,B,C matrices)  O(n³) opérations pour O(n²) éléments
  • 17. BLAS  Environnement du logiciel • Cette librairie est intégrée dans la plupart des distributions Linux (Debian, Ubuntu, Mandriva,...). Plates-formes • BLAS est portée sur les plates-formes unix suivantes : ALPHA, SUN4, etc. et windows (via cygwin).
  • 18. LAPACK  Linear Algebra PACKage  LAPACK est un ensemble de sous-programmes Fortran  Son utilisation à partir d'autres langages compilés (C,C++) ne représente pas de difficultés particulières. Une version CLAPACK, traduite en C existe.  Fondée en grande partie sur les procédures de Blas 3
  • 19. LAPACK Résoudre des problèmes d'algèbre linéaire denses * résolution des systèmes linéaires * problèmes aux valeurs propres : trouver un vecteur v de dimension n vérifiant Av = λBv avec A et B deux matrices carrées de dimension n×n.
  • 20. LAPACK • Factorisation des matrices LU -L : matrice triangulaire inférieure ayant des 1 sur la diagonale -U : matrice triangulaire supérieure • Factorisation des matrices QR -Q : matrice orthogonale (transposée (Q)*Q=In) -R : matrice triangulaire supérieure • Factorisation cholesky A=L*transposée(L) - A : matrice symétrique définie positive (transposée(A)=A - L : matrice triangulaire inférieure • … * factorisation de matrices : * …
  • 21. LAPACK  Manipulation efficace de matrices pleines ou bandes, mais ne contient pas de méthodes adaptées aux opérations sur les matrices creuses.  Conçue pour les machines vectorielles puis étendue aux machines parallèles à mémoire partagée  Utilise des algorithmes par blocs de façon à exploiter les performances des opérations BLAS3, et pour utiliser au mieux la hiérarchie mémoire
  • 23. PBLAS  Parallel Basic Linear Algebra Subroutines  Ce sont les BLAS parallèles  Implantée au dessus des BLAS + BLACS ( Basic Linear Algebra Communication Subroutines)  BLAS : calculs locaux  BLACS : Communication  Considérée comme un noyau pour d’autres bibliothèques numérique parallèles
  • 24. SCALAPACK  Scalable Linear Algebra PACKage  Projet de Jack DONGARRA , 1989  Bibliothèque du domaine publique (gratuite)  Bibliothèque composée d'un ensemble de sous-programmes Fortran  Résoudre en parallèle des problèmes d'algèbre linéaire  Conçue pour les machines parallèles MIMD à mémoires distribuées
  • 25. SCALAPACK  Extensible - garantit le bon équilibrage de la charge . équilibre de charge pour des petits blocs - garantit les performances quand le nombre de processeurs augmente . faible coût de communication pour des gros blocs (diminution du nombre de messages) taille de blocs qui soit le bon compromis entre équilibre de la charge et latence de communication
  • 26. SCALAPACK  Portable . Code source en Fortran 77 et C  Evolution continue des bibliothèques de base . Meilleurs algorithmes . Optimisation pour la majorité des machines
  • 27. SCALAPACK  Basée sur les bibliothèques PBLAS , BLACS et LAPACK
  • 28.  Aujourd’hui composé de plusieurs bibliothèques: • PARPACK : recherche de certaines valeurs propres sur de très grosses matrices • CAPSS : résolution des systèmes linéaires sur matrices creuses définies positives symétriques • PARPRE : pour le traitement de matrices creuses quelconques SCALAPACK
  • 29. PESSL  Parallel Engineering and Scientific Subroutines Library Crée par IBM Contient de routines mathématiques PBLAS niveaux 2 et 3 Résolution de système linéaires : Sous-ensemble de routines ScaLAPACK Transformées de Fourier en 2D et 3D Génération de nombres aléatoires
  • 30. PESSL  Calcul numérique haute performance sur les clusters d’IBM  Supporte le modèle de programmation SPMD (Single Program, Multiple Data)  Utilise la bibliothèque Blacs (Basic Linear Algebra Communication Subroutines) version MPI pour la communication  Utilisé par des applications écrits en Fortran, C et C + + s’exécutant sous Linux et AIX  Fonctionne en environnement 32 bits et 64 bits.
  • 31. BLACS  Basic Linear Algebra Communication Subroutines  Bibliothèque standard de communication permettant sur une grille prédéfinie de processus : D’échanger facilement des blocs de matrices De les diffuser globalement et calculer des réductions sur eux  Écrit en C  Plusieurs implémentations (MPI , PVM3.3)  Syntaxe standard sur tous les systèmes
  • 32. BLACS  Contient des sous-programmes de communication sur lesquels s’appuient les bibliothèques (PBLAS, ScaLAPACK, NAG // et autres) . Composée de deux sortes de sous-programmes pour : L’initialisation et la terminaison de l’environnement BLACS L´échange de données entre les processus à l’aide de primitives de communication
  • 33. BLACS Initialisation et terminaison Consistent essentiellement en ces cinq appels:  BLACS PINFO() : initialise l’environnement BLACS ;  BLACS GET() : définit un contexte unique de communication ;  BLACS GRIDINIT() : initialise une grille logique 2D de processus ;  BLACS GRIDEXIT() : libère la grille logique de processus ;  BLACS EXIT() : libère toutes les grilles de processus préalablement définies .
  • 34. BLACS Primitives de communication  Les primitives de communication sont soit de : Type point à point Type diffusion (broadcast)  Un message envoyé est bufférisé jusqu’à réception.  Un seul buffer d’émission à la fois.
  • 37. Conclusion  Utiliser des librairies scientifiques permet de se consacrer uniquement aux nouveaux développements et donc de ne pas devoir réinventer la roue à chaque fois.  Elles peuvent résoudre des problèmes de performance optimisation portabilité etc …  Elles sont nombreuses mais on a mis l’accent sur BLAS , LAPACK, PBLAS, SCALAPAC , BLACS, PESSL parce qu’elles sont les plus connues et utilisées
  • 38. Bilan Mots clé : bibliothèques séquentielles , bibliothèques parallèles, BLAS , LAPACK, PBLAS, SCALAPACK , BLACS, PESSL Constations : Séquentielle Parallèle Portable Blas, LAPACK PBLAS,BLACS,SCALAPACK Propres aux constructeurs ESSL PESSL Difficultés :  Synthèse des plusieurs documents trouvés  Choix des bibliothèques
  • 39. Références • http://www.crihan.fr/calcul/tech/doc_ibm/BiblioScientif# • http://www.phys.ens.fr/~hare/MP025/guidelapack-2012-03-06.pdf • http://www.lifl.fr/west/courses/cshp/bibsp.pdf • https://www.projet-plume.org/fiche/blas-basic-linear-algebra-subprograms • https://ciment.ujf-grenoble.fr/docs/introduction-au-calcul-reparti- 1/bibliotheques.ppt

Notes de l'éditeur

  1. Difficultés : (1) on ‘a trouvé plusieurs documents sur internet, la difficulté est de comment faire un synthèse de ces documents en mettant l’accent sur les choses importants. (2) Plusieurs bibliothèques existent mais on choisi de mettre l’accent sur les bibliothèques les plus importants