Java could get a boost as a language for HPC programming as a result of work that the HSA Foundation is doing to make it easier for Java developers to program for a variety of processor types, including GPUs, without requiring expertise in traditional parallel programming tools.
The HSA (Heterogeneous System Architecture) Foundation is a group of chip makers, software companies, and others who are working to create an open specification that enables software to be written once, and deployed across any type of device, ranging from clusters and general purpose servers to PCs, gaming consoles, and even mobile devices. The group’s first goal is to lower the barriers of entry into programming for GPUs, but it has wider goals beyond that.
At the Hot Chips symposium at Stanford University on Sunday, HSA Foundation president Phil Rogers said native support for HSA’s specifications will be included in Java 9 in 2015, according to an article in PCWorld.
This will enable parallel algorithms to be executed natively in JVMs by tapping into compatible co-processors or GPUs, providing a big boost in performance without requiring extra layers of code, said Rogers, who is also an Advanced Micro Devices corporate fellow. “Ultimately the parallel acceleration belongs in the Java virtual machine, and hopefully that is where it will reside,” Rogers said, according to the PCWorld article.
There are other projects underway to bring parallel acceleration to Java, including the OpenJDK’s “Project Sumatra.” This project aims to enable Java applications to take advantage of GPUs and accelerated processing units (APUs) using the Java 8 Lambda language and library features. However, this approach will still require an extra layer of code to enable parallel execution; it won’t be native in the JVM, as the HSA Foundation hopes to accomplish.
GPUs are notoriously difficult to write for, and typically require specialist tools, like Nvidia’s CUDA and the Khronos Group’s OpenCL, which Intel has adopted with its Many Integrated Core (MIC) architecture and Xeon Phi co-processors. Incidentally, Nvidia and Intel are not backers of the HSA Foundation, which was founded by its competitors, including AMD, ARM, Qualcomm, Samsung, and Texas Instruments, along with a strong of smaller chip makers.
The HSA Foundation has already issued its first specification, and is working on its full roadmap, which evolves from today’s multi-core era into the “hetergenous systems” era of tomorrow.
“We’ve gone from people writing shaders directly” to using proprietary languages to program GPUs and co-processors, Rogers said at Hot Chips. “But ultimately where the platform is going with HSA is to full programming languages like C++ and Java and many others,” he said, according to an article in The Register.
In addition to improving programmability for GPUs and CPUs, the HSA Foundation has a laundry list of enhancements it would like to enable on a whole host of co-processor types, including APUs, field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), and network processors.