3 Punkte von GN⁺ 2023-12-31 | 1 Kommentare | Auf WhatsApp teilen

Grundlagen des wissenschaftlichen Rechnens

  • Ein Buch, das allgemeines Hintergrundwissen zum wissenschaftlichen Rechnen behandelt, darunter Rechnerarchitektur, parallele Rechnerarchitekturen, Computerarithmetik, lineare Algebra, ODEs/PDEs und mehr.
  • Behandelt auch, wie all diese Elemente in großen Berechnungen zusammenspielen.

Wissenschaft und Technik für paralleles Programmieren

  • Ein großer Teil des wissenschaftlichen Rechnens umfasst in irgendeiner Form paralleles Programmieren.
  • Eine der besten Einführungen in moderne Versionen von MPI und OpenMP, mit kurzen Abschnitten zu PETSc, Kokkos, Sycl und Co-array Fortran.
  • Hervorzuheben ist die Abdeckung von MPI und OpenMP in C, Fortran, C++ und – im Fall von MPI – Python.

Einführung in das wissenschaftliche Programmieren

  • Wissenschaftliches und technisches Programmieren wird hauptsächlich in C/C++ und Fortran durchgeführt.
  • Ein Buch, das modernes C++17 (heutzutage oft C vorgezogen) und Fortran2008 lehrt.
  • Kann als Einführung in das wissenschaftliche Programmieren von Grund auf oder als „C++ für C-Programmierer“ gelesen werden.
  • Enthält verschiedene umfangreiche Programmierprojekte.

HPC-Handwerk

  • Das Ökosystem des wissenschaftlichen Rechnens umfasst weit mehr als nur Programmiersprachen und Systeme für paralleles Programmieren.
  • Erforderlich ist auch ein Verständnis von Compilern, Build-Systemen, Source Code Management und mehr; dieses Buch versucht nicht, all das erschöpfend abzudecken, sondern bietet eine Reihe von Einführungen mit Fokus auf wissenschaftliche Workflows.

Über Victor

  • Victor Eijkhout ist Research Scientist am Texas Advanced Computing Center.
  • Diese Lehrbücher entstanden, während er an der University of Texas at Austin verschiedene Kurse unterrichtete.
  • Wenn man findet, dass er mit der Veröffentlichung dieser Bücher über seine Pflicht hinausgegangen ist, ist es eine gute Idee, ihm einen Kaffee auszugeben.

GN⁺-Meinung

  • Victor Eijkhouts HPC-Lehrbuchreihe bietet umfassendes Wissen von den Grundlagen des wissenschaftlichen Rechnens über paralleles Programmieren bis hin zur praktischen Anwendung wissenschaftlichen Programmierens.
  • Diese Reihe kann für angehende Softwareingenieure eine unverzichtbare Ressource sein, um in die Welt des High Performance Computing (HPC) einzusteigen.
  • In einer Zeit, in der Computing-Technologien in Wissenschaft und Technik immer wichtiger werden, dürften diese Lehrbücher für Fachleute in diesem Bereich sehr nützlich und interessant sein.

