Skip to main content

Add your description here

Project description

SuperSpinsim

Documentation - PyPI - Poster

A general, GPU-based simulator, optimised for time-dependent spin systems. We were motivated by the ability to quickly simulate highly time-dependent quantum sensing protocols for the seven-level spin and optical model of the nitrogen-vacancy (NV) colour centre in diamond. However, the dynamics of general atomic and defect systems are able to be simulated as well.

A simulated NV contrast experiment (fully-rendered microwave pulse):

A simulated NV optically-detected magnetic resonance (ODMR) sweep (fully-rendered microwave frequency sweep, and fully simulated optical dynamics):

Project status

SuperSpinsim is a work-in-progress.

The simulator is currently functional. There may still be some edge cases that cause errors; please let us know here if any are found.

There are a few features related to efficient representation of states/processes that we want to add which are not fully-implemented yet:

  • Compressed, equivalence class representations of systems which have subspaces of states unaffected by the equations of motion.
    • Experimental feature; implemented but not fully tested.
  • Efficient calculation of purely unitary dynamics.

We will submit a manuscript for review when the above are implemented.

There are some further features which are thinking about adding, possibly after the manuscript is submitted:

  • Support to split the problem over multiple GPUs, rather than just one.
  • Support for running the algorithm on (SIMD operations on) a CPU.

Installation

SuperSpinsim is built on top of number.cuda, which means it has similar system requirements:

  • An Nvidia GPU capable of cuda.
    • Meaning AMD, Apple, and Intel GPUs are not currently supported.
  • Official Nvidia graphics drivers.
  • The Nvidia cuda toolkit
    • An installer can be downloaded directly, or it can be installed from a package manager like conda or pacman.
  • Python versions 3.11 to 3.13 only.
    • Meaning python version 3.14 is not currently supported.

If all of these are satisfied, then SuperSpinsim can be installed from the Python Package Index (PyPI),

uv add superspinsim       # If using the uv package manager
pip install superspinsim  # If using the pip package manager

From source

SuperSpinsim can be built from source using the uv package manager.

git clone https://github.com/monashNV/superspinsim.git
cd superspinsim
uv build

SuperSpinsim can also be installed into another project without being built using the uv package manager.

mkdir other-project
git clone https://github.com/monashNV/superspinsim.git
cd other-project
uv init
uv add ../superspinsim

Version log

0.2.0

Implementing equivalence classes.

0.1.1

Fixed bug in undefined zfs_generator in generate_generators.

0.1.0

First usable; private.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

superspinsim-0.2.0.tar.gz (39.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

superspinsim-0.2.0-py3-none-any.whl (39.8 kB view details)

Uploaded Python 3

File details

Details for the file superspinsim-0.2.0.tar.gz.

File metadata

  • Download URL: superspinsim-0.2.0.tar.gz
  • Upload date:
  • Size: 39.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for superspinsim-0.2.0.tar.gz
Algorithm Hash digest
SHA256 dce1ecbcc2fef60bf4687aa09e8ab99d664732775d1b0a7c01e70eeb5fb7b6ed
MD5 c9378e72990b28af15ef66c2d30dd1b8
BLAKE2b-256 bc5822a6a8f471b378122badf03c563826a5902fd446ebb58b69f0439f660ab3

See more details on using hashes here.

File details

Details for the file superspinsim-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: superspinsim-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 39.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for superspinsim-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ae10ba675d37cbb8a1c517ae16a8d5bd4ac788b440e83c7478a0e36ac4ccc99
MD5 5dc2e0681ff25339304d5f7f1670020f
BLAKE2b-256 6568b344ada33c20abc5d1e19ed5944b0ed2a81bf8d9e43d10bd0fa5985571e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page