-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Releasing qsim_mgpu
source on GitHub instead of only binaries the Docker container
#106
Comments
qsim_mgpu
on GitHub instead of only via the Docker containerqsim_mgpu
source on GitHub instead of only binaries the Docker container
@basnijholt can you clarify your needs/requirements surrounding the following statement? The default user within the container is a member of the From the software section of the NGC landing page: Default user environmentThe default user in the container is To acquire new packages, we recommend using CUDA is available under |
Thanks for your reply @mtjrider! The main problem is that I would like to install a fully locked environment from a conda-lock.yml file and this is just not possible. Installing the precise versions of the packages we require, requires surgical interventions like removing all packages except I just tried to download Other reasons why this Docker route is suboptimal:
Finally, another problem is that the Qiskit version that is shipped inside the cuQuantum Appliance 23.10 is broken and does not run noisy simulations correctly. Verify with the following snippet. (Click to expand)import qiskit
import qiskit_aer
# Build circuit
qc = qiskit.QuantumCircuit(1)
qc.x(0)
qc.measure_all()
# Build noise model
noise_model = qiskit_aer.noise.NoiseModel()
noise_model.add_all_qubit_quantum_error(qiskit_aer.noise.depolarizing_error(1.0, 1), ['x'])
# Simulate circuit with noise
sim = qiskit_aer.AerSimulator(method='statevector', device='GPU')
job = sim.run(qc, shots=1024, noise_model=noise_model)
counts = job.result().get_counts()
print(f"Measured counts {counts}.\nExpected result is a roughly even mixture between 0 and 1.") which, in the cuQuantum container, yields
All of the above described issues are easily resolved when just publishing NVIDIA's fork of |
Dear cuQuantum developers,
After long struggles in trying to get
qsim
to compile with multi-GPU support, I found out that one cannot accomplish this using stockqsim
. IMO this wasn't very clear from the documentation.Ultimately, I found out by running the NVIDIA cuQuantum Appliance Docker container and checking the
git diff --no-index
between the originalqsim_simulator.py
and the~/conda/envs/cuquantum-23.10/lib/python3.10/site-packages/qsimcirq/qsim_circuit.py
file in the Docker container.It turns out that this changed version uses a module
qsim_mgpu
which appears to be unavailable outside the said Docker container.Unfortunately, my current software stack cannot integrate Docker containers (we need full control over the entire environment), yet the multi-GPU support offered by
qsim_mgpu
is essential for our work. We would greatly benefit from the ability to compileqsim_mgpu
independently.Could you please consider releasing the modified
qsim
code/fork withqsim_mgpu
for standalone use? This would be immensely beneficial for us and potentially for others in the community facing similar challenges.If there are reasons for keeping this code exclusive to the Docker environment, understanding them could help us explore alternative solutions.
Tagging the core maintainers: @leofang @ahehn-nv @mtjrider @Takuma-Yamaguchi
The text was updated successfully, but these errors were encountered: