Oui. Prise en charge de Java3D, LWJGL et JOGL GLSL (OpenGL Shading Language).
Edit :
Vous pouvez utiliser OpenCL si vous souhaitez effectuer des calculs généraux sur les GPU, indépendamment de la plate-forme. Ce cadre vous permet d'écrire du code qui traite toutes les unités de traitement de manière identique, malgré des ensembles de fonctionnalités et des environnements d'exécution très différents. Cependant, il s'agit d'une programmation de très bas niveau par rapport à Java.
Il semble que votre idéal serait une JVM écrite avec un support OpenCL. En cherchant en ligne, j'ai trouvé un peu d'intérêt pour l'idée mais aucune preuve d'un soutien majeur.
quelle est l'amélioration des performances que l'on peut attendre
Cela dépend du système sur lequel vous travaillez et du type de données que vous traitez (les mathématiques matricielles et vectorielles sont extrêmement efficaces sur les GPU). Vous obtiendriez probablement des gains importants sur un système comme le mien avec deux GPU puissants et un modeste CPU à un seul cœur. Toutefois, sur un ordinateur doté d'un GPU modeste et d'un CPU à quatre cœurs, les gains de performances pourraient avoir du mal à compenser les frais généraux.
1 votes
Voulez-vous dire écrire le programme du shader en Java ? Ou utiliser Java pour charger un shader écrit dans un langage de shader (GLSL ou HLSL) sur le GPU et l'exécuter ? AFAICT, il n'existe pas de compilateurs de bytecode Java -> GPU (ou de convertisseurs de bytecode Java en bytecode GPU), donc vous ne pouvez pas écrire votre programme GPU en Java.
0 votes
Les gars, vous avez trouvé pas mal de mots clés que je ne connaissais pas. Par exemple, je ne savais pas ce qu'était un langage d'ombrage, mais je l'ai découvert après une recherche rapide sur Google. Ok, sur la base de vos réponses, je vais faire une modification.