24 September 2013 – GPU acceleration is coming to Java.
So said IBM’s Chief Technology Officer of Java, John Duimovich, in a keynote address at the JavaOne conference today.
Duimovich noted that GPU accelerators pack incredible compute power, and leveraging their 10x speedups for Java workloads can accelerate complex computations that process lots of data.
Java and GPUs open up a world of new opportunities for GPU accelerators and Java programmers alike.
Millions of developers rely on the Java programming language for web 2.0, big data analytics and scientific computing. It’s widely used in large-scale distributed frameworks, like Apache Hadoop, due to its ease of programmability, modularity and multiplatform support.
Duimovich showed an example of GPU acceleration of sorting using standard NVIDIA CUDA libraries that are already available:
The speedups are phenomenal — ranging from 2x to 48x faster! And these benefits are possible in Java JDK 8 by taking advantage of existing CUDA libraries to accelerate the Java libraries for parallel operations.
According to Duimovich, IBM will enable IBM runtimes for server-based GPU accelerators and explore acceleration in ordinary workloads under existing APIs.
This will allow millions of Java developers to accelerate a broad range of applications using GPU accelerators — and achieve speedups that will dramatically improve the capabilities of the applications. Plus, the acceleration will fuel a new generation of Java-based enterprise applications that wouldn’t have been possible without GPUs.
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.
Duimovich also referenced OpenPOWER, which is a new ecosystem around the POWER architecture driving innovation to the platform by leveraging the power of open markets and partners like NVIDIA. The Java on GPU development is one in a series of impacts of the OpenPOWER announcement.