Java, la programmation sur GPU
Est-il possible de faire de la GPU de la programmation en Java ?
Je veux dire sans l'aide de bibliothèques natives.
Et la façon dont beaucoup de d'amélioration de la performance peut-on s'attendre quand on passe plus de gpu ?
Edit:
Je ne suis pas à la recherche à la programmation de jeux vidéo, je veux faire le noyau dur de calcul.
- Entendez-vous écrire le shader programme en Java? Ou de l'utilisation de Java pour charger un shader écrit dans un langage de shader (GLSL ou HLSL) sur le GPU et l'exécuter? AFAICT, il n'y a pas de Java -> GPU bytecode compilateurs (ou les convertisseurs de bytecode Java pour GPU bytecode), de sorte que vous ne pouvez pas écrire votre GPU programme en Java.
- Hé les gars, vous avez jeté quelques mots-clés qui je ne suis pas au courant de l' !! Comme je ne sais pas ce qu'est un langage d'ombrage a été, mais n'a trouvé après une recherche rapide sur google. Ok basé sur vos réponses je vais faire un edit
Vous devez vous connecter pour publier un commentaire.
Oui.Java3D, LWJGL et JOGL soutien GLSL (OpenGL Shading Language).Edit:
Vous pouvez utiliser OpenCL si vous voulez faire de la plate-forme neutre, usage général, le calcul sur Gpu. Ce cadre vous permet d'écrire du code qui traite de toutes les unités de traitement de l'identique, malgré sauvagement différentes fonctionnalités et les environnements d'exécution. Si, c'est très programmation de bas niveau par rapport à Java.
Il semble que votre idéal serait d'avoir une JVM écrit avec prise en charge OpenCL. La recherche en ligne, j'ai trouvé un peu d'intérêt à l'idée, mais aucune preuve de tout le soutien majeur.
Qui dépend du système que vous utilisez et le type de données que vous êtes de traitement (Matrice et vecteur de mathématiques est extrêmement efficace sur les processeurs graphiques (Gpu). Vous seriez probablement obtenir quelques gains importants sur un système comme le mien avec deux Gpu puissants et un modeste single-core CPU. Cependant sur un ordinateur avec un modeste GPU et un CPU quad-core, la performance des gains pourriez avoir un moment difficile de surmonter la surcharge.
Rootbeer1 vient d'être publié sur github: https://github.com/pcpratts/rootbeer1
Avec Rootbeer vous pouvez programmer à l'aide de presque tous les Java, sauf les suivantes:
Cela signifie que vous pouvez utiliser arbitraire d'objets graphiques à l'aide de types de composé.
Si vous considérez toujours le noyau dur de calcul en Java sur GPU sans l'aide de bibliothèques natives, vous pourriez être intéressé par cet article de blog http://ateji.blogspot.com/2011/02/java-on-gpu-with-ateji-px.html
Nous (je fais partie de la Ateji équipe) ont vu le rendement de jusqu'à 60x jusqu'à présent sur des applications Java peuvent être massivement parallélisé.
def découvrez rootbeer1, mais vous devez vous assurer que vous avez un CUDA acceptée carte GFX d'abord avant de vous lancer sur elle et l'ont fait tous les le programme d'installation NVIDIA etc
Lien de téléchargement:
google CUDA télécharger
guide de mise en route
http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Getting_Started_Windows.pdf