Effizientes Lösen linearer Gleichungssysteme über GF(2) - CDC ...
Effizientes Lösen linearer Gleichungssysteme über GF(2) - CDC ...
Effizientes Lösen linearer Gleichungssysteme über GF(2) - CDC ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 2<br />
Parallele Programmierung mit<br />
CUDA<br />
Kapitel 2 enthält alle Informationen, die zum Verständnis des Programmcodes<br />
benötigt werden. Neben der bisherigen Entwicklung im Bezug auf parallele<br />
Architekturen und Daten zum Grafikkartenhersteller NVIDIA in den<br />
Unterkapiteln 2.1 und 2.2 enthält dieses Kapitel auch Informationen <strong>über</strong><br />
die benutzte parallele Berechnungsarchitektur CUDA, um einen Einstieg in<br />
die Verwendung von Grafikkarten als Co-Prozessoren zu geben. Kapitel 2.3<br />
und 2.4 beschreiben aus welchen Komponenten die APIs bestehen und gibt<br />
eine Einführung in die Programmierung von parallelen Anwendungen. Um<br />
die gegebenen Hardwareeigenschaften der Grafikkarte ausnutzen zu können<br />
wird in Kapitel 2.5 die Architektur erläutert und anhand dieser in Kapitel<br />
2.6 erklärt, wie die Performanz von CUDA-Programmen maximiert werden<br />
kann.<br />
2.1 Parallele Architekturen<br />
Bei der parallelen Datenverarbeitung handelt es sich um eine Verarbeitung<br />
von Daten, bei der Ergebnisse gleichzeitig von mehreren Prozessoren berechnet<br />
werden. Massiv-Parallele Computer besitzen einige zehn bis einige<br />
Tausend unabhängige Ausführungseinheiten, die zeitgleich Operationen<br />
durchführen können und so ermöglichen regelmäßig aufgebaute Datensätze<br />
effizient zu bearbeiten. Dabei verfügt jeder Hauptprozessor <strong>über</strong> seinen eigenen<br />
Arbeitsspeicher (Vergleiche [8]). Computer, die eine parallele Berechnung<br />
5