GTC 2020: Simplifying GPU Access: A Polyglot Binding for GPUs with GraalVM

GTC 2020 S21269
Presenters: Rene Mueller,NVIDIA; Lukas Stadler,Oracle Labs
Abstract
GPU computing accelerates workloads and fuels breakthroughs across industries. There are many GPU-accelerated libraries developers can leverage, but integrating these libraries into existing software stacks can be challenging. Programming GPUs typically requires low-level programming, while high-level scripting languages have become very popular. Accelerated computing solutions are heterogeneous and inherently more complex. We’ll present an open-source prototype called grCUDA that leverages Oracle’s GraalVM and exposes GPUs in polyglot environments. While GraalVM can be regarded as the “one VM to rule them all,” grCUDA is the “one GPU binding to rule them all.” Data is efficiently shared between GPUs and GraalVM languages (R, Python, JavaScript) while GPU kernels can be launched directly from those languages. Precompiled GPU kernels can be used, as well as kernels that are generated at runtime. We’ll also show how to access GPU-accelerated libraries such as RAPIDS cuML.

Watch this session
Join in the conversation below.