Ach so. Hmja.
Mit CUDA kann man (ganz allgemein) Berechnungen mit der Grafikkarte durchführen. Also nicht mit dem Hauptprozessor, der CPU, sondern mit dem Prozessor auf der Grafikkarte, der GPU.
Die Motivation dafür? Ganz einfach: 
Mit CUDA kann man Programme schreiben, die z.B. 10000 (zehntausend) Threads quasi-parallel ausführen, und das Erstellen und verwalten dieser Threads ist … effektiv kostenlos.
Besonders lohnt sich das natürlich bei Aufgaben, die sich entsprechend gut parallelisieren lassen - und Lineare-Algebra-Operationen und Fast Fourier Transformationen gehören dazu. Wenn man also mal in die Verlegenheit kommt, eine Rechnung wie
C = a * A * B + b * C
für skalare (float) Werte a und b, und 1000x1000-Matrizen A,B und C durchführen zu müssen (also eine klassische BLAS-Aufgabe) dann hat man zwei Möglichkeiten: Man schreibt das ganze „brute force“ auf und läßt es die CPU berechnen. Mit einigen Tricks und Kniffen schafft man es dann vielleicht noch, das 5% schneller zu machen, oder auch 10% oder 50%. Die andere Möglichkeit ist, dass man das stattdessen mit JCublas (d.h. CUBLAS) auf der Grafikkarte ausrechnen läßt - wie in diesem Vergleich - dann geht es nichtmehr darum, es mit viel Aufwand 50% schneller zu machen, sondern darum, es mit wenig Aufwand 50 MAL schneller zu machen.
Bei Fast Fourier Transforms ist der Unterschied etwas weniger dramatisch, aber es gibt viele Fälle wo JCufft da immernoch deutlich schneller ist als eine reine Java-Implementierung (siehe auch einige Benchmarks hier).
Einen Array mit ints zu sortieren ist mit JCudpp zwar dann schon nicht mehr viel schneller als mit Arrays.sort, aber CUDPP ist eher als eine Bibliothek mit utility-Funktionen gedacht, die bei parallelen Berechnungen häufig gebraucht werden - d.h. wenn man etwas sortieren will, was ohnehin schon auf der Grafikkarte liegt (und man den Speicher nicht erst extra von Java über C auf die Grafikkarte und dann wieder zurück schaufeln muss) lohnt sich das natürlich.
Und schließlich kann man auch noch eigene Kernel mit CUDA schreiben - also die Berechnungen, die man gerade für sein Problem durchführen muss, von 10000 Threads auf 200 Prozessoren ausführen lassen - und das ganze dann von Java aus starten. Bei welchen Anwendungen sich das lohnen könnte, sieht man auf der CUDA Homepage - an den speedup-faktoren, die jeweils rechts unten in der Ecke stehen.