Aparapi: An Open Source tool for extending the Java promise of ‘Write Once Run Anywhere’ to include the GPU

Java & JVM
Location: Portland 255 Level: Intermediate

This presentation shows how Aparapi, can extend Java’s promise of ‘Write Once, Run Anywhere’ to include GPU devices.

Existing Java OpenCL bindings require developers to code their data parallel algorithms in OpenCL and write Java host code to explicitly manage buffer transfers and execution requests. In contrast, Aparapi allows developers to code entirely in Java (via a data parallel API) and at runtime is capable of converting Java bytecode to OpenCL so that it can be executed on the GPU. If OpenCL is unavailable, Aparapi will fall back to executing using a Java thread pool.
We will contrast Aparapi with other OpenCL Java bindings, describe how it works, and walk through some real world examples. We will also highlight lessons learned whilst converting Aparapi from an internal closed-source proof of concept, to a fully fledged open source project.

Gary Frost


Gary Frost is a Software Engineer and Principal Member of the Technical Staff at AMD, Austin, TX.
He has been part of the Java Labs team for 5 years and has been working on various JVM performance analysis,
optimizations and tools. Recently Gary’s focus has been on enabling Java access to GPU/APU devices. Gary has
previously delivered technical presentations at both JavaOne and Eclipsecon.


For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or scordesse@oreilly.com.

View a complete list of OSCON contacts