GrCUDA: A Polyglot Language Binding for CUDA in GraalVM

  • GraalVM is super exciting. Suddenly the major reason against adopting the JVM for certain use cases has gone away: start-up time. That said, I’ve spent a couple hours trying to get GraalVM to produce a native image of a moderately complex Scala project (20 kloc) I work on in my spare time, and can’t get it to work.

    Would be nice because supposedly not only does GraalVM reduce start-up time but features some highly aggressive optimizations ideal for abstraction heavy code/languages (like scala). Would be nice to use because scala generates garbage like it’s no tomorrow.

  • This is wonderful news for Java Developers, however my main concern is with CUDA being a proprietary technology, only works on NVIDIA GPU's.

  • It's great to have GraalVM CUDA support, but LLVM PTX output of many languages is full of bugs and missing features. I wish NVIDIA would give more support to those integrations that already exist, but experimental for many years now (i.e. Julia, Rust).

  • What if web browsers included graalvm as an alternative to WebAssembly?

  • See also: the Futhark programming language.

  • Why should one use this vs. using C/C++ bindings for CUDA and load them in other languages (if required)?

    I believe it underperforms in comparison with raw C or C++ implementation, just because of the overhead that goes through GraalVM