Particle Systems used for Visualization - ZIB
Particle Systems used for Visualization - ZIB
Particle Systems used for Visualization - ZIB
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Abbildung 5: Beispiel einer fertigen Kachelung<br />
3 General Purpose GPU<br />
Es wurde nun eingehend beschrieben, wie man eine effiziente Verteilung der Partikel<br />
garantieren kann. Doch kann es immer noch durch ungünstige Darstellungsalgorithmen<br />
zu langen Wartezeiten kommen. Ein wichtiger Schritt um dies zu vermeiden<br />
ist es, so viel Berechnungsschritte wie möglich auf der GPU selbst durchzuführen.<br />
Dadurch wird vermieden, dass die GPU auf Ergebnisse der CPU, des RAM oder der<br />
Festplatte warten muss. Erreichen kann man dies dank der Flexibilität mit der moderne<br />
GPU entworfen werden. In der Regel ähneln diese einer CPU welche darauf<br />
spezialisiert wurde, eine Operation gleichzeitig auf mehreren Datensätzen ausführen<br />
zu können. Gesteuert wird sie hierbei von Mikroprogrammen, den Shadern. Ein<br />
solcher Shader kann von einem Programmierer leicht selbst entworfen werden.<br />
Es ist also möglich, durch einen geschickten Entwurf alle Algorithmen auf der GPU<br />
ausführen zu können, wodurch sie quasi zu einem vollwertigen Coprozessor wird.<br />
Da die Entwicklung neuer GPUs durch die Nachfrage schnell voranschreitet ist es<br />
sinnvoll diese Rechenleistung auch zu nutzen.<br />
Wie muss nun aber ein solches Shadermodell aufgebaut werden, damit man eine<br />
“General Purpose GPU” (kurz: GPGPU) erhält?<br />
Jeder Algorithmus besteht aus drei “Komponenten”:<br />
• einer Eingabe<br />
• einem Verarbeitungsschritt<br />
• einer Ausgabe<br />
10