-
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
Can't run pennyLane benchmarks in 23.10 cuQuantum Appliance #130
Comments
Can you clarify your target usage of these tools together in the container? |
Sure. I was using cuquantum-benchmarks to compare different simulator backends. Ideally, I wanted to be able to run commands with these backends which are listed in the supported backends in the main description in https://github.com/NVIDIA/cuQuantum/blob/main/benchmarks/cuquantum_benchmarks/run.py
|
I see. Thanks. The container is built with CUDA 11 on x86-64 architectures. The aarch64 (arm64) container is built with CUDA 12. |
Adding @tlubowe for his awareness. |
Unfortunately not. If I try to run any cuquantum-benchmarks commands on Mac or a Linux laptop I get this error:
Its quite strange because when I run:
I get a message that the requirements are already satisfied. I have only been able to run cuquantum-benchmarks commands on a HPC system with x86 architecture (one sentence in my original message was really unclear about this so I have edited it). |
I realised you could have meant to try and run benchmarks inside a different version of the container. I tried to do the same workflow inside this container:
I can’t build the benchmark suite. When I run.
I get this error:
|
Hi @ashleytsmith why do you need to run the benchmarks for Pennylane in any of the containers? Pennylane is not built in the containers. You should be able to build your own PL environment separate from the containers where you can define what you need. Is this not a viable solution? |
Hi @tlubowe I wanted to run the cuquantum benchmarks suite inside the cuQuantum appliance container because quite a few of the benchmarks in the suite explicitly rely on things that can be tricky to install or are only available inside the container e.g. qsim-mgpu https://github.com/NVIDIA/cuQuantum/blob/main/benchmarks/cuquantum_benchmarks/run.py When one clones the benchmark suite and runs the setup then pennylane is installed inside the conda environment within the container and appears when one does conda list. As I was building docker files for other software anyway I did attempt to build my own container and install your benchmark suite. It did not work, I can’t run anything from the benchmark suite there e.g. I can’t run
(This is the error when I try to run it on a linux HPC cluster)
Here is the dockerfile.
I really would have liked to be able to run the pennylane benchmarks from your suite (also qulacs) but there is a lot more additional effort required compared to the qiskit and cirq ones. |
The issue was also present in the 23.06 container as well.
Example to reproduce error:
Source of error:
Line 46
https://github.com/NVIDIA/cuQuantum/blob/main/benchmarks/cuquantum_benchmarks/backends/backend_pny.py
Full trace:
There is a similar error present when trying to run the kokkos backend as well.
The libraries are present when doing conda list but not when importing in a script (or with interactive Python).
Here is the docker file I used for building the image:
(Also had the same error using docker commit route).
I also tried rebuilding cuquantum-benchmarks to fix the problem. This didn’t help.
Suspected solution:
Maybe the import statements are wrong. From a brief look at the pennyLane documentation I found a different method for importing.
This at least throws me a cuda error:
This is being solved here:
https://discuss.pennylane.ai/t/pennylane-lightning-gpu-0-35-on-cuquantum-appliance-23-10/4393
Related bug:
I also noticed the CPU backend does not work in the 23.10 container either (This ran for me in the 23.06 container):
The text was updated successfully, but these errors were encountered: