Programme détaillé

Lundi 2 décembre 2013

Mardi 3 décembre 2013

Mercredi 4 décembre 2013

Jeudi 5 décembre 2013

Vendredi 6 décembre 2013


Lundi 2 décembre 2013


14h-15h30 : Packaging/documentation/tests

    Intervenant : Marc Poinot (ONERA)

Supports :
cours

TPs
- TP step 0
- TP step 1
- TP step 2
- TP step 3
- TP step 4
- TP step 5

- Présentation et mise en oeuvre des outils de packaging autour de Python.
- Le cycle de vie d’un module est parcouru, la production/installation (setup), la doc (sphinx), le test (unittest), la gestion de sources (mercurial)
- L’objectif et de montrer que la gestion du packaging est simple et qu’il faut la mettre en place dès le départ du développement.

15h30-16h : Pause

16h-17h30 : Packaging/documentation/tests

    Intervenant : Marc Poinot (ONERA)


Mardi 3 décembre 2013


9h-10h30 : Numpy

    Intervenant : Konrad Hinsen (CNRS)

NumPy propose une implémentation de tableaux multidimensionnels qui permettent d’exprimer un grand nombre d’algorithmes numériques de façon efficaces sans recours à un autre langage que Python. Pour pouvoir exploiter au mieux ce module, il faut adopter une approche de "programmation par tableaux" que nous allons présenter dans ce module.

Supports :
- cours introduction
- cours avancé

TPs
- TP step 0
- TP step 1

10h30-11h : Pause

11h-12h30 : Numpy

    Intervenant : Konrad Hinsen (CNRS)

12h30-14h : Repas

14h-15h30 : Cython

    Intervenants : Loïc Gouarin (LMO, CNRS), Xavier Juvigny (ONERA)

Cours
- cours introduction
- cours interface

Tp
- step 0
- step 1
- step 2

Cython est un langage hybride entre le Python et le C fait spécifiquement pour le développement de modules d’extension Python. Cython permet d’optimiser du code Python ligne par ligne en remplaçant des variables Python non-typées par des variables C typées. Cython peut également être utilisé pour l’interfaçage avec des routines en C où Fortran. Nous proposons une initiation à son usage dans le cadre de l’optimisation.

15h30-16h : Pause

16h-17h30 : Cython

    Intervenants : Loïc Gouarin (LMO, CNRS), Xavier Juvigny (ONERA)


Mercredi 4 décembre 2013


9h-12h : Activités détentes

12h-13h30 : Repas

13h30-15h : Notions de performances et profiling

    Intervenant : Xavier Juvigny (ONERA)

cours

Lors de la phase d’optimisation d’un module, il n’est pas facile de deviner les parties du module les plus gourmandes en temps. Les modules profile et pstats permettent, avec peu d’efforts, de détecter les parties du module prenant le plus de temps. L’utilisation de ces outils se fera sur des exemples plus ou moins basique et il sera présenter en même quelques modules livrés par défaut avec python et quelques astuces afin d’optimiser (ou non !) un code python.

15h-15h30 : Pause

15h30-17h : Gestion mémoire

    Intervenant : Marc Poinot (ONERA)

cours

La gestion de la mémoire en simulation numérique est une partie critique du code, de part la taille des problèmes que l’on traite actuellement. Ce module parlera de la façon dont la mémoire est gérée en Python en abordant la notion de compteur de référence, de ses avantages et inconvénients avec la gestion du GIL ainsi que la notion de shallow copy (copie vide) et deep copy (copie profonde) et de quand et comment les utiliser.

17h-17h30 : Pause

17h30-19h : Orienté objet avancé

    Intervenant : Marc Poinot (ONERA)

cours

TPs
- step 0
- step 1
- step 2

- Rappels sur les classes en Python
- Encapsulation (properties, introspection, surcharge des opérateurs)
- Dérivation des classes Python

19h-20h30 : Repas

20h30-22h : Orienté objet avancé

    Intervenant : Marc Poinot (ONERA)


Jeudi 5 décembre 2013


9h-10h30 : VTK

    Intervenant : Sylvain Faure (LMO, CNRS)

Nous aborderons la conception d’outils de visualisation sur mesure. Cela a un intérêt lorsque des logiciels tels que ParaView, Visit, Ensight,... ne sont pas envisageables, lorsque l’on veut automatiser la fabrication des images ou lorsque l’on veut faire une visualisation en temps réel.
Nous expliquerons les notions de pipeline de visualisation, de scène, de rendu et d’interaction via plusieurs exemples de scripts Python utilisant le module vtk.

10h30-11h : Pause

11h-12h30 : VTK

    Intervenant : Sylvain Faure (LMO, CNRS)

12h30-14h : Repas

14h-15h30 : PySide

    Intervenant : Loïc Gouarin (LMO, CNRS)

cours

Tp
- step 0
- step 1

La librairie Qt permet de faire des interfaces graphiques de qualités et est maintenant très répandue : elle est utilisée pour l’interface de KDE et Koffice, de Mathematica, de VLC media player, ... Elle est également facile d’utilisation notemment en utilisant l’un des 2 modules Python pySide ou PyQt. Nous donnerons sur un exemple simple les principes de développement en Qt pour des applications Python.

15h30-16h : Pause

16h-17h30 : PySide

    Intervenant : Loïc Gouarin (LMO, CNRS)


Vendredi 6 décembre 2013


9h-11h : Multithread

    Intervenant : Konrad Hinsen (CNRS)

cours

Tp
- step 0
- step 1

Ce module propose une initiation à quelques modules et outils qui permettent d’exploiter le parallélisme des machines multiprocesseurs/multicoeurs à mémoire partagée.

11h-12h : Ce que vous avez raté !!

12h-14h : Repas


Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 1872 / 404593

Suivre la vie du site fr  Suivre la vie du site Présentation du Groupe Calcul  Suivre la vie du site Formations / Ecoles  Suivre la vie du site ANF "Python avancé en calcul scientifique"   ?

Site réalisé avec SPIP 3.0.17 + AHUNTSIC

Creative Commons License