Project Proposal: GPU support

In accordance with the OpenJDK guidelines [1], we would like to start the discussion of a new project to explore implementing GPU support in Java with a native JVM. This project intends to enable Java applications to seamlessly take advantage of a GPU--whether it is a discrete device or integrated with a CPU--with the objective to improve the application performance. This project will demonstrate the performance advantages of offloading Java compute to a GPU. We propose to use the Hotspot JVM, and will concentrate on code generation, garbage collection, and runtimes. Performance will be improved, while preserving compile time, memory consumption and code generation quality. We anticipate that this project will also provide guidance on enabling GPU support for other JVM hosted languages (JavaScript/Nashorn, Scala, JRuby...). We will start exploring leveraging the new Java 8 Lambda language and library features. As this project progress, we may identify challenges with the Java API and constructs which may lead to new language, JVM and library extensions that will need standardization under the JCP process. To ensure the broadest possible collaboration between potential contributors the project will maintain one or more code repositories derived from the OpenJDK HotSpot repository [2] and a developers' mailing list. The HotSpot group[3] will sponsor this project. John Coomes will be the initial Lead; the initial Committers and Authors are still being determined. (Reviewers are not needed as the project will not require formal change review.) Regards, John Coomes, OpenJDK HotSpot Group Lead Gary Frost, AMD [1] http://openjdk.java.net/projects/#new-project [2] http://hg.openjdk.java.net/hsx/hotspot-main/ [3] http://openjdk.java.net/census#hotspot