Neanderthal and friends support CUDA 9, Java 9, and Clojure 1.9
January 17, 2018
Uncomplicate libraries have just got a nice update and are ready for the latest underlying platform releases: CUDA 9, Java 9, and Clojure 1.9.
Where to get it
I guess it is not difficult to Google it, but here is the Neanderthal homepage. There is ClojureCUDA home page, and other Uncomplicate projects also have their web pages with documentation and tutorials. Make sure to check out the source code repositories of Uncomplicate libraries at GitHub.
ClojureCUDA now supports the latest CUDA 9.1. That should eliminate the trouble of downgrading your CUDA installation to CUDA 8. If you install the latest CUDA toolkit, everything should work smoothly. If you have CUDA 9.0, it will work. I am not sure about CUDA 8 - even that should work, but I haven't bothered to try it, since by now CUDA 9 is what most people install by default.
Of course, CUDA 9 is also suported in Neanderthal.
ClojureCUDA, ClojureCL, and Neanderthal use some JVM internals to manage memory efficiently, which
can clash with Java 9 modules. Fortunately, this has a solution! Include
"--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED" in your JVM options if you use these
libraries with Java 9, and everything will work smoothly, with no code changes required!
Clojure cares a lot about backward compatibility, so this was not an issue. All Uncomplicate libraries work with Clojure 1.9 without change.
There will be even more
I have some tutorial articles on GPU programming with Clojure in my warehouse. Now that I don't have to explain the readers that they have to keep CUDA at the previous version, it seems to be a good moment to begin releasing them :)