14
Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Embed Size (px)

Citation preview

Page 1: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Diplomarbeit

Clustering mittels Grafikprozessor

Robert Noll

betreut von

Prof. Dr. Christian Böhm

Bianca Wackersreuther

Page 2: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

Grafikkarten :

Computerspiele mit realistischer 3D-Grafik

viel Leistung, geringe Preise

rasante Weiterentwicklung

programmierbare Shader

Page 3: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

Floating Point Operations Per Second

Page 4: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

Memory Bandwidth

Page 5: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

Massiv Parallel (hunderte von Threads)

Daten-Parallel, SIMD

simple Befehle, aber schnell

Page 6: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

NVIDIA CUDA SDK:

Direkter Speicherzugriff (statt Texturen)

Scatter-Write (keine Adress-Beschränkung)

Atomare Operationen

Shared Memory Cache (Register)

erweiterte C Syntax

Emulator funktioniert ohne Grafik-Karte

Page 7: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

K-Means Clustering

1 Thread pro Datenpunkt

GPU berechnet Zuordnung und Abstand

Page 8: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

K-Means 8D k=1024

CPU

GPU

um Faktor 5-8 schneller

Page 9: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

DBScan Clustering

density-based Clustering Nachbarn im ℰ Radius

Kernpunkt wenn ≥ minPts

Cluster ausbreiten

Page 10: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

DBScan Variante auf GPU

mehrere Seeds parallel

Nachbar-Markierung

Kollisionen

Page 11: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

GPU-DBScan Kollisionsbehandlung

Erkennung durch AtomicOps

old := AtomicMax(addr,new);

Eintrag in Connection Matrix

Page 12: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

GPU-DBScan Connection Matrix

Finale Cluster ID erst bei Abschluss einer Kette

Tabelle mit Finalen Cluster ID's für Seeds

Connection Matrix (Bits) Finale Cluser ID Tabelle

Abschluss 1, neue ID

ID ausbreiten

neuer Seed

Page 13: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

DBScan 8D minPts=4 ℰ=0.01

CPU

GPU

um Faktor 5-7 schneller

Page 14: Diplomarbeit Clustering mittels Grafikprozessor Robert Noll betreut von Prof. Dr. Christian Böhm Bianca Wackersreuther

Clustering mittels Grafikprozessor

Zusammenfassung

viel Leistung, niedrige Preise

massiv Parallel

technische Einschränkungen

Vielen Dank für die Aufmerksamkeit !