Das Karriereportal für Wissenschaft & Forschung von In Kooperation mit DIE ZEIT Forschung und Lehre
 
Fraunhofer-Institut für Graphische Datenverarbeitung
Auf Grund des Abstandes zwischen Prozessor- und Arbeitsspeichergeschwindigkeiten, der seit den 80ern ansteigt und mittlerweile mehr als drei Größenordnungen beträgt [1], sind Optimierungen welche die Verwendung von tiefen Cache-Hierarchien verbessern und effektive Transaktionsgrößen erhöhen entscheidend für einen guten Durchsatz.

Auch wenn die Optimierung von verschachtelten Schleifen bereits gut erforscht ist, ist die Optimierung von Datenanordnungen von mehrdimensionalen Feldern von Strukturen beschränkt und beinhaltet typischerweise lokale Kopien von Teilansichten der Felder auf Grund der lokalen Natur der Sicht des Compilers und des Optimierers. Demzufolge ist die Kontrolle der Datenanordnung durch den Programmierer notwendig um einen hohen Durchsatz zu erreichen. Die optimale Anordnung kann sich jedoch zwischen GPU und CPU unterscheiden, auch abhängig von dem verwendeten Vektorbefehlssatz, und Änderungen an der Datenanordnung erfordern oft signifikantes Umschreiben der inneren Schleifen eines Algorithmus. Bibliotheken wie Intel® SIMD Data Layout Templates versuchen diese Probleme abzuschwächen. Aktuelle Ansätze sind jedoch eingeschränkt in Bezug auf Mehrdimensionale Felder, insbesondere wenn diese unregelmäßige Dimensionen (variable Längen) besitzen. Ein Beispiel dafür sind dünnbesetze Matrizen welche eine variable Anzahl von Spalteneinträgen pro Zeile haben (oder umgekehrt).

Das Ziel dieser Arbeit ist es kombinierbare Datenanordnungsbeschreibungen für n-D Felder mit unregelmäßigen Dimensionen zu entwickeln und implementieren. Diese sind unabhängig von dem Inhalt der Datenstruktur der Elemente des Feldes zu beschreiben. Beispiele für solche Datenanordnungsbeschreibungen sind die Ordnung im Speicher, Interleaving oder getrennte Speicherung von Strukturelementen mit optionaler Gruppierung (entspricht AoS, SoA und AoSoA in der SIMD-Literatur) und Blocking. Grundlegende Operationen wie Iteration in idealer und kanonischer Ordnung sollen auch in einer anordnungsunabhängigen Art und Weise beschrieben werden können.

Literatur[1]  J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 5th ed., San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 2011.

Masterarbeit: Kombinierbare Datenanordnungsbeschreibungen für n-D Felder mit unregelmäßigen Dimensionen

Kennziffer: IGD-2017-2
Ihre Voraussetzungen:
Sie sollten ein Interesse an Compilern und Parallelisierung haben. Erfahrung mit C++ ist notwendig.




Fraunhofer-Institut für Graphische Datenverarbeitung
Darmstadt

http://www.igd.fraunhofer.de


Erschienen auf academics.de am 10.01.2017
Bitte beziehen Sie sich in Ihrer Bewerbung auf  academics

Weitere aktuelle Stellenangebote