GPU For Java
Written by Kay Ewbank   
Thursday, 26 September 2013

GPU acceleration is coming to Java, according to speakers at the annual JavaOne conference.

The news of support for GPU accelerators in Java came from two sources - IBM’s Chief Technology Officer of Java, John Duimovich and Mark Reinhold, Oracle’s Chief Architect, the Java Platform Group.

 

 

In his keynote address, shown in the video, John Duimovich made the announcement that GPU acceleration is coming to the Java platform, and that the incredible computing power of GPUs will speed up both client and server systems.

He pointed out that GPU accelerators "pack incredible compute power", and that making use of their 10 times speedups for Java workloads can accelerate complex computations that process lots of data.

In the keynote Duimovich showed the effect of GPU acceleration on sorting standard Java arrays, with the time for a sort running from two times faster to 48 times faster depending on the array length.

 gpueffect

 

In a report of Duimovich's keynote, Sumit Gupta of NVidia said that the benefits are possible in Java JDK 8 by taking advantage of existing CUDA libraries to accelerate the Java libraries for parallel operations. CUDA is a parallel programming platform and programming model that has been implemented in C, C++, Fortran, and Python.

According to Duimovich, IBM will enable IBM runtimes for server-based GPU accelerators and explore acceleration in ordinary workloads under existing APIs.

In his Technical Keynote at JavaOne, Mark Reinhold, gave some details of what Java SE9 might hold. Here again GPUs were mentioned. Reinhold said that as GPUs are increasingly used to process big data it would be good to make Java work directly with the GPU rather than having to call out to some primitive interface. An OpenJDK called Sumatra has people working on this.

 

  

Other things for the future, according to Reinhold, include of the need for reification and eliminating the “annoying dichotomy between primitive and reference types” would be of value. This would provide an alternative to the way Java’s generics are currently based on the notion of erasure to provide migration compatibility, but that this limits what can be expressed in the types.

Reinhold also brought up JNI (Java Native Interface) 2.0 and said:

“It just shouldn’t be so hard to integrate Java with native code after all these years.”

Memory efficient data structures that make it possible to load more data into memory were another area for potential improvement, with Reinhold saying that “all this boxing and pointer chasing makes it hard to do big data well. We could have less boxing and pointer chasing and load a lot more data into memory.”

The final forward looking thought was that of a truly modular platform:

“The compact profile in Java 8 is a start but it is not flexible enough. We need to continue to unify the Java SE and Java ME platforms.”

 javaone

More Information

JavaOne Keynotes

Related Articles

 LibreOffice Calc To Get GPU support 

NAG Routines for Supercomputers 

Jigsaw Shelved Until Java 9

100 x Faster Queries Promises Oracle

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

raspberry pi books

 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Apache Lucene Adds Similarity Vector Searches
27/02/2024

Apache Lucene 9.10 has been released with support for similarity-based vector searches. Other improvements include block join compatible index sorting, and several improvements to ensure the software  [ ... ]



Google Adds Multiple Database Support To Firestore
04/03/2024

Google has announced the general availability of Firestore Multiple Databases, which can be used to manage multiple Firestore databases within a single Google Cloud project.


More News

Last Updated ( Thursday, 26 September 2013 )