Informatique Scientifique pour le calcul
Cours clos.
Contenu
Officiellement reconnu par le service Formation Doctorale du site Lyon-St Etienne (voir la fiche) (ouvert à toute personne du réseau LyonCalcul)
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 de ces étudiant(e)s. 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 thésard(e)s intéressé(e)s de mettre le pied à l’étrier, afin d’éviter les écueils d’une démarche autodidacte.
Le développement de codes de calcul scientifique nécessite au moins :
- 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 orientée vers les besoins du calcul d’un ou plusieurs langages de programmation ;
- la connaissance d’un minimum de structures de données utiles et d’algorithmes et de leur complexité ;
- des compétences en parallélisme ;
- une vision opérationnelle de la mise en oeuvre pratique.
L’enseignement comportera 30 heures de cours et exemples commentés dont certains sont optionnels : un double parcours (i.e. possibilité de suivre un seul ou les deux parcours) est également proposé.
Intervenant(e)s
- Thierry Dumont (ICJ)
- Violaine Louvet (ICJ)
- Vincent Miele (LBBE)
- Claire Mouton (Creatis)
- Christophe Pera (UCBL, Dépt. de Mécanique)
Horaires et lieu
Les cours auront lieu du mardi 18 novembre 2014 au mardi 17 mars 2015, de 9h30 à 11h30, dans la salle de conférence du bâtiment L’Herbier sur le campus de la Doua (l’entrée est au Nord, du coté de la voie de tramway).
Programme
Le programme des cours sera le suivant :
- 18/11/2014 Architecture et système
- 25/11/2014 Bases Unix (optionnel)
-
02/12/2014 Calcul flottant + Algorithmique
-
09/12/2014 Typologie des langages + Bonnes pratiques de développement (1)
- 16/12/2014 Bonnes pratiques de développement (2) + Debogage/profiling
- 06/01/2015 Parcours 1 : Python scientifique (1)
- 13/01/2015 Parcours 1 : Python scientifique (1)
- 20/01/2015 Parcours 2 : Bases de C++ (optionnel)
- 27/01/2015 Parcours 2 : C++ avancé
- 03/02/2015 Parcours 2 : C++ avancé
- 10/02/2015 Parcours 2 : compilation/optimisation
- 24/02/2015 Bibliothèques de calcul
- 03/03/2015 Parallélisme à mémoire distribuée avec MPI
- 10/03/2015 Parallélisme à mémoire distribuée avec MPI
- 17/03/2015 Parallélisme à mémoire partagée avec openMP