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
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.