BT

InfoQ Homepage News TornadoVM: Running Java on GPUs and FPGAs with Dr Juan Fumero at QCon London

TornadoVM: Running Java on GPUs and FPGAs with Dr Juan Fumero at QCon London

Bookmarks

Dr Juan Fumero presented at QCon London on TornadoVM, a plug-in to OpenJDK and GraalVM that runs Java on heterogeneous hardware including Graphical Processing Units (GPUs) and Field Programmable Gate Arrays (FPGAs). Demos during the presentation showed code being sped up by hundreds of times when running on a GPU vs a CPU.

GPUs and FPGAs can offer 2-3 orders of magnitude speed improvement for highly parallelisable workload. But those speed improvements have been difficult to obtain as programming requires the use of low level languages such as OpenCL and VHDL. TornadoVM makes acceleration accessible to programmers using Java and Node.js, and annotations are used to mark parallelisable code blocks as a hint to the compiler.

TornadoVM supports multi core CPUs, GPUs from Nvidia, AMD and Intel, and Intel FPGAs. The choice of hardware accelerator is passed to TornadoVM as a parameter, and Dr Fumero demonstrated code running on the CPU, embedded Intel GPU, and Nvidia GPU present on his Mac laptop. TornadoVM also offers live task migration between different hardware types, which was also demonstrated. Tensor Processing Units (TPUs) aren’t yet supported, but Dr Fumero stated that it would be straightforward to add an additional backend to TornadoVM so long as OpenCL support is present. The TornadoVM team is presently working on adding support for Nvdia’s Parallel Thread Execution (PTX).

Dr Fumero and his University of Manchester colleagues don’t yet consider TornadoVM to be production ready, as there’s no organisation to provide support. They do however already have an industry case study of TornadoVM being used by Exus to speed up training for machine learning models working on health care data. Due to limitations in the underlying programming model, TornadoVM doesn’t support objects (except for trivial cases), recursion, dynamic memory allocation or exceptions.

The TornadoVM: Java for GPUs and FPGAs presentation is already available to QCon London attendees, and will be opened up to all InfoQ readers in due course. Dr Fumero has published his slides and demos.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.