IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Les meilleurs cours et tutoriels pour apprendre et se perfectionner en calcul scientifique et de haute performance

Les meilleurs cours et tutoriels pour apprendre et se perfectionner en calcul scientifique et de haute performance

Cette page présente une sélection des meilleurs tutoriels et cours de formation gratuits pour apprendre les environnements decalcul scientifique et de haute performance (HPC), de niveau débutant à expert. Vous y trouverez tous les cours et tutoriels de formation pour apprendre les technologies propres au calcul scientifique et de haute performance. Ces technologies vont du simple parallélisme sur une machine à l'exécution d'un programme sur un superordinateur complet.

8 commentaires Donner une note à l´article (5)

Page lue   fois.

Nombre d´auteurs : 21, nombre de traducteurs : 6, nombre d´articles : 24, dernière mise à jour : 21 juin 2021 

 

Sommaire

menu Débuter
  • PDF on-line ZIP E-book 
    fr
    Premiers pas avec Python pour la science : le calcul scientifique avec Python
    par Fernando Perez, Emmanuelle Gouillart, Gaël Varoquaux, Valentin Haenel, Raphaël Seban
    Les besoins d'un scientifique sont bien définis et Python est un langage de programmation adapté pour ceux-ci.
     
  • PDF on-line ZIP E-book 
    fr
    Apprendre NumPy - La bibliothèque de calcul numérique de Python
    par Gabor Laszlo Hajba, Laurent Rosenfeld
    Ce tutoriel est le premier d'une série de tutoriels présentant NumPy, la bibliothèque de calcul numérique de Python.
     
  • PDF 
    fr
    L'objectif de cours est de faire un tour d'ensemble des techniques matérielles et logicielles mises en oeuvre au sein des architectures des processeurs à haute performance, afin d'en tirer le meilleur parti lors de l'écriture de programmes faisant un usage intensif du processeur et de la mémoire.
     
  • PDF 
    fr
    Cours OpenMP
    par Étienne Gondet, Pierre-François Lavallée
    Ce cours vous donne la possibilité d'apprendre la parallélisation multitâche pour machines à mémoire partagée avec OpenMP. OpenMP amène aujourd'hui une interface standard de haut niveau pour une programmation parallèle de type SPMD (Single Program Multiple Data) sur machine à mémoire partagée. Basée sur les techniques du multithreading, on peut considérer OpenMP comme l'un des grands standards au service du calcul scientifique.
     
  • PDF 
    fr
    Ces diapositives présentent la programmation parallèle pour le calcul scientifique avec les outils phare dans le domaine : MPI pour l'échange de messages entre machines et OpenMP pour la mémoire partagée (multic?ur).
     
menu Architecture des machines parallèles
menu Programmation parallèle à mémoire partagée (OpenMP)
  • PDF 
    fr
    Ces diapositives présentent la programmation parallèle pour le calcul scientifique avec les outils phare dans le domaine : MPI pour l'échange de messages entre machines et OpenMP pour la mémoire partagée (multic?ur).
     
  • PDF 
    fr
    Cours OpenMP
    par Étienne Gondet, Pierre-François Lavallée
    Ce cours vous donne la possibilité d'apprendre la parallélisation multitâche pour machines à mémoire partagée avec OpenMP. OpenMP amène aujourd'hui une interface standard de haut niveau pour une programmation parallèle de type SPMD (Single Program Multiple Data) sur machine à mémoire partagée. Basée sur les techniques du multithreading, on peut considérer OpenMP comme l'un des grands standards au service du calcul scientifique.
     
  • PDF on-line ZIP E-book 
    fr
    Ce cours vous permettra de comprendre les architectures parallèles et leur programmation pour le calcul scientifique. Il abordera tant les machines à mémoire partagée que le passage de messages.
     
  • PDF 
    fr
    Ce cours présente la parallélisation multitâche pour machines à mémoire partagée avec OpenMP. Un programme OpenMP est une alternance de régions séquentielles (traditionnelles) et de régions parallèles (annotées avec OpenMP), ce qui permet d'en accélérer l'exécution si les régions parallèles représentent suffisamment d'efforts. Vous apprendrez à utiliser cette API dans vos prorgammes.
     
menu Programmation parallèle par échange de messages (MPI)
  • PDF 
    fr
    Ces diapositives présentent la programmation parallèle pour le calcul scientifique avec les outils phare dans le domaine : MPI pour l'échange de messages entre machines et OpenMP pour la mémoire partagée (multic?ur).
     
  • PDF on-line ZIP E-book 
    fr
    Le débogueur parallèle TotalView est un outil assez unique qui permet de travailler sur un code parallèle tout en travaillant sur tous les threads ou processus en même temps. La seule condition est que les différents processus soient des processus MPI. En outre, TotalView possède un outil de vérification de la mémoire, MemoryScape, permettant de détecter tout problème lié à la mémoire ainsi qu'un ReplayEngine, capable de remonter le fil d'une exécution.
     
  • PDF on-line ZIP E-book 
    fr
    Ce cours vous permettra de comprendre les architectures parallèles et leur programmation pour le calcul scientifique. Il abordera tant les machines à mémoire partagée que le passage de messages.
     
