- For simulations of quantum circuits with Schrodinger's formulation (unoptimized)
- Uses low precision arithmetic to save memory and bandwidth
- The paper "The limits of quantum circuit simulation with low precision arithmetic" contains the mathematical analysis of the error. Between 16 and 32 bits per coefficient are sufficient for almost any simulation
- Most precise when the states are random and maximally entangled.
https://arxiv.org/abs/2005.13392
A test program is provided. It runs the random circuit test of Table VII. Compile with mpicc as
mpicc -march=native -Ofast test-smallcomplex.c -o test -lmIn a single node computer, run as:
mpirun ./testOn a multinode system run with Slurm
sbatch slurmscript.batchSuggested Slurm script:
#SBATCH –o output-%J.txt
#SBATCH --nodes=8 # 8 nodes (must be a power of 2)
#SBATCH –n 64 # 8 ranks per node (must be a power of 2)
#SBATCH –p normal # what queue
#SBATCH –t 02:00:00
srun ./testThe number of ranks must be a power of two.
If you want to test your own quantum circuits, do not edit the library, but write the quantum program in a separate file containing the function "qcprogram()" as shown in the example.