Coordination doctorale de Saint-Étienne

Accueil | Visiteur | Connexion

« Retour

Détails de Introduction à la parallélisation d'algorithmes sur cpu multi-coeurs avec OpenMP

Introduction à la parallélisation d'algorithmes sur cpu multi-coeurs avec OpenMP

Intervenant(s)

Asdin AOUFI aoufi@emse.fr

Objectifs

L’architecture multi-coeurs est présente dans tous les ordinateurs et téléphones portables actuellement disponibles dans le commerce. La question de leur programmation et de l’utilisation efficace de ces ressources se pose naturellement.

Parmi les différents paradigmes de programmation disponibles, il existe un standard : OpenMP (Open Multiprocessing), développé depuis 1997. Celui-ci permet de paralléliser de manière incrémentale des programmes écrits en C/C++/Fortran sur des architectures à mémoire partagée par insertion de directives #pragma dans le code source.

L'objectif de cette formation est de proposer une introduction théorique et pratique (avec des TP sur machine) à la parallélisation de programmes écrits en C ainsi qu’à l’analyse a priori et a posteriori de la performance du code modifié.

Contenu

1. Architecture des cpu mono-coeur et multi-coeurs.
2. Intérêt du calcul parallèle. Exemples introductifs.
Description des méthodes de parallélisation disponibles actuellement.
3. Analyse de performances d'un code parallélisé: speedup, efficacité,
Loi d'Amhdal.
4. Méthode de parallélisation d’un code écrit en C avec OpenMP
(Quelle directive #pragma utiliser ?).
5. Un premier programme parallèle.
6. Parallélisation d'un calcul n'ayant pas de dépendances :
méthode + exemples + exercices.
7. Parallélisation d'un calcul ayant des dépendances :
méthode + exemples + exercices.
8. Parallélisme de tâches : méthode + exemples + exercices.

Déroulement

jeudi 25 et vendredi 26 juin 2020 - 9h-12h 14h-17h
Mines Saint Etienne - 158, Cours Fauriel Centre SMS - J304 ( Bâtiment J )

Cours magistral + travaux pratiques sur ordinateurs.

Périodicité

1 fois par an

Durée et dates

18 h

Public

1ère année. 2ème année. 3ème année.

Doc 1, Doc 2, Doc 3

Remarques

16 personnes maximum

 

Détail des dates

DSPT 8/5

25-06-2020 de 09:00 à 17:00
Lieu: Mines Saint Etienne
 - 158, Cours Fauriel Centre SMS
 - J304 ( Bâtiment J ) 

26-06-2020 de 09:00 à 17:00
Lieu: Mines Saint Etienne - 158, Cours Fauriel Centre SMS - J304 ( Bâtiment J ) 

Peak mem: 1224kB
Exec time: 0.01977s
Included files #: 65
/tmp/Pluf_L10n-1a8a2bc943034fac4dba0e8f98c69cdb.phps
/tmp/Pluf_Template-f48344325d55ffdae67e249079dacc7b.phps
/var/www/sdoc-2009/pluf/Pluf.php
/var/www/sdoc-2009/pluf/Pluf/DB.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Boolean.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Date.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Datetime.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Email.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Foreignkey.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Integer.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Manytomany.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Password.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Sequence.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Text.php
/var/www/sdoc-2009/pluf/Pluf/DB/Field/Varchar.php
/var/www/sdoc-2009/pluf/Pluf/DB/PostgreSQL.php
/var/www/sdoc-2009/pluf/Pluf/Dispatcher.php
/var/www/sdoc-2009/pluf/Pluf/HTTP.php
/var/www/sdoc-2009/pluf/Pluf/HTTP/Request.php
/var/www/sdoc-2009/pluf/Pluf/HTTP/Response.php
/var/www/sdoc-2009/pluf/Pluf/HTTP/URL.php
/var/www/sdoc-2009/pluf/Pluf/Message.php
/var/www/sdoc-2009/pluf/Pluf/Middleware/Csrf.php
/var/www/sdoc-2009/pluf/Pluf/Middleware/Debug.php
/var/www/sdoc-2009/pluf/Pluf/Middleware/Session.php
/var/www/sdoc-2009/pluf/Pluf/Middleware/Translation.php
/var/www/sdoc-2009/pluf/Pluf/Model.php
/var/www/sdoc-2009/pluf/Pluf/SQL.php
/var/www/sdoc-2009/pluf/Pluf/Session.php
/var/www/sdoc-2009/pluf/Pluf/Shortcuts.php
/var/www/sdoc-2009/pluf/Pluf/Signal.php
/var/www/sdoc-2009/pluf/Pluf/Template.php
/var/www/sdoc-2009/pluf/Pluf/Template/Compiler.php
/var/www/sdoc-2009/pluf/Pluf/Template/Context.php
/var/www/sdoc-2009/pluf/Pluf/Template/Context/Request.php
/var/www/sdoc-2009/pluf/Pluf/Template/ContextVars.php
/var/www/sdoc-2009/pluf/Pluf/Template/SafeString.php
/var/www/sdoc-2009/pluf/Pluf/Template/Tag.php
/var/www/sdoc-2009/pluf/Pluf/Template/Tag/APerm.php
/var/www/sdoc-2009/pluf/Pluf/Template/Tag/MediaUrl.php
/var/www/sdoc-2009/pluf/Pluf/Template/Tag/Messages.php
/var/www/sdoc-2009/pluf/Pluf/Template/Tag/RmediaUrl.php
/var/www/sdoc-2009/pluf/Pluf/Template/Tag/Rurl.php
/var/www/sdoc-2009/pluf/Pluf/Template/Tag/Url.php
/var/www/sdoc-2009/pluf/Pluf/Translation.php
/var/www/sdoc-2009/pluf/Pluf/User.php
/var/www/sdoc-2009/pluf/Pluf/relations.php
/var/www/sdoc-2009/src/Sdoc/Models/Config.php
/var/www/sdoc-2009/src/Sdoc/Models/Cours.php
/var/www/sdoc-2009/src/Sdoc/Models/Doctorant.php
/var/www/sdoc-2009/src/Sdoc/Models/Evaluation.php
/var/www/sdoc-2009/src/Sdoc/Models/Formation.php
/var/www/sdoc-2009/src/Sdoc/Models/FormationDspt.php
/var/www/sdoc-2009/src/Sdoc/Models/FormationPact.php
/var/www/sdoc-2009/src/Sdoc/Models/Module.php
/var/www/sdoc-2009/src/Sdoc/Models/Utilisateur.php
/var/www/sdoc-2009/src/Sdoc/Models/Validation.php
/var/www/sdoc-2009/src/Sdoc/Models/Voeu.php
/var/www/sdoc-2009/src/Sdoc/Utils.php
/var/www/sdoc-2009/src/Sdoc/Views/Public.php
/var/www/sdoc-2009/src/Sdoc/conf/sdoc.php
/var/www/sdoc-2009/src/Sdoc/conf/urls.php
/var/www/sdoc-2009/src/Sdoc/relations.php
/var/www/sdoc-2009/www/index.php
DB query #: 7

SELECT config."id" AS "id", config."cle" AS "cle", config."valeur" AS "valeur" FROM config 
WHERE  (cle='session') 
SELECT config."id" AS "id", config."cle" AS "cle", config."valeur" AS "valeur" FROM config 
WHERE  (cle='session') 
SELECT config."id" AS "id", config."cle" AS "cle", config."valeur" AS "valeur" FROM config 
WHERE  (cle='session') 
SELECT * FROM formations WHERE id=3331
SELECT modules."id" AS "id", modules."ref" AS "ref", modules."formation" AS "formation", modules."num_in_formation" AS "num_in_formation", modules."date" AS "date", modules."complement_intitule" AS "complement_intitule", modules."ouvert" AS "ouvert", modules."appreciation_voeu" AS "appreciation_voeu", modules."propose" AS "propose", modules."auto_validation" AS "auto_validation" FROM modules 
WHERE  ("formation"=3331) 
SELECT utilisateur."id" AS "id", utilisateur."user" AS "user", utilisateur."etablissement" AS "etablissement" FROM utilisateur  LEFT JOIN sdoc_models_formation_sdoc_models_utilisateur_assoc ON "sdoc_models_utilisateur_id" = utilisateur.id
WHERE "sdoc_models_formation_id"=3331
SELECT * FROM users WHERE id=2862