Informatique Scientifique pour le calcul
Cours clos.
Principe
Ce cours est ouvert à toute personne souhaitant s’initier au calcul scientifique et à la programmation parallèle. Il ne nécessite comme pré-requis qu’un connaissance basique de la programmation.
Dans les différents cursus suivis par les étudiant(e)s en cours de thèse, les compétences nécessaires au développement de codes de calcul scientifique sont rarement acquises. Partant de ce constat, nous proposons un enseignement des connaissances indispensables au développement et à la compréhension des méthodes de l’informatique scientifique moderne, à destination des étudiant(e)s, chercheurs(euse) et enseignants-chercheurs. Acquérir des compétences de développeur scientifique est toutefois un processus long et itératif : il s’agira donc ici de permettre aux chercheurs(euse) et thésard(e)s intéressé(e)s de mettre le pied à l’étrier.
L’ensemble des cours vise à apporter des notions de base pour acquérir :
-
une connaissance minimale des architectures des machines contemporaines, ainsi qu’un minimum de savoir sur les systèmes d’exploitation,
-
une maîtrise de la typologie des langages de programmation, afin de permettre une adéquation optimale avec le domaine d’application visé,
-
une connaissance d’un ou plusieurs langages de programmation, orientée vers les besoins du calcul,
-
des bases en représentation de données utiles, algorithmique et complexité,
-
des compétences en parallélisme en fonction de l’architecture visée,
-
une vision opérationnelle de la mise en oeuvre pratique.
L’enseignement comportera 28h de cours ainsi qu’une dizaine d’heures de TP au total, suivant un parcours “à la carte”. Chaque module étant indépendant des autres (sauf pour les séances de TP), chaque personne intéressée par ce cours pourra construire un cursus en fonction de ses besoins.
Intervenant(e)s
- Thierry Dumont (ICJ)
- Anne Cadiou (LMFA)
- Vincent Miele (LBBE)
- Claire Mouton (Creatis)
- Christophe Pera (UCBL, Dépt. de Mécanique)
- Bastien Di Pierro (LMFA)
Horaires
Les cours auront lieu du vendredi 05 février 2016 au 13 Mai 2016, les TP auront lieu dans le courant des mois de mai et juin sur le campus de la Doua, dans le bâtiment OMEGA, 2ème étage en salle René MICHEL.
Inscription
L’inscription à ces modules se fait par mail à l’adresse suivante : coursed AT math.univ-lyon1 DOT fr
Programme
Le programme des cours sera le suivant :
- 05/02/2016 9h30-11h30 Architecture et système
- 12/02/2016 9h30-11h30 Bases Unix
- 19/02/2016 9h30-11h30 Typologie des Langages et Algorithmique + Bonne pratique de développement (1)
- 04/03/2016 9h30-11h30 Calcul Flottant et intensité algorithmique
- 11/03/2016 9h30-11h30 Déboggage et Profiling + [Bonne pratique de développement (2)](DOCS_2015-2016/bonnes_pratiques_developpement.pdf]
- 18/03/2016 9h30-11h30 Outils d’aide au développement + Bonne pratique de développement (3) (git, CMake, CTest …)
- 25/03/2016 9h30-11h30 Programmation orientée objet (C++)
- 01/04/2016 9h30-11h30 Programmation orientée objet (C++) (suite)
- 08/04/2016 9h30-11h30 Python Scientifique
- 15/04/2016 9h30-11h30 Parallélisme sur architectures à mémoires partagées
- 29/04/2016 9h30-11h30 Parallélisme sur architectures à mémoires distribuées (MPI
- 13/05/2016 9h30-11h30 Bonnes pratiques et utilisation des centres de calculs
- 20/05/2016 9h30-11h30 Python Scientifique
- 27/05/2016 9h30-11h30 Bibliothèques de calculs
- du 02/06/2016 au 23/06/2016 9h30-12h30 TP MPI
Prérequis : connaître un langage bas niveau : Fortran/C/C++
Pour vous inscrire, suivez ce lien.