• Deutsch
Login

OPUS

  • Home
  • Search
  • Browse
  • Publish
  • FAQ

Bayreuth Reports on Parallel and Distributed Systems

Informationen zum Herausgeber



Angewandte Informatik 2 - Parallele und verteilte Systeme
Email an den Herausgeber

Refine

Author

  • Konrad Ley (1)
  • Markus Straubinger (1)
  • Tim Werner (1)

Year of publication

  • 2010 (1)
  • 2012 (1)
  • 2013 (1)

Document Type

  • Bachelor Thesis (3) (remove)

Keywords

  • Parallelverarbeitung (3)
  • Gewöhnliche Differentialgleichung (2)
  • Computergraphik (1)
  • Graphikprozessor (1)
  • Locality (1)
  • Lokalität <Informatik> (1)
  • MPI <Schnittstelle> (1)
  • Mehrschrittverfahren (1)
  • Multi-step Method (1)
  • Ordinary Differential Equation (1)

3 search hits

search hits 1 to 3

Sort by

  • Series
  • Series
  • Year
  • Year
  • Title
  • Title
  • Author
  • Author
5
Show/Hide Abstract Implementierung und Untersuchung paralleler Volumen-Rendering-Techniken für Graphikprozessoren (2013)
Tim Werner
Zuerst soll in dieser Arbeit ein Standardverfahren für einen Volumenraycaster auf einer GPU in OpenCL implementiert und erläutert werden. Hierbei werden kurz die benötigten Algorithmen aus der Computergraphik sowie deren mathematischen und physikalischen Herleitungen erklärt. Dabei werden einige einfache Optimierungen vorgestellt, welche spezifisch auf die Hardware der GPU eingehen. Auch werden einfache Verbesserungen erläutert, welche rein optischer Natur sind. Durch deren Implementierung lassen sich die dreidimensionalen Strukturen der Volumendaten besser erkennen. Zusätzlich ist es mit diesen Verbesserungen möglich die interessanten Bereiche der Volumendaten hervorzuheben. Des Weiteren läuft dieser implementierte Standard-Volumenraycaster auf moderner Hardware bereits mit Bildwiederholraten, welche Interaktivität ermöglichen. Danach soll dieser Standard-Volumenraycaster durch Empty-Space-Skipping, also durch das Überspringen von leeren Bereichen innerhalb der Volumendaten, mit Hilfe eines Octrees beschleunigt werden. Hierbei ist es das Ziel den Raycaster mit dem Octree auf die spezifischen Gegebenheiten der GPU anzupassen. Insbesondere soll versucht werden die SIMD-Effizienz und damit die Performance durch eine geschickte Kombination von der Octreetraversierung und dem Zeichnen des Inhalts eines Octreeknotens zu erhöhen. Durch diese Octreeoptimierung lässt sich die Performance des Raycasters bei Volumendaten mit vielen leeren Bereichen stark erhöhen. Als Nächstes wird in dieser Arbeit versucht, den Raycaster weiter mit persistenten Threads zu beschleunigen. Dieser Versuch scheitert jedoch. So sind sowohl die Performance als auch die SIMD-Effizienz mit persistenten Threads stets geringer als ohne persistente Threads. Abschliessend soll die Ausführung des Raycasters mit Octree auf der GPU näher untersucht werden. Zuerst werden hierfür Messungen durch selbst erstellte Benchmarks vorgenommen. Bei der darauffolgenden Diskussion der Messergebnisse zeigt es sich, dass das Verfahren linear mit dem Chiptakt und der Zahl der Multiprozessoren skaliert. Da es nur einen kleinen Bruchteil der maximalen Speicherbandbreite benötigt, skaliert es nicht mit dem Speichertakt. Die Speicherzugriffe dieses Verfahrens sind bereits so lokal, dass die GPU-Caches gut ausgenutzt werden. Deshalb können die Speicherzugriffszeiten so gut verborgen werden, dass sie sich nicht negativ auf die Performance auswirken. Die Rechenleistung der GPU lässt sich durch das Verfahren jedoch nur mittelmässig bis schlecht ausnutzen. Diese niedrige Ausnutzung ist vor allem auf eine zu niedrige Occupancy und auf eine zu ungleichmässige Auslastung der verschiedenen Ressourcen der GPU zurückzuführen. Jedoch ergeben sich aus den Untersuchungen noch einige weitere Optimierungsansätze, um die erzielte Rechenleistung und damit die Performance zu erhöhen. Obwohl kurz graphische Optimierungen in der Arbeit vorgestellt und implementiert werden, so ist es kein Ziel dieser Arbeit die Bildqualität des Raycasters massiv zu verbessern oder diesen durch verbesserte Näherungslösungen oder Ähnliches zu beschleunigen. Bei vielen dieser Verbesserungen wäre es nur schlecht möglich gewesen spezifisch auf die Eigenschaften der GPU einzugehen. Auch beschäftigt sich diese Arbeit hauptsächlich mit der Verbesserung der SIMD-Effizienz und im Gegensatz zu vielen anderen GPGPU-Arbeiten nur wenig mit der Optimierung der Speicherzugriffe.
4
Show/Hide Abstract Reduktion des Kommunikationsaufwands iterierter Runge-Kutta-Verfahren für dünnbesetzte gewöhnliche Differentialgleichungssysteme (2012)
Markus Straubinger
Iterierte Runge-Kutta (IRK) Verfahren sind eine Klasse von Lösungsverfahren für Anfangswertprobleme gewöhnlicher Differentialgleichungssysteme (DGL), welche ein hohes Parallelisierungspotential besitzen. Während Implementierungen für dichtbesetzte DGL regelmäßig Vektoren der Größe der DGL austauschen müssen, können spezialisierte Löser Kommunikationskosten einsparen, indem nur die wenigen tatsächlich benötigten Vektorelemente ausgetauscht werden. In dieser Arbeit werden parallele Implementierungen von IRK-Verfahren für verteilten Adressraum betrachtet. Es werden zunächst allgemeine Implementierungen für dichtbesetzte DGL vorgestellt. Anschließend wird deren Kommunikation für dünnbesetzte DGL und Probleme mit beschränkter Zugriffsdistanz optimiert. Die entstandenen Implementierungen werden in Hinsicht auf Laufzeit und Skalierbarkeit untersucht. Dafür werden Messungen auf verschiedenen Rechnersystemen mit unterschiedlichen dünnbesetzten DGL ausgewertet. Dabei wird festgestellt, dass eine Implementierung der Kommunikation sowohl für dünnbesetzte DGL als auch für Probleme mit beschränkter Zugriffsdistanz besonders gut geeignet ist.
2
Show/Hide Abstract Parallele Implementierung und Analyse eines expliziten Adams-Verfahrens (2010)
Konrad Ley
Das Adams-Bashforth-Verfahren ist ein numerisches Verfahren zur Lösung von gewöhnlichen Differentialgleichungen. In dieser Arbeit werden mehrere Implementierungsvarianten des Adams- Bashforth-Verfahrens vorgestellt, verglichen und analysiert. Zunächst arbeiten die Implementierungen sequentiell. Später werden die sequentiellen Implementierungen für den Einsatz auf einem Parallelrechner erweitert. Dabei wird besonderen Wert auf die Ausnutzung der Speicherhierarchie durch eine geschickte Organisation der Berechnungsreihenfolge gelegt. Außerdem wird bei der Synchronisation darauf geachtet, dass die Implementierungen auf Mehrkernprozessoren mit einer Shared-Memory- Architektur gut skalieren. Ziel ist die Ausführungszeit des Adams-Bashforth-Verfahrens zu minimieren.

search hits 1 to 3

OPUS4 Logo

  • Contact
  • Imprint
  • Sitelinks