Quick Installation

If you have pip installed, you should be able to install the latest stable release of scikit-cuda by running the following:

pip install scikit-cuda

All dependencies should be automatically downloaded and installed if they are not already on your system.

Obtaining the Latest Software

The latest stable and development versions of scikit-cuda can be downloaded from GitHub

Online documentation is available at

Installation Dependencies

scikit-cuda requires that the following software packages be installed:

Note that both Python and the CUDA Toolkit must be built for the same architecture, i.e., Python compiled for a 32-bit architecture will not find the libraries provided by a 64-bit CUDA installation. CUDA versions from 7.0 onwards are 64-bit.

To run the unit tests, the following packages are also required:

Some of the linear algebra functionality relies on the CULA toolkit; as of 2017, it is available to premium tier users of E.M. Photonics’ HPC site Celerity Tools:

  • CULA R16a or later.

To build the documentation, the following packages are also required:

Platform Support

The software has been developed and tested on Linux; it should also work on other Unix-like platforms supported by the above packages. Parts of the package may work on Windows as well, but remain untested.

Building and Installation

scikit-cuda searches for CUDA libraries in the system library search path when imported. You may have to modify this path (e.g., by adding the path to the CUDA libraries to /etc/ and running ldconfig as root or to the LD_LIBRARY_PATH environmental variable on Linux, or by adding the CUDA library path to the DYLD_LIBRARY_PATH on MacOSX) if the libraries are not being found.

To build and install the toolbox, download and unpack the source release and run:

python install

from within the main directory in the release. To rebuild the documentation, run:

python build_sphinx

Running the Unit Tests

To run all of the package unit tests, download and unpack the package source tarball and run:

python test

from within the main directory in the archive. Tests for individual modules (found in the tests/ subdirectory) can also be run directly.

Getting Started

The functions provided by scikit-cuda are grouped into several submodules in the skcuda namespace package. Sample code demonstrating how to use different parts of the toolbox is located in the demos/ subdirectory of the source release. Many of the high-level functions also contain doctests that describe their usage.