Qarray, a GPU accelerated quantum dot array simulator, leveraging parallelised Rust and JAX XLA acceleration
Project description
QArray
Documentation:https://qarray.readthedocs.io/en/latest/introduction.html
QArray harnesses the speed of the systems programming language Rust or the compute power of GPUs using JAX XLA to deliver constant capacitance model charge stability diagrams in seconds or milliseconds. It couples highly optimised and parallelised code with two new algorithms to compute the ground state charge configuration. These algorithms scale better than the traditional brute-force approach and do not require the user to specify the maximum number of charge carriers a priori.
QArray runs on both CPUs and GPUs and is designed to be easy to use and integrate into existing workflows. It was developed on macOS running on Apple Silicon and is continuously tested on Ubuntu-latest, macOS13, macos14, Windows-latest.
Finally, QArray captures physical effects, such as measuring the charge stability diagram with a SET and thermal broadening of charge transitions. The combination of these effects permits the simulation of charge stability diagrams, which are visually similar to those measured experimentally.
Installation
We have tried to precompile the binaries for as many platforms as possible if you are running one of those operating systems, you can install QArray with just pip:
pip install qarray
If you slip through the gaps, then the pip install will try to compile the binaries for you. This might require you to install some additional dependencies. In particular, you might need to have cmake and Rust installed.
Install rust from: https://www.rust-lang.org/tools/install
Install CMake from: https://cmake.org/download/. However, on macOS and Ubuntu, you can install cmake using homebrew and apt, respectively.
Also, setting up JAX on macOS running on M series chips can be a bit finicky. We outline the steps
that worked for us in the macOS installation section below. Alternatively, just spin up
a Github Codespace, then pip install qarray
and
you are done.
For more information on the installation process, see the installation guide. To install directly from the repository use the command below:
pip install git+https://github.com/b-vanstraaten/qarray.git@main
Getting started - double quantum dot example
from qarray import DotArray
Cdd = [
[0., 0.2, 0.05, 0.01],
[0.2, 0., 0.2, 0.05],
[0.05, 0.2, 0.0, 0.2],
[0.01, 0.05, 0.2, 0]
]
Cgd = [
[1., 0, 0, 0],
[0, 1., 0, 0.0],
[0, 0, 1., 0],
[0, 0, 0, 1]
]
# setting up the constant capacitance
model = DotArray(
Cdd=Cdd,
Cgd=Cgd,
)
model.run_gui()
Examples
The examples folder contains a number of examples that demonstrate how to use the package to simulate different quantum dot systems.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file qarray-1.3.5.tar.gz
.
File metadata
- Download URL: qarray-1.3.5.tar.gz
- Upload date:
- Size: 5.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16c4683426ab4674d2f013d3ee75d3e76573e92135029ddfd1a85fa3d80d78b0 |
|
MD5 | 6ac38357ee783e78681aadaddfc522f4 |
|
BLAKE2b-256 | a11d7f35194b761a11baf073649f1e8f63a4cecaaf003fc8d8fbc822b616074f |
File details
Details for the file qarray-1.3.5-py3-none-any.whl
.
File metadata
- Download URL: qarray-1.3.5-py3-none-any.whl
- Upload date:
- Size: 50.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38d21d11971fe638f5f603ab9aff52f066c8e8b4b249e268ecc2892379d9807e |
|
MD5 | f3ac9d88393a43901d919057e343b292 |
|
BLAKE2b-256 | 9612e6227976ac6aa020364e0773c9706312b682d27bca3f092f8a55c541d0bc |