You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consult the security policy. If reporting a security vulnerability, do not report the bug using this form. Use the process described in the policy to report the issue.
Make sure you've read the documentation. Your issue may be addressed there.
Search the issue tracker to verify that this hasn't already been reported. +1 or comment there if it has.
If possible, make a PR with a failing test to give us a starting point to work on!
Describe the bug
In Python, it is quite common to alias the name of imported libs, e.g., import ... as .... It is common practice even for libraries which don't have big names: import numpy as np. If one tries to alias CUDA-Q import, things break.
This should be possible with a small change. Let me take a stab at it.
I'm don't think it will be a small change. The strings cudaq, numpy, np, qubit and friends are hardcoded in the bridge. In the end this is a symptom in of a deeper issue. Given your example, which I agree it should be supported:
cuda.qubit is not a object the bridge can reason about. Even before that, the bridge won't even try to resolve cudaq.qubit to an object, this is effectively a keyword in the current CUDA-Q. In this case, the bridge sees qb() and it does't know what to do about it. It is likely to be seen as a call to an unknown function.
The correct thing to do here would be something along these lines: resolve qb, seeing that qb = cuda.qubit, then the bridge gets the cudaq.qubit object and in it there should be a way to tell the bridge what to do on a call such as cudaq.qubit().
I got the import cudaq as quda change done with relatively small changes (only tested some simple examples). the qubit as qb is indeed proving to be challenging.
Required prerequisites
Describe the bug
In Python, it is quite common to alias the name of imported libs, e.g.,
import ... as ...
. It is common practice even for libraries which don't have big names:import numpy as np
. If one tries to alias CUDA-Q import, things break.Steps to reproduce the bug
Result:
Expected behavior
Correct execution. Users should be able to alias
cudaq
.Is this a regression? If it is, put the last known working version (or commit) here.
Not a regression
Environment
Suggestions
No response
The text was updated successfully, but these errors were encountered: