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.

Da für die Verwendung von Grafikkarten die Daten erst an diese <strong>über</strong>tragen<br />

werden müssen, ist es wichtig im Vorfeld zu prüfen, ob die Komplexität<br />

der Berechnungen die Latenz, welche durch den Datentransfer entsteht, ausgleichen<br />

kann. Ein wichtiger Wert ist in diesem Zusammenhang die Menge<br />

der ausgeführten Operationen pro Datenelement. Bei <strong>Gleichungssysteme</strong>n<br />

hängt die Anzahl der Rechenschritte auf einem Feld von dessen Position in<br />

der n × m- Matrix ab und liegt zwischen einer und m Operationen. Die<br />

genaue Dimension der aus kryptoanalytischen Methoden hervorgehenden linearen<br />

<strong>Gleichungssysteme</strong> ist unklar, da diese z.B. bei Attacken auf Stromverschlüsselungen<br />

von der Umwandlung des polynominalen in das lineare<br />

System abhängen. Dennoch kann davon ausgegangen werden, dass die Matrizen<br />

sehr groß sind und die Anzahl ihrer Elemente nicht selten sechsstellig<br />

ist.<br />

Im ersten Schritt wurde das Gaußsche Eliminationsverfahren umgesetzt, da<br />

es sich dabei um einen einfachen Algorithmus handelt, der schnell parallelisiert<br />

werden kann. Des Weiteren ist er Teil eines anderen, schnelleren Algorithmus,<br />

der “Method of Four Russians“ Inversion. Dieser war das eigentliche<br />

Ziel der Arbeit.<br />

In Kapitel 2 soll ein grober Überblick <strong>über</strong> CUDA sowie Grafikarten von<br />

NVIDIA gegeben und die geschichtliche Entwicklung dargestellt werden. Für<br />

eine optimale Programmierung ist es unerlässlich die genaue Architektur und<br />

Funktionsweise der GPUs zu kennen. Beispielsweise kann die volle Bandbreite<br />

bei einem Zugriff auf den globalen Speicher nur erreicht werden, wenn<br />

das Programm bestimmte Rahmenbedingungen einhält. Neben diesem Off-<br />

Chip-Speicher wird auch ein On-Chip-Speicher angeboten, welcher als Cache<br />

fungiert und von dem Anwender selbst verwaltet wird. Mit diesem können<br />

Verzögerungszeiten bei einem mehrmaligen Zugriff auf die selben Daten im<br />

RAM vermieden und so eine bessere Performanz erreicht werden.<br />

Kapitel 3 beschreibt die “Method of Four Russians“ Inversion und erläutert<br />

die genaue Umsetzung. Wird ein Algorithmus, welcher normalerweise auf<br />

der CPU arbeitet, auf der GPU ausgeführt, so ist es sinnvoll diesen zuvor<br />

anzupassen. Zum einen sollte das Verfahren so modifiziert werden, dass es<br />

aus verschiedenen autonomen Blöcken besteht, die parallel bearbeitet werden<br />

können, und zum anderen dürfen zwischen diesen Ausführungseinheiten<br />

keine Datenabhängigkeiten vorliegen, da es sonst zu falschen Ergebnissen<br />

3

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!