SnowflurrySDK / Snowflurry.jl

Snowflurry is an open source Julia-based software library for implementing quantum circuits, and then running them on quantum computers and quantum simulators. The project is sponsored by Anyon Systems, Inc. See https://snowflurrySDK.github.io/Snowflurry.jl/dev for the latest documentation.
https://snowflurry.dev
Apache License 2.0
47 stars 6 forks source link

Failed SnowflurryPlots Installation #305

Closed bsiegelwax closed 8 months ago

bsiegelwax commented 10 months ago
import Pkg
Pkg.add(url="https://github.com/SnowflurrySDK/SnowflurryPlots.jl", rev="main")

hangs in qBraid. There are no error messages; the kernel just doesn't stop.

plerouxanyon commented 10 months ago

Good morning,

I don't know anything about the qBraid platform, but it seems to be a thin wrapper around hosting a Jupyter lab.

I tested it on a local Jupyter lab, and Snowflurry and SnowflurryPlots work as expected.

image

They are using a slightly older version of Julia (1.9.1), and I tested it on a fresh Julia 1.9.1 docker container as well, and it also works.

The issue is seems to come from the qBraid platform. The fact that it is not giving you any output in the Pkg.add step is very suspicious. At that point, only Julia package installation code is run. Snowflurry code only starts running when calling using Snowflurry. I recommend contacting the qBraid team regarding qBraid issues.

bsiegelwax commented 10 months ago

Are there any non-local environments that support Snowflurry?

plerouxanyon commented 10 months ago

Hi Brian,

Any environment that properly supports Julia will also support Snowflurry and SnowflurryPlots.

I am not aware of any non-local Julia environments, but this is because I have never needed one and have never looked for one. What is your use case for requiring a non-local environment?

bsiegelwax commented 10 months ago

If you evaluate enough quantum products, they destructively interfere. Julia-based products are less common, but they still find a way.

plerouxanyon commented 10 months ago

If you use separate projects (Julia's take on Python virtual environments), then they should be completely isolated from one another.

Below is an example of how to use a fresh and isolated Julia environment for evaluating Snowflurry.

mkdir snowflurry-evaluation
julia --project=./snowflurry-evaluation

If the above doesn't work, then you have most likely installed conflicting packages in your home Julia project (For me, the home project file is ~/.julia/environments/v1.9/Project.toml). To remove the problematic packages, delete the corresponding line(s) in the home project file and run julia -e 'using Pkg;Pkg.resolve()'.

Please reach out if you need any more help or have questions regarding Snowflurry.

bsiegelwax commented 10 months ago

I appreciate the support, but you'd be amazed at the conflicts that arise: OS-specific dependencies, name-related path conflicts, and more. I'll wait on qBraid's response and try some other hosted environments.

fSosaRey commented 8 months ago

Marking this as "closed", as it is not a Snowflurry-specific issue. Can be re-opened if more questions/problems arise.