Projekt Sumatra poboljšava performanse Jave ubrzavanjem OpenCL grafičke kartice

Projekt Sumatra Razvoj GPU ubrzane Jave pomoću OpenCL-a

Java je programski jezik koji programerima omogućuje pisanje i raspoređivanje svugdje - od vrhunskih gaming stolnih računala do pametnih telefona. Njegova agnostička i široko rasprostranjena priroda jedno je od najjačih prodajnih mjesta, ali jedno područje na kojem mogu pasti su performanse. Općenito, Java programi neće se izvoditi kao domaći programi napisani za određeni OS. Međutim, zahvaljujući projektu Sumatra taj jaz u izvedbi uskoro može postati manji problem.

Projekt koji podržava OpenJDK trenutno radi na iskorištavanju paralelne procesorske snage integriranih i diskretnih grafičkih kartica kako bi ubrzao Java programe. GPU ubrzanje nije novi koncept, ali ovaj je projekt zanimljiv zbog načina na koji radi i budućih implikacija istraživanja.

Prvi put objavljen u kolovozu, Project Sumatra koristi značajke i knjižnice Java 8's Lambda projekt kao i Oracleov HotSpot za Java virtualni stroj. (Lambda je skup izraza za programski jezik Java koji je namijenjen poboljšanju višejezgrene podrške.)



Da bi iskoristili prednost ubrzanja GPU-a, programeri softvera morat će označiti svoj kod kako bi naznačili koji su lambda izrazi prilagođeni paralelnoj prirodi GPU-a. Zatim, kada pokrenete Java aplikaciju na sustavu s instaliranim GPC-om kompatibilnim s OpenCL-om, sastavljač HotSpot JIT (upravo u vrijeme) prevest će označene bitove koda u OpenCL za obradu na GPU-u, a ne na CPU-u. Ovo je zanimljiva metoda jer će trebati relativno jednostavna ažuriranja aplikacija kako bi se iskoristilo hardversko ubrzanje GPU-a i bit će nevidljiva za krajnjeg korisnika. Doduše, neće svaka aplikacija zabilježiti ogroman porast performansi - ako se uopće može paralelizirati - ali mnogi će moći donekle imati koristi od iskorištavanja GPU-a.

JDK8Programeri koji stoje iza projekta Sumatra trenutno su usredotočeni na razvoj OpenCL podrške s Java 8 tehnologijama, ali očekuju da će razvojna istraživanja utjecati na ubrzanje hardvera GPU-a s drugim jezicima hostiranim na JVM-u, poput JRuby i Scala.

Ovdje je potencijal impresivan, posebno s obzirom na širenje GPU-ova koji mogu pokretati OpenCL kôd - broj koji bi trebao i dalje rasti. AMD i Nvidia imaju flotu diskretnih kartica, AMD i Intel imaju grafičke jezgre integrirane u procesore, a budući ARM SoC-ovi također mogu podržavati tu tehnologiju. Buduće inačice Java koje integriraju tehnologiju trebale bi omogućiti kupcima da svoj hardver koriste na što učinkovitiji način. GPU ubrzanje najviše će imati koristi od poslužitelja temeljenih na AMD APU te mobilnim pametnim telefonima i tabletima. AMD i HSA Foundation imaju slične ciljeve i imaju ih pokazao povećane performanse iskorištavanjem snage GPU-a za paralelne zadatke. Projekt Sumatra dodatno olakšava programerima i krajnjim korisnicima programa napisanih na Javi da shvate te potencijalne poboljšanja performansi.

Oracleov potpredsjednik za razvoj softvera za Java Platform Group, Georges Saab, izjavio je da „Očekujemo da će naš rad s AMD-om i ostalim OpenJDK sudionicima u projektu„ Sumatra “na kraju pomoći pružiti programerima Java mogućnost da brzo iskoriste GPU ubrzanje za bolje izvođenje.'

Na mobilnoj strani imamo procesore za tablete poput AMD-ovog Z-60 APU-a i nadolazeće SoC-ove za Valley View, koji bi imali koristi od Java ubrzane GPU-om tako što bi mogli brže obrađivati ​​podatke i vraćati se u stanje mirovanja manje snage radi uštede baterije. I, naravno, korisničko iskustvo trebalo bi se poboljšati bržim pokretanjem aplikacija.

Vjerojatno će proći još barem godinu dana prije nego što se ubrzanje GPU-a upeče u službeno Java Runtime Environment, ali s projektom Sumatra na dobrom smo putu da ubrzamo Javu!

Da biste bili u toku ili se spetljali, pritisnite web mjestu Project Sumatra ili se pridružite sumatra-dev mailing lista.

Copyright © Sva Prava Pridržana | 2007es.com