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

30-31/05 et 01/06/2023 J3.04
Mines Saint Etienne - 158, Cours Fauriel Centre SMS -
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 MSE/ENISE/UJM

Remarques

16 personnes maximum

 

Détail des dates

DSPT 8/5

30-05-2023 de 00:00 à 00:00
Lieu: Lieu

31-05-2023 de 00:00 à 00:00
Lieu: 

Peak mem: 1223kB
Exec time: 0.03761s
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=3740
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"=3740) 
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"=3740
SELECT * FROM users WHERE id=2862