Docker can be used to run qsim tests in a self-contained environment, regardless of your local operating system.
Build Docker Images
Prior to building with Docker, make sure that your repository is clean and all submodules are up-to-date. The following commands should accomplish this:
make clean
git submodule update --init --recursive
To build qsim and run all the tests:
# docker compose up --build
docker compose
will create the qsim
, qsim-cxx-tests
, and qsim-py-tests
images and automatically run all tests. A successful run should have the
following messages somewhere in the logs:
qsim-cxx-tests exited with code 0
qsim-py-tests exited with code 0
To build without running tests, simply run:
# docker compose build
Run Simulations
Once the qsim
image is created, it can be used to run the qsim_base.x
simulation binary with the following command:
# docker run -ti --rm -v $PWD/circuits:/qsim/circuits:ro \
qsim:latest -c /qsim/circuits/circuit_q24
The flag -v [orig]:[dest]:[attr]
is required to allow access to the host
folders from within the qsim
image. This can be omitted only if the circuit
to be simulated has not been modified since the image was created.
Run C++ Tests
Once the qsim-cxx-tests
image is created, use the following command to run
all C++ tests:
# docker run -ti --rm qsim-cxx-tests
Run Python Tests
Once the qsim-py-tests
image is created, use the following command to run
all Python tests:
# docker run -ti --rm qsim-py-tests