Beschreibung
Moderne Hochleistungsrechner mit akzeptablem Programmieraufwand effizient zu nutzen, erfordert eine höhere Programmiersprache. High Performance Fortran (HPF), ein De-facto-Standard im Bereich des Hochleistungsrechnens, ermöglicht die Programmierung von Parallelrechnern auf einer sehr hohen und damit benutzerfreundlichen Abstraktionsebene bei gleichzeitiger Erzielung hoher Laufzeiteffizienz. Das vorliegende Buch gibt eine Einführung in den Bereich des Hochleistungsrechnens und beschreibt den aktuellen Stand der Entwicklungen bei HPF. Es bietet Programmierern von Hochleistungsrechnern und Anwendern paralleler numerischer Algorithmen eine unentbehrliche Unterstützung bei der Verwendung von HPF.
Autorenporträt
Inhaltsangabe1 Hardware.- 1.1 Prozessoren.- 1.1.1 Das Pipeline-Prinzip.- 1.1.2 RISC-Prozessoren.- 1.1.3 Pipeline-Prinzip in RISC-Prozessoren.- 1.1.4 Vektorprozessoren.- 1.2 Speicher.- 1.2.1 Die Parameter eines Speichersystems.- 1.2.2 Speicherhierarchien.- 1.2.3 Adressierungsarten.- 1.2.4 Register.- 1.2.5 Der Cache-Speicher.- 1.2.6 Cache-Kohärenz.- 1.2.7 Der Hauptspeicher.- 1.2.8 Die Speicherung von Datenstrukturen.- 1.3 Kommunikation.- 1.3.1 Leistung.- 1.3.2 Skalierbarkeit.- 1.3.3 Technologie.- 1.3.4 Verbindungstypen.- 1.3.5 Verbindungsstrukturen.- 1.3.6 Kommunikationsstrukturen.- 1.4 Parallelrechner.- 1.4.1 Grobstruktur von Parallelrechnern.- 1.4.2 Klassifikation von Rechnerarchitekturen.- 1.4.3 Speichergekoppelte Systeme.- 1.4.4 Nachrichtengekoppelte Systeme.- 1.5 Entwicklungstrends.- 2 Leistung.- 2.1 Der Begriff "Leistung".- 2.1.1 Der Leistungsfaktor Arbeit.- 2.1.2 Der Leistungsfaktor Zeit.- 2.2 Quantifizierung der Leistung.- 2.2.1 Analytische Leistungsbewertung der Hardware.- 2.2.2 Die Leistung von Vektorprozessoren.- 2.2.3 Der Leistungseinfluß des Speichers.- 2.2.4 Empirische Leistungsbewertung.- 2.2.5 Bewertung von leistungssteigernden Maßnahmen.- 2.2.6 Das Gesetz von Amdahl.- 2.2.7 Das Modell von Gustafson.- 2.2.8 Variable Parallelisierbarkeit.- 2.3 Benchmarks.- 2.3.1 Herkunft von Benchmarks.- 2.3.2 Ziele von Benchmarks.- 2.4 Beispiele für Benchmarks.- 2.4.1 EuroBen.- 2.4.2 Flops.- 2.4.3 GENESIS Distributed Benchmarks.- 2.4.4 LINPACK-Benchmark für einen Prozessor.- 2.4.5 LINPACK-Benchmark für Parallelrechner.- 2.4.6 Livermore Loops.- 2.4.7 LLCbench.- 2.4.8 NAS Parallel Benchmarks (NPB).- 2.4.9 PARKBENCH.- 2.4.10 Perfect-Benchmark.- 2.4.11 SLALOM.- 2.4.12 SPEC-Benchmarks.- 2.4.13 Whetstone.- 2.4.14 Andere Benchmarks.- 2.5 Schwächen von Benchmarks.- 2.5.1 Kritik an Benchmarkresultaten.- 2.5.2 Das Zusammenfassen von Benchmarkresultaten.- 2.5.3 Standardisierungen.- 2.6 Das Preis-Leistungs-Verhältnis.- 2.6.1 Definition des PLV.- 2.6.2 Vergleich von Computersystemen.- 2.6.3 Der Gordon-Bell-Preis.- 3 Algorithmen.- 3.1 Grundoperationen der Linearen Algebra.- 3.1.1 Vektor-Vektor-Operationen.- 3.1.2 Matrix-Vektor-Operationen.- 3.1.3 Matrix-Matrix-Operationen.- 3.1.4 BLAS.- 3.1.5 Geblockte Algorithmen.- 3.1.6 Das Aufrollen von Schleifen.- 3.2 Die Matrizenmultiplikation.- 3.2.1 Matrix-Vektor-Multiplikation.- 3.2.2 Matrix-Matrix-Multiplikation.- 3.2.3 Die ijk-Form.- 3.2.4 Verschiedene Formen der Matrizenmultiplikation.- 3.2.5 Maßnahmen zur Leistungsverbesserung.- 3.2.6 Matrix-Matrix-Multiplikation auf Parallelrechnern.- 3.3 Die Lösimg linearer Gleichungssysteme.- 3.3.1 LU-Zerlegung.- 3.3.2 Schleifenreihenfolgen.- 3.3.3 Komplexität der LU-Zerlegung.- 3.3.4 Pivot Strategien.- 3.3.5 Geblockte LU-Zerlegung.- 3.3.6 LU-Zerlegung auf Parallelrechnern.- 3.3.7 Cholesky-Zerlegung.- 4 Fortran 95.- 4.1 Felder.- 4.1.1 Die Darstellung von Literalen.- 4.1.2 Die Vereinbarung von Feldern.- 4.2 Belegung und Verknüpfung von Feldern.- 4.2.1 Die Speicherung von Feldern.- 4.2.2 Der Zugriff auf Felder.- 4.2.3 Die Wertzuweisung.- 4.2.4 Operatoren.- 4.3 Die Verarbeitung von Feldern.- 4.3.1 Elementweise Operationen auf Feldern.- 4.3.2 Auswahl mit Feld-Bedingungen.- 4.3.3 Speicherverwaltung.- 4.3.4 Felder als Parameter.- 4.3.5 Funktionen mit Feldresultaten.- 4.3.6 Vordefinierte Unterprogramme.- 4.4 Unterprogrammschnittstellen.- 4.4.1 Explizite Schnittstellen.- 4.4.2 Implizite Schnittstellen.- 4.4.3 Schnittstellenblöcke.- 4.5 FORALL.- 4.5.1 Die FORALL-Anweisung.- 4.5.2 Der FORALL-Block.- 4.6 PURE-Unterprogramme.- 4.6.1 Syntaxregeln für das PURE-Präfix.- 4.6.2 Einschränkungen.- 5 High Performance Fortran - HPF.- 5.1 Die Entwicklung von HPF.- 5.2 Die Konzeption von HPF.- 5.2.1 HPF und Fortran.- 5.2.2 Das Programmiermodell von HPF.- 5.2.3 Die syntaktische Struktur von HPF.- 5.3 Datenverteilung und Datenausrichtung.- 5.3.1 Das Modell der Datenabbildung.- 5.3.2 Die PROCESSORS-Anweisung.- 5.3.3 "*" in ALIGN- und DISTRIBUTE-Anweisungen.- 5.3.4 Die DISTRIBUTE-Anweisung zur Datenve
Herstellerkennzeichnung:
Springer Verlag GmbH
Tiergartenstr. 17
69121 Heidelberg
DE
E-Mail: juergen.hartmann@springer.com




































































































