ClojureCUDA is a CUDA that supports parallel computations on the GPU with CUDA in the Clojure programming language. With this library, you can access high-performance Computing and GPGPU in Clojure.
ClojureCUDA 0.6.0 now has support for the new CUDA 10. To start using it:
- Install the CUDA 10 Toolkit
- Update your drivers
- Update the ClojureCUDA version in project.clj
All the existing code should work without requiring any changes.
CUDA and libraries
CUDA is the most used environment for high-performance computing on NVIDIA GPUs. You can now use CUDA directly from the interactive Clojure REPL without having to wrangle with the C++ toolchain. High-performance libraries like Neanderthal take advantage of ClojureCUDA to deliver speed dynamically to Clojure programs.
With these higher-level libraries, you can perform fast calculations with just a few lines of Clojure. You don’t even have to write the GPU code yourself. But writing the lower level GPU code is also not so difficult in an interactive Clojure environment.
The ClojureCUDA library has features like high performance and optimization for Clojure.
CUDA enables various hardware optimizations on NVIDIA GPUs. Users can access the leading CUDA libraries for numerical computing like cuBLAS, cuFFT, and cuDNN.
Optimized for Clojure
ClojureCUDA is built with a focus on Clojure. The interface and functions fit into a functional style. They are also aligned to number crunching with CUDA.
The library closely follows the CUDA driver API. Users translate examples from best CUDA books easily.
Free and Open Source
It is licensed under the Eclipse Public License (EPL) which is the same license used for Clojure.
ClojureCUDA and other libraries by uncomplicate are open source. You can choose to contribute on GitHub or donate on Patreon.
For more details and code examples, visit the dragan Blog.
Stable release of CUDA 10.0 out, with Turing support, tools and library changes
NVTOP: An htop like monitoring tool for NVIDIA GPUs on Linux