# Berechnungen auf GPU auslagern



## Alex_T (16. Dezember 2010)

Hallöle zum Abend,

ich bräuchte mal wieder eure fachliche Kompetenz...
Ich habe mir ein Programm geschrieben, dass verschiedenste Dinge leistet (ist jetzt nicht die Welt aber aller Anfang ist schwer ^^).

So nun aber zu meinem Problem:
Es wurde die Laufzeit des Programms gemessen (also nicht die theoretische, sondern wie lange das Programm zum Abarbeiten der entsprechenden Methoden in ns braucht) - nun ist diese Messung stark hardwareabhängig und mein 2-Kerner kann da nicht mehr viel reißen...
Deshlab wollte ich mal fragen, ob jemand von Euch weiß, wie man die Programmausführung (ist übrigens mit Eclipse geschrieben) auf die GPU auslagern kann, da mir diese um ein Vielfaches schneller erscheint.

Danke schonmal im Voraus.


----------



## zerix (17. Dezember 2010)

Hallo,

mit Java ist dies nicht direkt möglich. 
Es gibt aber ein Framework von NVidia, dessen Name mir aber gerade leider entfallen ist. Wenn ich mich richtig erinnere ist das in C/C++ geschrieben. 
Du könntest alles was du auslagern möchtest, mit C/C++ schreiben und mit diesem Framework auf die GPU auslagern und das dann per JNI in deinem Programm nutzen. 

Gruß

Sascha


----------



## Anime-Otaku (17. Dezember 2010)

Es gibt aber auch Java-Bibliothek(en), die einen bereits etwas abnehmen. Dennoch kommt man über JNI, d.h. native Bibliotheken nicht herum.
http://www.jcuda.de/
http://www.think-techie.com/2009/09/gpu-computing-using-jcuda.html

Mehr kann ich dir leider auch nicht sagen.


----------



## Alex_T (17. Dezember 2010)

Danke Euch beiden.
Ich wusste bisher nur, dass es CUDA für C gibt....wieder was dazugelernt^^.
Hab mir das mal angeschaut und dann doch festgestellt, dass es ein unverhältnismäßig großer Aufwand ist, der mir eventuell nur einen kleinen Nutzen bringt, deshalb hab ich beschlossen meinen Code einfach nochmal zu optimieren.

Wünsch' Euch noch einen schönen Abend.


----------

