1101 tud fst - technische universität darmstadt · dr. dietmar hildenbrand technische universität...

60
Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Geometrische Algebra: Eine neue, elegante und effiziente Eine neue, elegante und effiziente Methode f Methode f ü ü r viele Maschinenbauthemen r viele Maschinenbauthemen TU Darmstadt, TU Darmstadt, 28.01.2011 28.01.2011

Upload: vuonghuong

Post on 19-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

Dr. Dietmar Hildenbrand

Technische Universität Darmstadt

Fachbereich Informatik

Geometrische Algebra:Geometrische Algebra:Eine neue, elegante und effiziente Eine neue, elegante und effiziente Methode fMethode füür viele Maschinenbauthemenr viele Maschinenbauthemen

TU Darmstadt,TU Darmstadt, 28.01.201128.01.2011

Page 2: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 2

Dietmar Hildenbrand

� Diplom in Informatik an TH Darmstadt

� Positionen in der Industrie

� Promotion an der TU Darmstadt

� DFG-Forschungsprojekt im Bereich Geometric Algebra Computing

„Beschleunigte Auswertung von Algorithmen in geometrischer Algebra durch automatische Compilierung in rekonfigurierbare Recheneinheiten“

� Zusammenarbeit mit Arbeitsgruppe von Prof. Koch

Page 3: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 3

Was für ein mathematisches System müsste es für das Engineering geben?

� Ein mathematisches System, wo es bisher sehr viele unterschiedliche gibt (Vektoralgebra, Proj. Geometrie, Quaternionen …) und damit� Einfacheres Erlernen

� Kein Übersetzen zwischen verschiedenen Systemen

� …

� Einfache, geometrisch intuitive, visuelle Entwicklung von Algorithmen für viele Bereiche des Engineering

� Kompakte Beschreibung

� Robuste Implementierung

� Performante Implementierung

Page 4: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 4

Beispiel für Geometrische Algebra

� a,b sind Kugeln, mit denen man

direkt rechnen kann

� a ^ b� beschreibt den Schnitt von a und b

� repräsentiert einen Kreis

Page 5: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 5

Beispielrechnung in Geometrischer Algebra

� Inverse Kinematik eines einfachen Roboters� p0 und p2 bekannt

� Bewegung in der Ebene

� Berechne p1

� …

Page 6: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 6

Überblick

� unsere Anwendungen

� Einführung in die Geometrische Algebra,

� Beispiel: Inverse Kinematik eines einfachen Roboters

� Simulation der Molekulardynamik mit Methoden der Geometrischen Algebra

� Der Stuttgarter Fahrsimulator mit Methoden der Geometrischen Algebra (Florian Seybold, Höchstleistungsrechenzentrum Stuttgart)

Page 7: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 7

TUD Spotlight „Geometrische Algebra“

Page 8: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 8

Was ist “GA Computing”?

� Technologie an der Schnittstelle zwischen Mathematik, Informatik und Engineering

EngineeringEngineering

InformatikInformatikMathematikMathematik GA

Page 9: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 9

Geometric Algebra Computing

Ausdehnungslehre

Grassmann

Clifford Algebra

Clifford

(Konforme) GA

Hestenes

Parallel Computing

Plattformen

Geometric

Algebra

Computing

2000 …

1882

1862

2001

Single Prozessor

Plattformen1980 …

Page 10: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 10

GirlsDay 22.04.2010

Page 11: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 11

GirlsDay 22.04.2010

Page 12: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 12

Unsere Anwendungen

GA GA ComputingComputing

RobotikRobotik

Geometrische AlgebraGeometrische Algebra

GraphikGraphikVisionVision ……

Page 13: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 13

Anwendungsbeispiel

� Computeranimation/ Virtual Reality

[[TolaniTolani et al. 2000]et al. 2000]

Page 14: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 14

Anwendungsbeispiel

� Approximation von geometrischen Objekten in Punktwolken aus Laserscans

Page 15: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 15

Anwendungsbeispiel

� Registrierung von Multichannel-Images

� Verallgemeinerung der Fourier-Transformation

Page 16: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 16

Anwendungsbeispiel

Bewegung eines Roboters

Geometrisch intuitiver Algorithmus in geometrischer Algebra:

[Craig]

Page 17: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 17

Anwendungsbeispiel

� Finite Elemente Solver� Kompakte Ausdrücke für

� Geschwindigkeiten

� Kräfte

� die rotationelle und lineare Anteile beinhalten

[Elmar Brendel et al]

Page 18: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 18

Anwendungsbeispiel

� Molekular-Dynamik

� Zusammenarbeit mit dem Höchstleistungs-Rechenzentrum Stuttgart

Page 19: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 19

Ziel der geometrischen Algebra

� möglichst direkteUmsetzung aus dergeometrischenVorstellung heraus

Page 20: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 20

Unser Ziel

� Kombination� Eleganz der mathematischen Sprache

� Hohe Performance der Implementierung

Page 21: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 21

Eigenschaften von geometrischer Algebra

