Programme et informations pratiques

Présentation générale de Python

    Intervenant : Loïc Gouarin

- Support du cours
- Vidéo du cours

  • Bref historique
  • Que peut-on faire avec Python?
  • L'interpréteur de base et IPython
  • Les types de base
  • Les modules
  • Les entrées/sorties
  • Les classes
  • ...

Cours Numpy

    Intervenant : Marc Poinot

- Support du cours
- Vidéo du cours

  • Introduction
    • historique
    • contexte calcul intensif
    • migration numarray (?)
  • Manipulations de base
    • création
    • indexing/slicing
    • quelques méthodes
  • Détails des tableaux
    • shape, dtype, order
    • I/O
    • print options
    • masked arrays
    • fonctions utilisateur 'UFuncs'
    • extension de types
  • Divers
    • quelques packages (random, matrices, strings...)
    • gestion des erreurs
    • méthodes et fonctions suplémentaires

Cours Scipy

    Intervenant : Sylvain Faure

- Support du cours
- Vidéo du cours

  • Présentation générale du module et de ce qu'il contient
  • Présentation plus détaillée du contenu de quelques sous-modules :
    • interpolation
    • fft
    • intégration (résolution ODE)
    • algèbre linéaire
    • matrices creuses
    • optimisation

TP sur les bases de Python, Numpy et scipy

- Support des TP (système solaire)
- Support des TP (équation de poisson), énoncé
- Support du TP Scipy, données

    Intervenants : Sylvain Faure, Loïc Gouarin, Konrad Hinsen, Marc Poinot

Cours Matplotlib, PyQwt, guiqwt

    Intervenant : Pierre Raybaut

- Support du cours
- Vidéo du cours

  • Introduction: tour d'horizon des modules Python de visualisation (2D et 3D)
  • Matplotlib: visualisation 2D (et 3D) interactive
  • PyQwt: visualisation performante bas niveau
  • guiqwt (avec guidata):
    • visualisation performante haut niveau
    • aide à la conception de logiciels de traitement du signal et de l'image

Cours VTK, paraview

    Intervenant : Sylvain Faure

- Support du cours
- Vidéo du cours

  • Présentation de la librairie graphique VTK
  • Lecture des données et formats de fichiers de données
  • Pipeline graphique et filtres
  • Exemples d'utilisation de quelques filtres
    • champ de vecteurs,
    • plans de coupe,
    • isosurfaces,
    • rendu volumique,
    • ...

TP Matplotlib, PyQwt, guiqwt

    Intervenants : Romaric David, Pierre Raybaut

- Sources du TP, données

TP VTK, paraview

    Intervenants : Sylvain Faure, Loïc Gouarin

- Sources python pour le TP système solaire, autre source
- Corrigé du TP vtk

Spyder et Python(x,y)

    Intervenant : Pierre Raybaut

Cours débogage, profilage

    Intervenant : Konrad Hinsen

- Support du cours
- Vidéo du cours

  • Techniques de débogage
  • Présentation du débogueur PDB
  • Analyse post-mortem
  • Points d'arrêt
  • Observation de variables
  • Stratégies de débogage

TP débogage, profilage

    Intervenants : Romaric David, Konrad Hinsen, Marc Poinot

- Support du TP

Cours API C, Swig

    Intervenant : Xavier Juvigny

- Support de cours
- Vidéo du cours

  • Présentation d'un problème type : Calcul des temps de vol des suites de Syracuse
  • Lenteur du langage Python : motivation pour interfacer avec un autre langage
  • Présentation du module ctypes et sa performance
  • Bref rappel sur f2py et comparaison temps avec les approches précédentes
  • Présentation et optimisation du problème modèle avec Swig
  • Inconvénients de Swig (contrôle fin de la durée de vie ou du comportement des objets impossible, etc...)
  • Présentation API C via le problème modèle et performances
  • Utilisation de l'API numpy avec l'API C et les problèmes de cycle de vie des tableaux
  • Création de nouvelles classes via l'API C + définition des opérateurs
  • Gestion de l'héritage
  • Conclusions

