NOTES.md 1.6 KB

Notes

This document is to keep track of various ideas, plans ect. relating to the development of QCGPU.

Simulators

At a bare minimum, a quantum computer simulator must have the following parts:

  • Ability to create a quantum register with a given numebr of qubits
  • Ability to apply controlled gates, or at minimum the controlled pauli-x gate (CNOT)
  • Ability to apply single qubit gates, which combined with the CNOT form a universal set of gates.
  • Ability to measure single qubits in the register and collapse their state into the measured state.

Other functionality can be added which will make the simulator more useful, which is discussed later

Alternative Simulator Architectures

  • Could try using the Feynmann path integral formulation of quantum mechanics
  • Could use CUDA, Apple's Metal compute and standard Rust

Installing on EC2

To run this on a p3.2xlarge instance, you will need to do the following:

sudo yum update -y
sudo yum install git -y
sudo yum groupinstall -y "Development tools"
sudo yum install -y kernel-devel-`uname -r`
wget https://developer.nvidia.com/compute/cuda/9.1/Prod/local_installers/cuda_9.1.85_387.26_linux
chmod +x cuda_9.1.85_387.26_linux

# MUST RUN MANUALLY ================
./cuda_9.1.85_387.26_linux
#===================================

sudo nvidia-smi -pm 1
sudo nvidia-smi -acp 0
sudo nvidia-smi --auto-boost-permission=0
sudo nvidia-smi -ac 2505,875

curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y

source $HOME/.cargo/env

git clone https://github.com/QCGPU/qcgpu-rust
cd qcgpu-rust