Livres et tutoriels

De Wiki de Calcul Québec
Aller à : Navigation, rechercher
Autres langues :anglais 100% • ‎français 100%

Sommaire

Ouvrages généraux

High Performance Computing, 2e édition, de Kevin Dowd & Charles Severance, Éditions O'Reilly, 1998 ISBN 1-56592-312-X

Excellente introduction générale à tous les concepts du monde des ordinateurs parallèles et vectoriels modernes. Architecture des processeurs, de la mémoire. Programmation, optimisation, évaluation de performance. Comparaison de la parallélisation en mémoire partagée (fils d'exécution, OpenMP), par échange de messages (MPI, PVM) et avec la norme HPF. Il sera beaucoup plus facile de comprendre la documentation technique des manufacturiers, quel que soit le type de machine, après avoir lu ce livre (en particulier le chapitre 3, traitant de la mémoire).

Cache Advantage de David F. Bacon, dans le magazine BYTE, août 1994, pages 79-86

Couvre avec un peu plus de détails et de clarté le sujet de la mémoire cache. Excellent complément au chapitre 3 du livre précédent.

Performance Optimization of Numerically Intensive Codes, de Stefan Goedecker & Adolfy Hoisie, Éditions SIAM, 2001 ISBN 0-89871-484-2

Architecture des processeurs superscalaires et de la mémoire. Optimisation des opérations en virgule flottante, des accès mémoire et de la parallélisation. Parallélisation à grains grossiers et grains fins. Exemples importants. Des programmes de diagnostic sont donnés en annexe et sur Internet. Le livre met un certain accent sur les machines IBM (SP et postes de travail); il présente plusieurs comparaisons impliquant aussi les Origin 2000.

Si vous deviez choisir (faute de temps ou d'argent), entre le livre de Dowd & Severance et celui de Goedecker & Hoisie, et si vous n'êtes pas un programmeur expérimenté, je (J.R.) recommanderais sans hésiter le premier, bien qu'il soit un peu plus vieux et plus volumineux. Il offre moins d'exemples de programmes, mais explique mieux et plus en profondeur les concepts, les problèmes, ainsi que le fonctionnement et les limites des compilateurs.

Méthodes numériques et simulations

Notes du cours "PHQ 405 : Méthodes numériques et simulations", préparées par David Sénéchal de l'Université de Sherbrooke, qui présente les principales méthodes numériques rencontrées en physique. Disponibles en format lettre et en format iPad.

Sur la programmation parallèle

Tutoriel Introduction to Parallel Computing , Lawrence Livermore National Laboratory

Tutoriel générique sur la programmation parallèle

Programming on Parallel Machines; GPU, Multicore, Clusters and More, Professor Norm Matloff , University of California, Davis

Livre électronique gratuit couvrant sommairement un vaste éventail de sujets: programmation MPI, OpenMP, Cuda, Thrust, calcul dans le nuage, tout y passe, incluant des algorithmes allant de la multiplication de matrices au tri de données, en passant par les statistiques et le traitement d'images.

Sur le parallélisme en mémoire partagée et OpenMP

Parallel Programming in OpenMP, de Rohit Chandra et al., Academic Press, 2001 ISBN 1-55860-671-8

Un bon livre qui se concentre sur OpenMP, particulièrement pour les codes en Fortran 90. Il discute de la grande majorité des directives OpenMP auxquelles les programmeurs scientifiques s'intéressent normalement, et il y a aussi des exercices à la fin de chaque chapitre. La plupart des exemples dans le livre utilisent Fortran 90, mais il y a toujours une référence à l'usage en C/C++.

Practical Parallel Programming, de Barr E. Bauer, Academic Press, 1992 ISBN 0-12-082810-3

Excellente introduction générale à la programmation parallèle en mémoire partagée (concepts, difficultés, solutions, outils de parallélisation automatique). Ce livre ne décrit pas la norme OpenMP, qui a été établie plus récemment, mais l'essentiel d'OpenMP s'y retrouve. Il décrit les directives "MP", qui ont précédé OpenMP sur les ordinateurs SGI, ensemble de directives qui sont toujours supportées aujourd'hui (mais en voie d'être abandonnées), et dont les concepteurs d'OpenMP se sont largement inspirés. Le livre est illustré d'exemples en langage Fortran et C.

Site officiel d'OpenMP

A “Hands-on” Introduction to OpenMP , openmp.org

Tutoriel OpenMP, Lawrence Livermore National Laboratory

Concernant MPI

Using MPI, de William Gropp, Ewing Lusk, et Anthony Skjellum, MIT Press, 1999 ISBN 0-262-57132-3

Sans doute un des meilleurs livres qui soient sur le sujet. Décrit MPI à fond et introduit les détails et les outils (procédures et fonctions) disponibles de façon progressive, à l'aide d'exemples concrets (C, C++ et FORTRAN 90 et 77), dont les sources sont disponibles sur Internet. Il est à noter cependant qu'un des chapitres du livre décrit la bibliothèque MPE, contenant des outils graphiques et de diagnostic, qui ne fait pas partie de la distribution standard de MPI.

Using MPI-2, de William Gropp, Ewing Lusk, et Rajeev Thakur, MIT Press, 1999 ISBN 0-262-57133-1

Complément au livre précédent, traitant des nouveautés introduites par la nouvelle norme MPI-2. Traite surtout des entrées-sorties parallèles et de l'accès à la mémoire à distance. Explique également comment combiner MPI et fils d'exécution pour une meilleure exploitation des machines à mémoire partagée.

Tutorial on MPI de William Gropp, Mathematics and Computer Science Division, Argonne National Laboratory

Tutoriel Message Passing Interface (MPI) Lawrence Livermore National Laboratory

Advanced MPI Lawrence Livermore National Laboratory

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Ressources de Calcul Québec
Outils
Partager