L'interesse crescente per il calcolo parallelo e l'utilizzo delle GPU in ambiti diversi dalla grafica (
GPGPU), ha portato alla formulazione, da parte di grossi nomi come Apple, Intel, ATI e NVIDIA, di un
framework denominato
Open Computing Language (OpenCL), che facilita la costruzione di programmi che possono essere eseguiti in sistemi composti sia da CPU che GPU, che lavorano in parallelo.
Per raggiungere tali obiettivi,
OpenCL, specifica anche un
linguaggio basato su
C99 per poter scrivere delle applicazioni che siano eseguibili indistintamente su CPU o GPU.
Per poter utilizzare le potenzialità di
OpenCL nelle applicazioni Java, è possibile ricorrere a
JavaCL, che analogamente a
JOCL, implementa un
wrapper delle librerie di
OpenCL, realizzato utilizzando strumenti come
JNAerator che automatizzano la costruzione di wrapper C/C++ in Java.
Ricordiamo infine che
JavaCL non è ancora in ersione stabile e nonostante
OpenCL preveda di poter utilizzare anche comuni CPU per l'esecuzione dei programmi,
JavaCL richiede l'uso di una moderna GPU ATI o NVIDIA per poter eseguire gli
esempi presenti sul sito.