Cours f2py

    Intervenant : Pierre Navaro

- Support de cours
- Vidéo du cours

  • Pourquoi interfacer Python avec Fortran?
  • Quels outils pour interfaçage Python-Fortran ?
  • Prérequis pour l'utilisation de f2py.
  • Première interface
  • Appel des fonctions f2py dans Python
  • Ajouter une variable de sortie calculée par une subroutine fortran
  • Documentation des fonctions interfacées
  • Les directives pour améliorer l'interface
  • La compilation d'une application mixte Python+Fortran
  • Créer et éditer les fichiers signature
  • Interfaçage avec le langage C
  • Comment gérer un module Fortran 90?
  • Encapsulation de données et subroutines Fortran dans un objet Python.
  • Bonus: Implémenter des subroutines Fortran dans un notebook SAGEMATH.

Cours Cython

    Intervenant : Konrad Hinsen

- Support du cours
- Exemples
- Vidéo du cours

  • Le rôle des modules d'extension en Python: optimisation et interfaçage
  • Présentation du langage Cython
  • L'optimisation ligne par ligne
  • L'interfaçage avec du code en C
  • Travailler avec des tableaux NumPy
  • Classes et types d'extension: les avantages du C++ sans ses désagréments
  • Contourner le GIL pour profiter des processeurs multicoeurs

TP API C, Swig

    Intervenants : Xavier Juvigny, Marc Poinot

TP f2py

    Intervenants : Romaric David, Pierre Navaro

- Support de TP

TP Cython

    Intervenant : Konrad Hinsen

- Support du TP

Cours Sphinx

    Intervenant : Marc Poinot

- Support de cours
- Vidéo du cours

  • Introduction
    • principe
    • ReST
  • Fonctions
    • architecture de la documentation
    • directives
    • productions html et latex
  • Mise en oeuvre
    • package Python
    • C/C++/Fortran
    • exemples

Cours multi-processing

    Intervenant : Konrad Hinsen

- Support du cours
- Exemples
- Vidéo du cours

  • Le parallélisme en Python
  • Le problème du GIL
  • Présentation du module multiprocessing
  • Stratégies de parallélisation
  • L'avenir: futures

Cours MPI

    Intervenant : Loïc Gouarin

- Support du cours
- Vidéo du cours

  • Présentation des différents modules permettant d'utiliser MPI
  • Présentation détaillée de mpi4py
    • nombre de processus, rang d'un processus
    • communication point à point
    • communication collective
  • Exemple détaillé

TP multi-processing

    Intervenants : Sylvain Faure, Konrad Hinsen

- Support du TP
-Numpy shared memory

TP MPI

    Intervenants : Romaric David, Loïc Gouarin

- Support du TP
- Corrigé des TP

Sage

    Intervenant : Thierry Dumont

- Support de la présentation
- Vidéo de la présentation

Cours packaging et tests unitaires

    Intervenants : Loïc Gouarin, Xavier Juvigny

- Support du cours packaging
- Vidéo du cours
- Support du cours test
- Vidéo du cours

  • distutils : Un utilitaire python pour produire et distribuer des packages python
    • Qu'est-ce un package ?
    • Contrôle de la compilation des modules C/Fortran
    • Gestion de numpy
  • Utilitaire Scons : basé sur le langage python
    • Scons, un langage descriptif
    • Exemple de compilation d'un programme Fortran, C
    • Utilisation des distutils au sein de Scons
  • tests unitaires
    • Présentation du module unittest
    • Présentation du module nose

TP packaging et tests unitaires

    Intervenants : Loïc Gouarin, Xavier Juvigny

- Support du TP packaging
- Support du TP SCons


Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 11647 / 404478

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 ANGD Python en calcul scientifique   ?

Site réalisé avec SPIP 3.0.17 + AHUNTSIC

Creative Commons License