Installation and building

System requirements

SuperSpinsim is build on top of numba.cuda, which is a python package used to compile python code into LLVM code for Nvidia cuda GPUs. Follow the link to see the system requirements for numba.cuda.

In particular, one must have an Nvidia GPU installed in the device being used, as well as the Nvidia cuda toolkit and official Nvidia graphics drivers.

Right now the package requirements for SuperSpinsim mean that SuperSpinsim can be used only with python versions 3.11 to 3.13. Python version 3.14 is not supported yet, due to the requirements of the numba package.

We have tested SuperSpinsim on various versions of GNU/Linux (Arch, Manjaro and Ubuntu), as well as on Windows 11. It will not work on Mac OS, as modern Mac computers are not compatible with Nvidia GPUs.

Installation

First, make sure you have satisfied the the system requirements (above). Then, to install from PyPI from within a python environment,

uv add superspinsim       # If using uv as a python package manager
pip install superspinsim  # If using pip as a python package manager

Building and installing from source

These are instructions for building the package from source.

Module

The package is built using the uv tool for python package management. See the link for installation instructions.

To build the package with uv, first clone it,

git clone https://github.com/monashNV/superspinsim.git

Then, from the package directory,

uv build

This will build python wheels under the builds directory. These wheels can be installed using using pip install or uv add.

Alternatively, to install SuperSpinsim from source to a project that uses uv as a package manager, use

uv add <SuperSpinsim directory>

to use the package without building it.

Documentation

This documentation is built using the sphinx tool. The easiest way to build the documentation requires the tools make and uv. From the SuperSpinsim source directory,

cd docs
uv run make html