-
Java et OpenCL
Bonjour,
je pensais au début utiliser Cuda, mais il semblerait que OpenCL soit adapté pour plus de support : différents types de GPUs et même de CPUs. Comme je dispose aussi bien de GPU NVIDIA Tesla que de INTEL Xeon Phi, OpenCL semble mieux adapté afin que mon code tourne sur ce qui est disponible.
Il semblerait qu'en général (sauf applications très spécifiques) OpenCL soit aussi rapide que Cuda. Est ce que quelqu'un peut confirmer ?
Je suis développer une application complète en OpenCl et j'appeler depuis Java qui est la couche maitresse de tout le logiciel. Pour cela il semblerait qu'il y a plusieurs solutions :
- JNI
- JOCL
Est ce que quelqu'un saurait me conseiller ?
Merci par avance,
-
re: cuda
Bonjour,
Si ton application est vouée à travailler sur plusieurs plateformes, alors OpenCL est la solution. CUDA est optimisée pour tourner sur des architectures NVIDIA, en effet. J'utilise JOCL comme bindings pour appeler des routines OpencL depuis Java, après il me semble que JNI est relativement lourd et tu perdras la portabilité du code inhérent à java, car JNI devra faire appel à des fonctions opencl écrite en c/c++ => pas de byte code.
Algernon