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:GPU acceleration coming to Java

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.

Stay tuned to the IBM Java website and the NVIDIA CUDA website for updates.

  • syawal

    this mean CUDA now support OpenCL?

  • Sumit Gupta

    CUDA is a parallel programming platform and programming model that has been implemented into C, C++, Fortran, Python http://blogs.nvidia.com/blog/2012/09/10/what-is-cuda-2/

    This announcement will bring Java to CUDA GPUs

  • http://www.facebook.com/josej.tharayil Jose J Tharayil

    Does tegra support Java acceleration …

  • Yao Hu

    android is basically a java vm, nvidia may introduce a mechanism to invoke cuda call in java code instead of ndk native c code. it won’t make a big difference on android, big data centers will benefit from it, gain official support to combine cuda and java

  • Rex

    Android has nothing in common with Java other than the language. Android bytecode and Java bytecode are not compatible with each other, so it’s a Java VM in the same sense as DosBox or Ruby are Java VMs.
    Speaking as a former IBM Java developer.

  • epsilon epsilon

    JDK 8 is out but in the new features i did not read any support for GPU.