2 min read

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.

Installation

ClojureCUDA 0.6.0 now has support for the new CUDA 10. To start using it:

  1. Install the CUDA 10 Toolkit
  2. Update your drivers
  3. 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.

ClojureCUDA features

The ClojureCUDA library has features like high performance and optimization for Clojure.

High-performance computing

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.

Reusable

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.

Read next

Clojure 1.10.0-beta1 is out!

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

Data science enthusiast. Cycling, music, food, movies. Likes FPS and strategy games.