Bewertung:

Das Buch ist ein umfassender Leitfaden für High-Performance-Computing (HPC) und parallele Programmierung, der für seine starke Betonung der Leistungsoptimierung und die gründliche Abdeckung der Kernkonzepte gelobt wird. Es wird als wertvolle Ressource sowohl für Anfänger als auch für erfahrene Programmierer angesehen, trotz einiger Kritikpunkte bezüglich der Organisation, der Fachsprache und der spezifischen inhaltlichen Einschränkungen.
Vorteile:⬤ Eingehende Behandlung zentraler HPC-Konzepte, einschließlich Speicherverwaltung und serieller Leistungsoptimierung.
⬤ Bietet eine einzigartige Diskussion über ccNUMA, die in anderen Texten oft übersehen wird.
⬤ Enthält praktische Beispiele und Fragen zum Selbststudium.
⬤ Gut strukturiert für Optimierungstechniken, die auf Code anwendbar sind.
⬤ Das Material ist im Kontext moderner Hardware relevant und aktuell.
⬤ Klare Einführung in parallele Programmiertechniken wie OpenMP und MPI.
⬤ Dichter Schreibstil mit übermäßigem Jargon, der Leser ohne ein gewisses Hintergrundwissen verwirren kann.
⬤ Organisationsprobleme, die den Leser zwingen, für bestimmte Themen durch das Buch zu navigieren.
⬤ Begrenzte Abdeckung von moderneren Programmiersprachen wie Python.
⬤ Einige Beispiele sind überwiegend in FORTRAN gehalten, was nicht für jeden geeignet sein dürfte.
⬤ Beschwerden über die Druckqualität, einschließlich verpixeltem Text, beeinträchtigen das Leseerlebnis.
(basierend auf 16 Leserbewertungen)
Introduction to High Performance Computing for Scientists and Engineers
Das von Experten für High Performance Computing (HPC) geschriebene Buch Introduction to High Performance Computing for Scientists and Engineers (Einführung in das Hochleistungsrechnen für Wissenschaftler und Ingenieure) bietet eine solide Einführung in die aktuelle Mainstream-Computerarchitektur, die vorherrschenden parallelen Programmiermodelle und nützliche Optimierungsstrategien für wissenschaftliches HPC. Durch die Arbeit in einem wissenschaftlichen Rechenzentrum haben die Autoren eine einzigartige Perspektive auf die Anforderungen und Einstellungen der Benutzer sowie der Hersteller von Parallelrechnern gewonnen.
Der Text führt zunächst in die Architektur moderner Cache-basierter Mikroprozessoren ein und erörtert deren inhärente Leistungsgrenzen, bevor er allgemeine Optimierungsstrategien für seriellen Code auf Cache-basierten Architekturen beschreibt. Anschließend werden parallele Computerarchitekturen mit gemeinsamem und verteiltem Speicher sowie die wichtigsten Netzwerktopologien behandelt. Nach einer theoretischen Erörterung des parallelen Rechnens zeigen die Autoren, wie typische Leistungsprobleme im Zusammenhang mit OpenMP vermieden oder verbessert werden können. Anschließend stellen sie Optimierungsverfahren für den cache-kohärenten nicht-uniformen Speicherzugriff (ccNUMA) vor, untersuchen die parallele Programmierung mit verteiltem Speicher und Message Passing Interface (MPI) und erklären, wie man effizienten MPI-Code schreibt. Das letzte Kapitel konzentriert sich auf die hybride Programmierung mit MPI und OpenMP.
Benutzer von Hochleistungsrechnern haben oft keine Ahnung, welche Faktoren die Zeit bis zur Lösung begrenzen und ob es überhaupt sinnvoll ist, über Optimierung nachzudenken. Dieses Buch ermöglicht ein intuitives Verständnis der Leistungsbeschränkungen, ohne sich auf schweres Informatikwissen zu stützen. Es bereitet die Leser auch auf das Studium weiterführender Literatur vor.
Lesen Sie über die jüngste Auszeichnung der Autoren: Informatics Europe Curriculum Best Practices Award for Parallelism and Concurrency.