Industry consortium HSA Foundation intends to bring native support for parallel acceleration in Java virtual machines, which would make it easier to tap into multiple processors like graphics processors to speed up code execution.
HSA Foundation is in the process of developing an open hardware and software specification which will allow software to be written once andA deployed easily across PCs, servers, gaming consoles and mobile devices.A Right now overlays are needed for Java code to reach a co-processor like a GPU.
Native support for HSA's specifications in JVMs is expected with Java 9 in 2015, and parallel algorithms will beA executed natively in JVMs without extra layers of code. The JVM will recognize HSA specifications, and tap intoA compatible accelerators to speed up program execution, said Phil Rogers, HSA Foundation president and Advanced Micro Devices corporate fellow, in aA presentation at the Hot Chips conference in Stanford, California, on Sunday.
"Ultimately the parallel acceleration belongs in the Java virtual machine, and hopefully that is where it will reside,"A Rogers said.
HSA (Heterogeneous System Architecture) Foundation was founded last year by Advanced Micro Devices, Qualcomm, ARM HoldingsA and other companies. HSA's goal is to create a basic interface around industry-standard parallel programming tools like OpenCL, and to develop tools that are compatible across architectures and operating systems.
Computing devices use different hardware to speed up computing, and HSA's goal is also to harness the joint computing power of all processing resources available for faster and more power-efficient system performance. As an example, HSA specifications enable workloads to be broken up between CPUs and graphics processors for faster and moreA power efficient computing. That could lead to faster performance and longer battery life in mobile devices, and code can beA deployed more cost-efficiently.
Some of the world's fastest computers harness the joint computing power of GPUs and CPUs for complex math calculations,A while mobile devices have multiple processors for graphics and security. Some other types of co-processors include DSPsA (digital signal processors), network processors, FPGAs (field programmable gate arrays) and specialized ASICsA
(application-specific integrated circuits).
AMD and Oracle are sponsoring an OpenJDK project called "Project Sumatra" to bring parallel acceleration to JVMs with JavaA 8, which will be generally available in March next year. Sumatra will repurpose Java 8's multi-core APIs called Stream or Lambda to enable both CPU or GPU computing, but it willA need an extra layer of code for parallel execution.
With Java 9, support for parallel execution on HSA-compatibleA processors will be native, Rogers said in an interview following the presentation. A data-parallel API called APARAPIA already allows Java developers to use the compute power of GPU and CPUs, but code-enablement will get easier in Java 8A and then 9.
Java is widely used in cloud deployments and big data applications. Hardware acceleration of those tasks in a virtualizedA environment without the extra layers of code could be more efficient, Rogers said.
HSA has already released some specifications to unify memory and lower the overhead required in dispatching jobs to hardwareA for execution. The HSA has introduced a new uniform memory architecture called HUMA that makes different memory types in aA system accessible to all processors. Developers have access to a larger pool of shared memory in which code could beA executed.
HSA Foundation members do not include Intel and Nvidia, who offer their own parallel programming tools. But the foundation's goals are loosely tied to AMD's chip strategy in which theA company integrates third-party intellectual property so chips can be customized to customer needs. For example, AMD isA making a customized chip for Sony's upcoming PlayStation 4 gaming console. Sony is also a member of HSA Foundation.
AMD is also expected to release next year laptop and desktop processors code-named Kaveri in which CPUs and graphicsA processors will be able to share memory.