Project Sumatra millora el rendiment de Java amb l’acceleració de la targeta gràfica OpenCL

Projecte Sumatra Desenvolupament de GPU Accelerated Java mitjançant OpenCL

Java és un llenguatge de programació que permet als desenvolupadors escriure una vegada i desplegar-se a tot arreu, des d'escriptoris de jocs de gamma alta fins a telèfons intel·ligents. El seu caràcter agnòstic i generalitzat del sistema operatiu és un dels seus punts de venda més forts, però una de les àrees en què pot caure és el rendiment. En general, les aplicacions Java no funcionaran tan bé com les aplicacions natives escrites per a un sistema operatiu específic. Tanmateix, gràcies al Projecte Sumatra, aquesta bretxa de rendiment aviat pot esdevenir menys un problema.

Actualment, el projecte recolzat per OpenJDK treballa per aprofitar la potència de processament en paral·lel de les targetes gràfiques integrades i discretes per accelerar les aplicacions Java. L’acceleració de la GPU no és un concepte nou, però aquest projecte és interessant per la seva manera de treballar i les implicacions futures de la investigació.



Presentat per primera vegada a l’agost, Project Sumatra utilitza les funcions i les biblioteques de Java 8 Projecte Lambda així com el HotSpot d’Oracle per a la màquina virtual de Java. (Lambda és un conjunt d’expressions per al llenguatge de programació Java que pretén millorar el suport multi-core.)



Per tal d’aprofitar l’acceleració de la GPU, els desenvolupadors de programari hauran d’anotar el seu codi per indicar quines expressions lambda s’adapten a la naturalesa paral·lela de les GPU. Aleshores, quan executeu una aplicació Java en un sistema amb una GPU compatible amb OpenCL instal·lada, el compilador HotSpot JIT (just-in-time) traduirà els bits de codi anotats a OpenCL per processar-los a la GPU en lloc de a la CPU. Aquest és un mètode interessant, ja que requerirà actualitzacions relativament senzilles de les aplicacions per aprofitar l’acceleració del maquinari de la GPU i serà invisible per a l’usuari final. És cert que no totes les aplicacions veuran un augment massiu del rendiment (si es poden paral·lelitzar), però moltes podran beneficiar-se d’aprofitar la GPU fins a cert punt.

JDK8Actualment, els desenvolupadors del projecte Sumatra se centren en el desenvolupament de suport OpenCL amb tecnologies Java 8, però esperen que la investigació sobre el desenvolupament influeixi en l’acceleració del maquinari de la GPU amb altres llenguatges allotjats a JVM com JRuby i Scala.



El potencial aquí és impressionant, sobretot tenint en compte la proliferació de GPU capaces d’executar codi OpenCL, un nombre que hauria de continuar creixent. AMD i Nvidia tenen flotes de targetes discretes, AMD i Intel tenen nuclis gràfics integrats a les CPU i els futurs SoC ARM també poden donar suport a la tecnologia. Les futures versions de Java que integrin la tecnologia haurien de permetre als clients utilitzar el seu maquinari de la manera més eficaç possible. Els servidors AMD basats en APU i els telèfons intel·ligents i tauletes mòbils es beneficiaran més de l’acceleració de la GPU. AMD i la Fundació HSA tenen objectius similars ha demostrat un major rendiment aprofitant la potència de la GPU per a tasques paral·leles. Project Sumatra facilita encara més als desenvolupadors i usuaris finals de programes escrits en Java la realització d’aquests potencials guanys de rendiment.

El vicepresident d'Oracle de Desenvolupament de Programari del Grup Java Platform, Georges Saab, ha afirmat que 'esperem que el nostre treball amb AMD i altres participants d'OpenJDK al Projecte' Sumatra 'ajudi a proporcionar als desenvolupadors de Java la possibilitat d'aprofitar ràpidament l'acceleració de GPU per millorar rendiment.'

Pel que fa al mòbil, tenim processadors de tauletes com la APU Z-60 d’AMD i els propers SoCs Valley View d’Intel que es beneficiarien de Java accelerat per GPU en poder processar les dades més ràpidament i tornar a un estat d’aturada de menor consum per conservar la bateria. I, per descomptat, l’experiència de l’usuari hauria de millorar si les aplicacions s’executen més ràpidament.



Probablement passarà almenys un altre any abans que l’acceleració de la GPU es converteixi en l’entorn oficial Java Runtime Environment, però amb Project Sumatra estem en bon camí per accelerar Java.

Per estar al dia o participar-hi, feu un cop d’ull el lloc web del Projecte Sumatra o uniu-vos a llista de correu sumatra-dev.

Copyright © Tots Els Drets Reservats | 2007es.com