� geometrische Intuitivität� Einfachheit� Kompaktheit� Robustheit� Vereinheitlichung mathematischer Systeme� Vektoralgebra� Komplexe Zahlen� Projektive Geometrie� Quaternionen� Pauli-/Dirac-Matrizen� …

� Direktes Rechnen mit geometrischen Objekten wie Kugeln, Kreisen, Ebenen

Page 22: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 22

Beispiel: Schnitte von geometrischen Objekten

� a,b sind Kugeln, mit denen man

direkt rechnen kann

� a ^ b� beschreibt den Schnitt von a und b

� repräsentiert einen Kreis

Page 23: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 23

Beispiel: Schnitt von Kugel und Gerade

Page 24: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 24

Beispiel: das innere Produkt

� a,b 3D-Vektoren

-> Skalarprodukt

Page 25: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 25

Abstände in Geometrischer Algebra

Eine Formel für

� Abstand von 2 Punkten

� Abstand zwischen Punkt und Ebene

� liegt ein Punkt innerhalb oder ausserhalb einer Kugel ?

Page 26: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 26

Winkel in Geometrischer Algebra

Eine Formel für Winkel zwischen

� 2 Geraden

� 2 Ebenen

� 2 Kreisen

� …

Page 27: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 27

Einordnung der (5D) konformen geometrischen Algebra

Page 28: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 28

Basisvektoren

� Die 5 Basisvektoren der 5D konformen geometrischen Algebra

Page 29: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 29

Punkt als spezielle Kugel

� Punkt

3D-Vektor Skalarprodukt

� Kugel

Page 30: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 30

Ebene als spezielle Kugel

� Kugel

� Ebene

Page 31: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 31

Gerade als spezieller Kreis

� Kreis (a^b^c)

� Kreis -> Gerade

( )

Page 32: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 32

Geometrische Basis-Operationen

� Rotation um L (durch den Ursprung)

� Rotor

= Quaternion

� Anm.: die Gerade muss nicht durch den Ursprung gehen -> Rotor beschreibt Rotation um beliebige Achse

Page 33: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 33

Transformationen in Geometrischer Algebra

Page 34: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 34

Screw Motion

� Auch Geschwindigkeiten und Kräfte lineare und rotationelle Anteile in einem Ausdruck

Page 35: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 35

CLUCalc

� Software-Paket, um� mit geometrischer Algebra zu

rechnen� die Ergebnisse zu visualisieren

� Oberfläche� Editor-Fenster� Visualisierungs-Fenster� Ausgabe-Fenster

� Freier Download über www.CluCalc.info

Page 36: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 36

CLUCalc

� C-ähnliche Skript-Sprache

� 1 zu 1 – Beziehung von Formeln und Code

� Freier Download der Beispiel-Skripte: http://www.gris.informatik.tu-darmstadt.de/~dhilden/

Page 37: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 37

Beispiel: Inverse Kinematik eines einfachen Roboters mit 5 Freiheitsgraden

� Einfache und intuitive Operationen� mit Objekten wie Kugeln

oder Ebenen

� Äusseres Produkt „^“ zum Schneiden von Objekten

� Inneres Produkt für die Bestimmung der Winkel

� …

CLUCalc

Freier Download über www.CluCalc.info

Page 38: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 38

Was ist “GA Computing” zusammenfassend?

� Neues Forschungsgebiet� Vereinfacht viele Aufgabenstellungen im Engineering� Schnelle Umsetzung von Ideen

� Passt gut zu neuen parallelen Rechnerarchitekturen

� Für Studenten interessant:� Fast unbegrenzte Anzahl von Themen/Anwendungsgebieten� Schnell an der Spitze der aktuellen Forschung

� Für Professoren interessant:� Studenten lassen sich leicht motivieren� Bessere Einsichten in eigenes Forschungsgebiet� Schneller neue Forschungsergebnisse

Page 39: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 39

CLUCalc

� Visuelle, interaktive Entwicklung

� Eingabe-Sprache von Gaalop

Page 40: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 40

Gaalop

� interpretiert geometrische Algebra –Algorithmus� Hoher mathematischer Level (CLUCalc)

� Kompakte Algorithmen

� generiert optimierte Implementierung� Einfachste arithmetische Ausdrücke

� Robuste Ausdrücke

Page 41: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 41

Basis: Eurographics-Paper 2006, Wien

� " Competitive runtime performance for inverse kinematicsalgorithms using conformal geometric algebra "

� Dietmar Hildenbrand, Daniel Fontijne, Yusheng Wang, Marc Alexa and Leo Dorst

� Erster Nachweis, dass ein Algorithmus in GA schneller sein kann als ein herkömmlicher Algorithmus

Page 42: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 42

Gaalop

Symbolische VereinfachungSymbolische Vereinfachung

Geometrische Algebra AlgorithmusGeometrische Algebra Algorithmus

IR (IR (intermediateintermediate representationrepresentation))

CC FPGAFPGAOpenCLOpenCLCLUCalcCLUCalc ……

Sequentielle PlattformenSequentielle Plattformen Parallele Plattformen Parallele Plattformen

