Oracle et AMD veulent un Java boosté par le GPU
Une nouvelle proposition se greffe au projet Lambda de Java 8

Le , par tarikbenmerar, Chroniqueur Actualités
Oracle et AMD lancent un gros chantier pour le langage Java. Un nouveau projet vise à booster les performances des applications Java en exploitant les avantages des GPU (processeurs graphiques), qu'ils soient intégrés ou non au CPU. Et pas seulement pour les rendus graphiques, le GPU est convoité pour l’exécution de certaines tâches de calcul.

Cette proposition a été conjointement communiquée ce lundi dans le mailing-list d'OpenJDK par John Coome, chef de groupe d'OpenJDK HotSpot, et par Gary Frost d'AMD. Le projet vise en fait à démontrer « les avantages en performance en déléguant certaines tâches de calcul Java au GPU. Nous proposons d'utiliser HotSpot JVM, ensuite nous nous concentrerons sur la génération de code, la garbage collection, et les exécutables », expliquent-ils dans le mail.

En effet, HotSpot JVM comporte certains composants permettant l'analyse des performances du code pendant l'exécution. Toutefois, le temps de compilation, la consommation mémoire, et la qualité du code générée ne seront pas concernés par cette optimisation.

Les développeurs veulent commencer le projet autour du projet Java 8 Lambda, mais s'attendent à faire face à de vrais « challenges » avec l'API Java. Ceci peut carrément aboutir à un nouveau langage ou à des extensions de la JVM et de bibliothèques qui nécessiteraient une standardisation à travers le JCP (Java Community Process, organisme coordinateur de l'évolution du langage).

Une autre facette du projet consiste à fournir un guide aux développeurs de langages utilisant la JVM comme hôte (Scala, JRuby, JavaScript/Nashorn, etc.), sur la manière à suivre pour activer le support du GPU dans leurs langages.

Il faut noter que ce projet a des objectifs en commun avec celui du compilateur RootBeer GPU récemment annoncé. Il existe une possibilité que les développeurs des deux projets travaillent en collaboration.

Gary Frost confirme que AMD se prépare à engager ses ingénieurs comme commiters sur ce projet.

Compilateur Rootbeer GPU sur GitHub
Le projet Java Lambda

Sources :
annonce sur le mailing-list

Et vous ?

Que pensez-vous de ce projet et de ses objectifs ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de transgohan transgohan
http://www.developpez.com
Expert Confirmé Sénior
le 17/08/2012 10:57
C'est une bonne nouvelle je trouve. Java est en effet assez lent niveau affichage quand on utilise une librairie graphique.
C'est même un calvaire sur certains vieux PCs.
Avatar de Lutarez Lutarez
http://www.developpez.com
Membre Expert
le 17/08/2012 11:00
Je suis perplexe concernant leur projet. Si vraiment il faut améliorer les performances de Java, ne faudrait-il pas commencer par l'optimiser plutôt que de déporter le boulot sur les GPU ? Surtout si c'est pour faire des trucs dégueulasses pour contourner l'API Java

De plus, vu comment Java s'avère parfois lourd juste pour l'OS, si maintenant il doit envahir nos GPU ...

J'espère qu'un tel projet a surtout pour objectif des applications spécifiques de calculs avancés ou autre, parceque si demain on doit le voir sur le PC de Mme Michou, ça va ramer dur.

Citation Envoyé par transgohan  Voir le message
Java est en effet assez lent niveau affichage quand on utilise une librairie graphique.

Je m'y connais pas énorme en Java, mais n'est-ce pas le but de JavaFX théoriquement ?
Avatar de TheNOHDirector TheNOHDirector
http://www.developpez.com
Membre du Club
le 17/08/2012 12:18
Olivier Chafik a créé un projet opensource justement là dessus, il a fait une présentation à Devoxx France 2012. Ces projets visent notamment le calcul ils pourraient donc bien s'intégrer avec les plans d'Oracle sur les Lambda.

http://code.google.com/p/javacl/
http://code.google.com/p/scalacl/

http://www.parleys.com/#st=5&id=3292&sl=0
Avatar de _skip _skip
http://www.developpez.com
Expert Confirmé Sénior
le 17/08/2012 12:20
Il faudrait relativiser un peu, Java n'est franchement pas un veau comme c'était peut être le cas il y a 15 ans. Quant à la lenteur d'affichage, ben c'est souvent un cliché qui vient d'un ancien Swing sans accélération matérielle.
Si vous regardez des benchmarks comparatifs, vous voyez que java est en fait largement décent même s'il n'égale clairement pas du C.

Pour ce qui est de permettre le calcul sur GPU en java, c'est certainement bon à prendre et peut être que ça pourra dans certains cas éviter le recours aux DLL natives pour certains besoins.
Avatar de hotcryx hotcryx
http://www.developpez.com
Membre chevronné
le 17/08/2012 12:38
Java est quand même vachement rapide sur Android avec Dalvik.

"Créer un nouveau langage"

je n'en vois pas l'intérêt, ils n'ont qu'à étoffer les librairies.
Avatar de Lutarez Lutarez
http://www.developpez.com
Membre Expert
le 17/08/2012 13:18
Citation Envoyé par _skip  Voir le message
Il faudrait relativiser un peu, Java n'est franchement pas un veau comme c'était peut être le cas il y a 15 ans. Quant à la lenteur d'affichage, ben c'est souvent un cliché qui vient d'un ancien Swing sans accélération matérielle.

C'est vrai, mais il ne faudrait toutefois pas voir apparaître une nouvelle "mode" utilisant massivement le GPU "parceque sur le CPU, c'était lent et qu'on avait pas envie d'optimiser".

Citation Envoyé par hotcryx  Voir le message
Java est quand même vachement rapide sur Android avec Dalvik.

Java n'est qu'un langage, c'est la machine virtuelle qui fait la performance. Et à ce jeu-là, en effet, Dalvik est plus performante que la JVM.
Avatar de TheNOHDirector TheNOHDirector
http://www.developpez.com
Membre du Club
le 17/08/2012 13:22
Citation Envoyé par hotcryx  Voir le message
Java est quand même vachement rapide sur Android avec Dalvik.

Pas assez pour développer des jeux! J'ai eu des retours sur des problèmes de framerate, lorsque l'appli tourne sur Dalvik (donc Java)

Citation Envoyé par hotcryx  Voir le message
je n'en vois pas l'intérêt, ils n'ont qu'à étoffer les librairies.

Bien sur qu'il y a un intérêt, quand la théorie de la programmation objet n'était qu'un pattern, il fallait coder en C, puis ça a été intégré aux langages SmallTalk, C++, Java, etc. Scala, Kotlin, FANTOM, LINQ sont tous des essais pour intégrer de nouveaux patterns et paradigmes pour la prochaine génération de langage. Donc c'est une bonne chose si la JVM permet de créer plus facilement un langage adapté à un besoin.

On pourrait par exemple avoir des fragments de code dans un langage adapté à OpenCL et qui pourraient interagir facilement avec du code Java.
Avatar de Paul TOTH Paul TOTH
http://www.developpez.com
Expert Confirmé Sénior
le 17/08/2012 13:29
"booster les performances" ? car il faut utiliser le GPU pour avoir du Java performant ? moi j'appelle ça une contre performance
Avatar de _skip _skip
http://www.developpez.com
Expert Confirmé Sénior
le 17/08/2012 13:34
Citation Envoyé par Lutarez  Voir le message
C'est vrai, mais il ne faudrait toutefois pas voir apparaître une nouvelle "mode" utilisant massivement le GPU "parceque sur le CPU, c'était lent et qu'on avait pas envie d'optimiser".

La jvm est certainement déjà un software extrêmement optimisé. Plein de fonctions graphiques d'un desktop standard (redimensionnement, effet de transparence, etc...) profitent déjà d'accélération matérielle et en ce sens utiliser un GPU pour des opérations coûteuses en dehors des jeux vidéo n'est rien de nouveau.

Je vois pas en quoi cela dérange que ce soit possible depuis java de façon transparente ou non.
Avatar de Lutarez Lutarez
http://www.developpez.com
Membre Expert
le 17/08/2012 13:40
Citation Envoyé par Paul TOTH  Voir le message
"booster les performances" ? car il faut utiliser le GPU pour avoir du Java performant ? moi j'appelle ça une contre performance

JE n'ai dit pas que c'est une mauvaise chose (au contraire), simplement que cela risque d'engendrer des effets de bord et que certains en profitent pour utiliser le GPU plutôt qu'optimiser leur programme. Quand au fait que ce soit utilisé de nos jours, j'en suis conscient, mais encore une fois, ce sont les effets de bords que je crains le plus, pas la technologie en elle-même.
Offres d'emploi IT
Analyste développeur analyse d'image
CDD Freelance Mission [Autre]
VIDEMUS - Ile de France - Cachan (94230)
Parue le 28/11/2014
CHARGE D'AFFAIRES SAV
CDI
Kobaltt - Suisse - MULHOUSE
Parue le 25/11/2014
INGENIEUR EN DEVELOPPEMENT ANGULARJS H/F
CDI
M PLANET - Provence Alpes Côte d'Azur - SOPHIA ANTIPOLIS
Parue le 16/12/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula