03.03.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.2. NVIDIA 7<br />

Seit ca. 2000 werden auch Grafikprozessoren mit ihren Rechenleistungen für<br />

parallelisierbare Operationen verwendet. Dabei handelt es sich oft um Berechnungen,<br />

die traditionell auf der CPU durchgeführt werden. Das <strong>Lösen</strong><br />

von allgemeinen Aufgaben mit Grafikkarten wird als General Purpose Computation<br />

on Graphics Processing Unit oder kurz GPGPU bezeichnet (Siehe<br />

[17]). Grafikkarten verfügen <strong>über</strong> eine SIMD-Architektur. Neuere GPUs von<br />

NVIDIA ermöglichen die zeitgleiche Ausführung mehrerer unterschiedlicher<br />

Programme auf einer Grafikkarte wodurch auch die MIMD Architektur umgesetzt<br />

ist. Das Multiprozessorsystem ist homogen und alle Prozessoren befinden<br />

sich auf der selben Karte. Jeder verfügt <strong>über</strong> einen eigenen Adressraum<br />

und hat Zugriff auf den globalen Speicherbereich, welchen sich alle Prozessoren<br />

teilen.<br />

2.2 NVIDIA<br />

NVIDIA wurde 1993 von Jen-Hsun Huang, Curtis Priem und Chris Malachowsky<br />

gegründet und gehört heute zu einer der größten Firmen für die<br />

Entwicklung von Grafikprozessoren und Chipsätzen für Personal Computer<br />

und Spielkonsolen (Siehe auch [11]).<br />

Im Februar 2007 wurde die Compute Unified Device Architecture, kurz CU-<br />

DA entwickelt. Diese API ermöglicht es Grafikprozessoren als Co-Prozessoren<br />

für die CPU einzusetzen um parallelisierbare Berechnungen zu beschleunigen.<br />

Bis dahin war die Schnittstelle nur auf graphische Anwendungen ausgelegt,<br />

was eine Verwendung in anderen Anwendungsbereichen erschwerte. Dennoch<br />

wurde der Einsatz von GPUs für parallele Berechnungen immer mehr zu einer<br />

gängigen Praxis. Grafikkarten verfügen <strong>über</strong> eine parallele Many-Core Architektur,<br />

bei der jeder Grafikkern tausende von Threads gleichzeitig ausführen<br />

kann (Siehe auch Kapitel 2.5). Mit der Entwicklung von CUDA konnte NVI-<br />

DIA den Markt für seine Produkte erweitern. Anwendbar ist die API auf<br />

viele Karten der GeForce und Quadro Serie, sowie für alle Tesla Karten. Tesla<br />

Karten sind Streamprozessoren, welche für den Einsatz als Co-Prozessor<br />

entwickelt wurden und nicht <strong>über</strong> Monitoranschlüsse verfügen (Siehe [13])<br />

CUDA ermöglicht mit C for CUDA einen leichten Einstieg in die Programmentwicklung,<br />

da es sich um die relativ bekannte Programmiersprache C mit

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!