1 Kommentare

 
GN⁺ 2023-12-31
Hacker-News-Kommentare
  • Perspektive aus Hardware- und Rechenzentrums-Sicht

    • Ein Nutzer, der bei AWS im Software-/Service-Bereich gearbeitet hatte, berichtete, dass ihm nach Gesprächen mit Rechenzentrums-Mitarbeitern klar wurde, dass das Wachstum der Rechenleistung in Rechenzentren in der Praxis eher ein thermodynamisches als ein reines Computing-Problem ist.
    • Die Nodes sind so dicht gepackt, dass Stromversorgung und Wärmeabfuhr zu äußerst schwierigen Problemen geworden sind, und selbst wenn man Ineffizienzen entdeckt, lassen sie sich nicht per Software-Update beheben.
    • Das sei etwa 10 Jahre her gewesen, und es sei erstaunlich, dass Amazon, das als Internetbuchhandlung begann, heute an der Spitze bei der Lösung thermodynamischer Probleme steht.
  • Die Distanz von High Performance Computing (HPC) zur Hardware

    • Es wurde darauf hingewiesen, wie stark HPC von der Hardware abstrahiert ist.
    • Bücher konzentrieren sich auf SPMD-Programmierung, Algorithmen, Datenstrukturen, Task-Parallelität und Synchronisation, behandeln aber Details der Computerarchitektur wie Speichersysteme von Supercomputern, Hochbandbreiten-Interconnects (CXL) oder GPU-Architekturen kaum.
    • Es wurde die Frage aufgeworfen, ob Abstraktionen und Tools inzwischen gut genug sind, dass man sich um diese Details nicht mehr kümmern muss, oder ob HPC-Praktiker weiterhin viel „Black-Box“-Tuning betreiben müssen, um Leistung herauszuholen.
  • Lob für Viktors Materialsammlung

    • Ein Nutzer zeigte sich beeindruckt von der von Viktor zusammengestellten Materialsammlung und erwähnte, dass er Viktor zwar nicht persönlich kenne, aber in den 1990er Jahren als Doktorand an der UT Austin Ressourcen von TACC genutzt habe.
    • Damals mussten Programmierer ihren Code selbst parallelisieren und brauchten ein Verständnis der Hardware. Das lag daran, dass das Feld noch in einem frühen Stadium war; Probleme wurden gelöst, indem man Unterlagen wie den Cray Ring Binder und Materialien von Gropp las.
  • Interesse an der Hardware-Operations-Seite von HPC

    • Ein Nutzer äußerte Interesse daran, wie man in HPC Probleme erkennt und diagnostiziert, Maßnahmen wie Neustarts/Neuinstallationen/Reparaturen ergreift und dies optimiert, um das bestmögliche Service-Level zu liefern.
    • Er erwähnte, dass es schwer gewesen sei, Informationen darüber zu finden, wie sich unterschiedliche Topologien auf solche Probleme auswirken, wenn man gleichzeitig mehrere Ziele wie Node-Verfügbarkeit gegenüber Gesamtdurchsatz optimieren muss, sowie über weitere Randbedingungen.
  • Bitte um Einschätzungen zur Lehrmethode für C++

    • Ein erfahrener Python-Programmierer fragte nach den Meinungen anderer zur Vermittlung von C++ und wollte wissen, ob es bestimmte Nachteile gibt.
    • Der Nutzer sagte, dass er seine C++-Kenntnisse verbessern möchte und dass die drei Bücher vom Niveau her passend für ihn wirken.
  • Bewunderung für das kostenlose Lehrmaterial des Autors

    • Ein Nutzer zeigte sich beeindruckt davon, dass der Autor ein umfassendes Set an Büchern erstellt und kostenlos geteilt hat, darunter Inhalte zu C++ und Unix-Tools.
    • Er merkte an, dass der Inhalt für alle Programmierer nützlich sei, auch wenn sie nicht auf High Performance Computing spezialisiert sind.
  • Rückblick auf einen Kurs zu Scientific Computing

    • Ein Nutzer, der 2013 einen Kurs zu Scientific Computing besucht hatte, erinnerte sich daran, dass das Gebiet so breit sei, dass viele Themen nur kurz behandelt wurden.
    • Er sagte, ein spezieller semesterlanger Kurs zu Parallel Computing wäre hilfreich gewesen, und bewertete diese Bücher als sehr wertvoll als Teil eines solchen Kurses.
  • Erfahrung mit dem Angebot, TA in einem HPC-Graduiertenkurs zu sein

    • Ein Nutzer erwähnte, dass ihm vor 10 Jahren eine TA-Rolle in einem HPC-Graduiertenkurs angeboten worden sei, die er jedoch abgelehnt habe.
    • Er sagte, mit diesem Buch hätte er die Gelegenheit wohl ergriffen, und lobte die Leistung des Autors.
  • Lob für die UT Austin

    • Es wurde erwähnt, dass die UT Austin eine herausragende Institution für HPC und rechnergestützte Methoden ist.
  • Guter Inhalt für Programmierer

    • Es wurde erwähnt, dass der Inhalt der Bücher für alle Programmierer nützlich ist, insbesondere der kontrastierende Ansatz im dritten Band, in dem C++17 und Fortran2008 gelehrt werden.