3 points par GN⁺ 2023-12-31 | 1 commentaires | Partager sur WhatsApp

Fondamentaux du calcul scientifique

  • Un ouvrage qui couvre les connaissances générales de base sur le calcul scientifique, notamment l’architecture des ordinateurs, les architectures parallèles, l’arithmétique informatique, l’algèbre linéaire, les EDO/EDP, etc.
  • Il inclut aussi une explication de la façon dont tout s’assemble dans les grands calculs.

Sciences et ingénierie pour la programmation parallèle

  • Une grande partie du calcul scientifique implique une forme ou une autre de programmation parallèle.
  • C’est l’une des meilleures introductions aux versions modernes de MPI et OpenMP, avec aussi de courtes sections sur PETSc, Kokkos, Sycl et le Co-array Fortran.
  • L’ouvrage est particulièrement remarqué pour sa couverture de MPI et OpenMP en C, Fortran, C++, et, pour MPI, en Python.

Introduction à la programmation scientifique

  • La programmation scientifique et d’ingénierie se fait principalement en C/C++ et en Fortran.
  • Un livre qui enseigne le C++17 moderne (aujourd’hui souvent préféré au C) et Fortran 2008.
  • Il peut se lire comme une introduction à la programmation scientifique depuis zéro, ou comme un « C++ pour programmeurs C ».
  • Il comprend divers projets de programmation de grande ampleur.

Artisanat HPC

  • L’écosystème du calcul scientifique ne se limite pas aux langages de programmation et aux systèmes de programmation parallèle.
  • Il faut aussi comprendre les compilateurs, les systèmes de build, la gestion du code source, etc. Ce livre ne cherche pas à être une synthèse exhaustive de tout cela, mais propose une série d’introductions orientées vers les workflows scientifiques.

À propos de Victor

  • Victor Eijkhout est chercheur scientifique au Texas Advanced Computing Center.
  • Ces manuels ont été élaborés au fil de l’enseignement de divers cours sur le campus d’Austin de l’Université du Texas.
  • Si vous estimez qu’il a fait bien plus que son devoir en publiant ces livres, lui offrir un café est une bonne façon de le remercier.

Avis de GN⁺

  • La série de manuels HPC de Victor Eijkhout fournit un ensemble de connaissances complet, des bases du calcul scientifique à la programmation parallèle, jusqu’aux applications pratiques de la programmation scientifique.
  • Cette série peut constituer une ressource essentielle pour les ingénieurs logiciel débutants qui souhaitent entrer dans le monde du calcul haute performance (HPC).
  • À l’heure où les techniques de calcul deviennent de plus en plus importantes dans les domaines scientifiques et de l’ingénierie, ces manuels seront des ressources très utiles et intéressantes pour les professionnels du secteur.

1 commentaires

 
GN⁺ 2023-12-31
Réactions sur Hacker News
  • Discussion sous l’angle du matériel et des datacenters

    • Un utilisateur ayant travaillé côté logiciel/services chez AWS raconte qu’en écoutant le personnel des datacenters, il a compris que l’augmentation de la puissance de calcul dans les datacenters relevait en pratique davantage d’un problème de thermodynamique que d’un problème purement informatique.
    • Les nœuds sont devenus tellement denses qu’il est très difficile d’y fournir l’alimentation électrique et d’en évacuer la chaleur, et même lorsqu’on repère des inefficacités, on ne peut pas les corriger par une simple mise à jour logicielle.
    • Il précise que cette situation remonte à environ dix ans, et trouve remarquable qu’Amazon, parti d’une librairie en ligne, soit aujourd’hui à la pointe de la résolution de problèmes de thermodynamique.
  • La distance entre le calcul haute performance (HPC) et le matériel

    • Un commentaire souligne un point intéressant sur le niveau d’abstraction du HPC par rapport au matériel.
    • Les livres mettent l’accent sur la programmation SPMD, les algorithmes, les structures de données, le parallélisme par tâches, la synchronisation, etc., mais parlent très peu des détails d’architecture informatique comme les systèmes mémoire des supercalculateurs, les interconnexions à haute bande passante (CXL) ou les architectures GPU.
    • L’utilisateur se demande si les abstractions et les outils sont désormais suffisamment bons pour éviter d’avoir à se soucier de ces détails, ou si, en pratique, les spécialistes du HPC doivent encore beaucoup ajuster des « boîtes noires » pour obtenir de bonnes performances.
  • Éloges pour la collection de ressources de Victor

    • Un utilisateur dit être impressionné par la collection rassemblée par Victor et précise qu’il ne le connaît pas personnellement, mais qu’il a utilisé les ressources du TACC pendant son doctorat à UT Austin dans les années 1990.
    • À l’époque, les programmeurs devaient paralléliser eux-mêmes leur code et comprendre le matériel. Le domaine en était encore à ses débuts, et la résolution des problèmes passait par la lecture de ressources comme le Cray Ring Binder et les ouvrages de Gropp.
  • Intérêt pour l’aspect gestion du matériel en HPC

    • Un utilisateur dit s’intéresser à la manière dont, en HPC, on détecte et diagnostique les problèmes, puis on effectue des actions comme redémarrer, réinstaller ou réparer, tout en optimisant l’ensemble pour fournir le meilleur niveau de service possible.
    • Il mentionne qu’il est difficile de trouver des informations sur des sujets comme l’optimisation simultanée de plusieurs objectifs — par exemple la disponibilité des nœuds face au débit global —, l’impact de différentes topologies sur ces problèmes, ainsi que d’autres contraintes.
  • Demande d’avis sur la manière d’enseigner le C++

    • Un programmeur Python expérimenté demande ce que les gens pensent de cette façon d’enseigner le C++, et se demande s’il y a des inconvénients particuliers.
    • Il ajoute qu’il souhaite améliorer ses compétences en C++ et que les trois livres lui semblent correspondre à son niveau.
  • Admiration pour la mise à disposition gratuite du manuel par l’auteur

    • Un utilisateur se dit impressionné que l’auteur ait créé un ensemble aussi complet de livres, incluant le C++ et les outils Unix, puis l’ait partagé gratuitement.
    • Il ajoute que le contenu serait utile à tous les programmeurs, même à ceux qui ne sont pas spécialisés en calcul haute performance.
  • Retour sur un cours de calcul scientifique

    • Un utilisateur ayant suivi un cours de calcul scientifique en 2013 se souvient que le domaine était si vaste que de nombreux sujets n’avaient été abordés que brièvement.
    • Il estime qu’un vrai cours semestriel spécialisé en calcul parallèle lui aurait été utile, et que ces livres auraient eu une grande valeur dans le cadre d’un tel cursus.
  • Expérience autour d’une proposition de poste de TA en master HPC

    • Un utilisateur raconte qu’on lui avait proposé il y a dix ans un rôle de TA pour un cursus de master en HPC, mais qu’il avait refusé.
    • Il dit que s’il avait eu ce livre à l’époque, il aurait saisi l’occasion, et il félicite l’auteur pour son travail.
  • Éloges pour UT Austin

    • Un commentaire souligne que UT Austin est un excellent établissement pour le HPC et les méthodes de calcul.
  • Un contenu utile pour les programmeurs

    • Un utilisateur note que le contenu du livre est utile à tous les programmeurs, et mentionne en particulier l’approche contrastée adoptée dans le troisième volume pour enseigner C++17 et Fortran2008.