GPU acceleration to provide tenfold Java performance boost

by Mark Tyson on 24 September 2013, 14:00

Tags: IBM (NYSE:IBM), NVIDIA (NASDAQ:NVDA), Oracle (NASDAQ:ORCL)

Quick Link: HEXUS.net/qab3cz

Add to My Vault: x

In a keynote address at the Oracle JavaOne conference IBM's Chief Technology Officer of Java, John Duimovich, said that GPU acceleration is coming to the Java platform. He said how the incredible compute power of GPUs will be of great utility to Java programs which are widespread on the web and the web supporting infrastructure.

Duimovich told JavaOne attendees that IBM is to “enable runtimes for server-based GPU accelerators and explore acceleration in ordinary workloads under existing APIs,” according to a blog post by Nvidia’s Sumit Gupta. The benefits will be especially apparent where Java programs are used to process complex computations with large data sets.

As part of the IBM keynote Duimovich showed the slide below, illustrating GPU acceleration of standard Java arrays. Depending upon the size of the data set he saw performance improvements between double speed up to 48 X speed. (The chart uses a logarithmic scale).

click to zoom in

The results above were gained in Java JDK 8 by making use of existing Nvidia CUDA libraries. Parallel computations were then speedily chomped through by the Nvidia GPU.

As for the future, Nvidia’s Sumit Gupta is understandable optimistic; “The use cases for GPU-accelerated Java applications are near endless: from high-performance distributed fraud detection and financial analysis, to high-throughput video and image analytics and modern scientific applications,” he said. Gupta also says that Java developers will be able to accelerate and improve existing apps and even create Java apps which were previously not viable.



HEXUS Forums :: 6 Comments

Login with Forum Account

Don't have an account? Register today!
IME you can accelerate a java program 10x by re-writing it in C ;)
Isn't this just taking advantages of the improvements in the JNI? Now you can relatively easily have your VM memory exposed to a C API such as CUDA. AFAIK it isn't really translating java at all, merely thunking primitive types. It would be more impressive if it was doing cross compilation or similar.

TBH the 7 year old ‘Accelerator’ project:
http://research.microsoft.com/en-us/projects/accelerator/
looks more interesting.
Will this work on Minecraft?
DanceswithUnix
IME you can accelerate a java program 10x by re-writing it in C ;)
Oh so true - as a colleague of mine commented - “JAVA, does that stand for Just Always Very Arthritic?”. Waiting for a standalone Java app to get itself together at the moment - hence I've got the time to do a Hexus posting.

Weren't there some companies - and I'm pretty sure IBM were one - who were working on some kind of cross-compiler so you could test or do low impact stuff with the Java VM, and then cross-compile when you needed that last erg of speed?

Also got to wonder how relevant it is these days - other languages such as Python seem to be able to do a lot of what Java was slated for with a lot less fuss. Also don't think that it's particularly relevant to the home user these days - more of a business tech - although there's exceptions like Minecraft and the password manager I use, (and Android's kinda-java Dalvik). But then again, maybe I'm being biased since Oracle is holding the reins.
Wonderful. So now the security holes in Java can be penetrated a tenth of the previous time ;)