……

Page 43: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 43

OpenCL

� http://de.wikipedia.org/wiki/OpenCL

� Neuer Industrie-Standard für heterogene Systeme

Page 44: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 44

OpenCL-Workshop

Page 45: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 45

Gaalop GCD for OpenCL

…OpenCL Code

##pragmapragma gcdgcd beginbegin

GA code (CLUCalc)

##pragmapragma gcdgcd endend

…OpenCL Code

Page 46: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 46

Gaalop GCD for OpenCL

…OpenCL Code

##pragmapragma gcdgcd beginbegin

GA code (CLUCalc) OpenCL

##pragmapragma gcdgcd endend

…OpenCL Code

Page 47: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 47

Gaalop GCD for OpenCL

…OpenCL Code

##pragmapragma gcdgcd beginbegin

GA code (CLUCalc) OpenCL

##pragmapragma gcdgcd endend

…OpenCL Code

CLUCalc Code wird mit Hilfe von Gaalop GCD als OpenCL Code in das Programm integriert

Page 48: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 48

Gaalop GCD for OpenCL …

� … ist verfügbar für Windows und Linux.

� Anwendungs-Beispiel: Molekulardynamik …

Page 49: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 49

Anwendung: einfache Molekular-Dynamik

� (in sich statische) Moleküle aus mehreren Atomen

� Anziehungs- und Abstossungskräfte zwischen allen Atomen

� Gut geeignet für parallele Berechnung

Page 50: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 50

Kräfte zwischen den Atomen

� Lennard Jones Potenzial

www.wikipedia.de

Page 51: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 51

Kräfte zwischen den Atomen

� die Lennard Jones Kraft� entspricht dem negativen Gradienten des Lennard Jones-Potenzials

� und ergibt den Vektor

in Abhängigkeit vom Abstand zwischen zwei Atomen

� Alle Kräfte (und Drehmomente) eines Moleküls können zu einer Net Force aufsummiert werden

� mit F=m*a ergibt sich die Beschleunigung des Moleküls

Page 52: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 52

Kräfte zwischen den Atomen

� Konventionelle Velocity Verlet Integrations-Methode

www.wikipedia.de

Anm.: diese Schritte müssen zweimal pro Molekül ausgeführt werden� für die Translation� für die Rotation

Page 53: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 53

Kräfte zwischen den Atomen

� Velocity Verlet in konformer Geometrischer Algebra (CGA)

CGA integriert Translation und Rotation in einem Ausdruck

Florian Seybold (HLRS)

Page 54: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 54

Kräfte zwischen den Atomen

� Velocity Verlet in konformer Geometrischer Algebra (CGA)

Florian Seybold (HLRS)

CGA integriert Translation und Rotation in einem AusdruckCLUScript-Code der Schritte 3. und 4.

// input values..// temporary valuesw1_t_dt_1 = (am23 - (I_3 - I_2) * avel2_t * avel3_t) / I_1;w1_t_dt_2 = (am13 - (I_1 - I_3) * avel3_t * avel1_t) / I_2;w1_t_dt_3 = (am12 - (I_2 - I_1) * avel1_t * avel2_t) / I_3;w1_t_dt = e1 * w1_t_dt_1 + e2 * w1_t_dt_2 + e3 * w1_t_dt_3;// final values?V1_t_dt = einf * v1_t_dt - e1^e2^e3 * w1_t_dt;?V0_t_dt = V0_t_05dt + 0.5 * V1_t_dt * dt;

Page 55: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 55

Solver Konzept

� 3 Teile

1. Verlet Zeitintegrations-Schritt 1 (pro Molekül)

� aktualisiert Position und Orientierung der Moleküle

� N Berechnungen für N Moleküle

2. Berechnung der Potenzial-Kräfte

� Aktualisiert Kräfte und Drehmomente jedes Moleküls

� n x (n-1) Berechnungen für n Atome

3. Verlet Zeitintegrations-Schritt 2 (pro Molekül)

� aktualisiert lineare und Rotations-Geschwindigkeit der Moleküle

� N Berechnungen für N Moleküle

Page 56: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 56

OpenCL Solver-Konzept

CPU OpenCL enabled GPUInitialization

Loop

Upload Data

Kernel Call

Kernel Call

Kernel Call

Download Data

Visualization (optional) �

Verlet Step 1 – N threads

Compute Potential Forces - n threads

Verlet Step 2 – N threads

Page 57: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 57

Ergebnisse

�Energie-Erhaltung – Numerische Stabilität

Page 58: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 58

Performance-Ergebnisse

� Four Core Processor + CUDA + OpenCL Runtime

Page 59: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 59

Literatur

� Interaktives CLUCalc-Tutorial� Script / Course notes

� Einfache Beispiel-Scripts von meiner Homepage

Page 60: 1101 TUD FST - Technische Universität Darmstadt · Dr. Dietmar Hildenbrand Technische Universität Darmstadt Fachbereich Informatik Geometrische Algebra: Eine neue, elegante und

28.01.2011 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 60

Vielen Dank …