menu Programmation sur processeurs graphiques
  • PDF on-line ZIP E-book 
    fr
    Une introduction à CUDA
    par Thibaut Cuvelier
    Une introduction à CUDA et au calcul sur GPU, comparativement avec les CPU. Avant la fin, vous pourrez écrire vos premiers noyaux. Cette introduction se base sur CUDA 2.1 et 2.2.
     
  • PDF on-line ZIP E-book 
    fr
    CUDA approfondi
    par Thibaut Cuvelier
    Dans l'article précédent, vous avez pu vous familiariser avec CUDA. Nous n'avons que survolé la matière, afin de vous donner goût au calcul par GPU. Cette fois-ci, nous allons un peu plus approfondir certains points, notamment la mémoire et les bibliothèques livrées avec CUDA.
     
  • PDF 
    fr
    Cette vue d'ensemble présente les méthodes utilisées pour le calcul parallèle d'images de synthèse, plus particulièrement sur les processeurs graphiques.
     
menu Calcul scientifique en Python
  • PDF on-line ZIP E-book 
    fr
    Apprendre NumPy - La bibliothèque de calcul numérique de Python
    par Gabor Laszlo Hajba, Laurent Rosenfeld
    Ce tutoriel est le premier d'une série de tutoriels présentant NumPy, la bibliothèque de calcul numérique de Python.
     
  • PDF on-line ZIP E-book 
    fr
    Premiers pas avec Python pour la science : le calcul scientifique avec Python
    par Fernando Perez, Emmanuelle Gouillart, Gaël Varoquaux, Valentin Haenel, Raphaël Seban
    Les besoins d'un scientifique sont bien définis et Python est un langage de programmation adapté pour ceux-ci.
     
  • PDF on-line ZIP E-book 
    fr
    Premiers pas avec Python pour la science 2 : le langage Python
    par Chris Burns, Christophe Combelles, Gaël Varoquaux, Emmanuelle Gouillart, Alexandre Galode
    Python est un langage de programmation au même titre que le langage C, le Fortran, le BASIC, PHP… Voici quelques-unes des fonctionnalités spécifiques de Python : c'est un langage interprété (par opposition aux langages compilés). Contrairement au C ou au Fortran, par exemple, on ne compile pas du code Python avant de l'exécuter. En outre, Python peut être utilisé de manière interactive : de nombreux interpréteurs sont disponibles, à partir desquels les commandes et les scripts Python peuvent être exécutés ; c'est un logiciel gratuit placé sous licence Open Source : Python peut ainsi être utilisé et distribué gratuitement, y compris pour des applications commerciales ; il est multiplate-forme : Python est disponible pour la plupart des systèmes d'exploitation, Windows, Linux/Unix, MacOS X, la plupart des OS pour téléphones portables ; c'est un langage très facile à lire, avec une syntaxe claire ; c'est un langage pour lequel de nombreux packages de grande qualité sont valables, et ce pour de nombreuses applications, des frameworks web aux calculs scientifiques ; c'est un langage avec lequel il est très facile de s'interfacer, en particulier depuis du langage C ou du C++ ; plusieurs autres fonctionnalités du langage sont abordées dans ce qui suit. Par exemple, Python est un langage orienté objet, avec un typage dynamique (la même variable peut contenir des objets de différents types durant l'exécution du programme). Ce tutoriel vous mènera dans vos premiers pas avec le langage.
     
  • PDF on-line ZIP E-book 
    fr
    Premiers pas avec Python pour la science 3 : manipuler des données numériques avec NumPy
    par Emmanuelle Gouillart, Didrik Pinte, Gaël Varoquaux, Paul Virtanen, f-leb, Alexandre Galode
    Ce chapitre dispense un aperçu de NumPy, l'outil incontournable pour tout calcul numérique en Python. Vous y apprendrez à gérer des matrices et à effectuer des opérations avancées.
     
  • PDF on-line ZIP E-book 
    fr
    Premiers pas avec Python pour la science 5 : calcul scientifique de haut niveau SciPy
    par Emmanuelle Gouillart, Didrik Pinte, Gaël Varoquaux, Paul Virtanen, sweetasnz
    La bibliothèque SciPy contient de nombreuses boîtes à outils consacrées aux méthodes de calcul scientifique. Ses différents sous-modules correspondent à différentes applications scientifiques, comme les méthodes d'interpolation, d'intégration, d'optimisation, de traitement d'images, de statistiques, de fonctions mathématiques spéciales, etc. SciPy peut être comparée à d'autres bibliothèques standards de calcul scientifique, comme la GSL (GNU Scientific Library for C and C++), ou les boîtes à outils de Matlab. SciPy est la librairie à utiliser en Python pour les routines scientifiques ; elle fonctionne parfaitement sur les tableaux ou matrices NumPy de telle sorte que NumPy et SciPy peuvent interagir conjointement. Avant d'implémenter une routine, il est préférable de vérifier si la méthode n'est pas déjà fournie dans la librairie SciPy. Les scientifiques n'étant pas toujours des experts en programmation, ils ont souvent tendance à vouloir « réinventer la roue », ce qui les mène à produire du code souvent bogué, non optimisé, difficile à maintenir et pas toujours interopérable. A contrario, les routines SciPy ont été optimisées et testées et devraient donc être utilisées lorsque cela est possible.
     
  • PDF on-line ZIP E-book 
    fr
    Plutôt que de connaître toutes les fonctions dans Numpy et Scipy, c'est important de trouver rapidement l'information à travers la documentation et l'aide disponibles. Ce tutoriel vous apprend à utiliser quelques astuces pour obtenir de l'information sur la programmation Python avec NumPy et SciPy.
     
  • PDF on-line ZIP E-book 
    fr
    Introduction à Cython
    par Gabor Laszlo Hajba
    Dans ce tutoriel, je vous donnerai une brève introduction concernant Cython, une bibliothèque Python qui permet une interaction avec du code écrit en C. Et peu importe que vous utilisiez du code C depuis Python ou que vous appeliez du code Python depuis le C. Cela semble magique non ? Et cela n’est pas si compliqué que ça en a l’air. Nous allons creuser un peu et voir ce qu’il est possible de faire.
     
  • PDF on-line ZIP E-book 
    fr
    Notions avancées de Cython
    par Gabor Laszlo Hajba
    L'objectif est de montrer quelques utilisations de l'appel de code Python au sein d'un code écrit en C.
     
  • PDF on-line ZIP E-book 
    fr
    Ce tutoriel est le second d'une série de cours présentant NumPy, la bibliothèque de calcul numérique de Python. Le premier volet de cette série a été publié dans l'article Tutoriel pour apprendre NumPy et nous examinerons ici certaines fonctionnalités plus avancées. Ces tutoriels ont pour objectif de donner une compréhension plus approfondie de la science des données avec Python en apprenant les bases. Continuons et voyons ce que nous pouvons faire de plus avec NumPy.
     
menu Calcul scientifique en Julia
  • PDF on-line ZIP 
    fr
    Dans ce tutoriel, je vais vous présenter un nouveau langage, Julia. Ce langage est en développement au MIT depuis 2009 et la première version publique date de 2012. Il est actuellement en phase de stabilisation des fonctionnalités pour sa version 0.7.
     
  • PDF on-line ZIP 
    fr
    Julia, une introduction, mais vite
    par Thibaut Cuvelier
    Julia est un langage de programmation récent orienté (très haute) performance : il s'agit de l'un des très rares langages à être utilisé sur un superordinateur ! Par exemple, il a été utilisé pour le projet Celeste, qui consiste en l'analyse d'images astronomiques : les chercheurs ont pu cataloguer 188 millions d'objets astronomiques, dénichés dans pas moi de 178 téraoctets de données, en moins de quinze minutes — le fruit de trois années de recherche. Julia a ainsi été préféré au C, au C++ ou au Fortran, les trois langages de prédilection pour ce genre d'application. En effet, ces langages ont l'avantage de limiter leur impact sur la performance des applications : on a accès très directement à la machine, sans mécanisme lourd comme une machine virtuelle. De plus, les compilateurs optimisent très fortement le code généré, pour qu'il tourne plus vite. Julia dispose des mêmes avantages (donc en performance, point crucial pour cette application), tout en étant plus facile à utiliser : il s'agit d'un langage bien plus dynamique (comme Python ou Ruby), avec des notations mathématiques habituelles (il est similaire à MATLAB, Octave ou encore Fortran).
     
  • PDF on-line ZIP 
    fr
    Graphes et Julia
    par Thibaut Cuvelier
    Julia est un langage de programmation orienté vers les applications scientifiques. Ces dernières ont assez souvent besoin de travailler avec des graphes, des structures de données assez courantes. LightGraphs.jl est une implémentation de haute performance tant de la structure de données que d'algorithmes classiques sur des graphes.
     
  • PDF on-line ZIP 
    fr
    Julia est un langage de programmation très dynamique, facilitant notamment la création de langages spécialisés. JuMP.jl en est un exemple : il s'agit d'un paquet Julia qui facilite la modélisation de programmes d'optimisation mathématique.
     
Consultez tous les cours