Summarizes the main JCuda libraries
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Project structure

JCuda offers Java bindings for CUDA and CUDA-related libraries. The bindings for the individual libraries are contained in the following sub-projects:

  • JCuda -- The main JCuda library, offering access to the CUDA runtime- and driver API. This library (the JAR file) is required for compiling and using all other libraries.
  • JCublas -- Java bindings for CUBLAS
  • JCufft -- Java bindings for CUFFT
  • JCurand -- Java bindings for CURAND
  • JCusparse -- Java bindings for CUSPARSE
  • JCusolver -- Java bindings for CUSOLVER
  • JNvgraph -- Java bindings for nvGRAPH
  • JCudnn -- Java bindings for cuDNN

Each of these projects contains the source code for the native libraries (DLL, SO, or DYLIB) and for the Java libraries (JAR).

Using JCuda

JCuda can be used with Maven, Gradle or by downloading the pre-built libraries. Details are explained here: Using JCuda

Building JCuda

Information about how to build the JCuda libraries from the source code is given here: Building JCuda