If a QPU backend has similiar capabilities to Cuda Q can it opt-out of some processes/execution/optimizations? #123
Unanswered
chemix-lunacy
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
As the title says really, and I guess it also extends to what precise definition of distributed execution that Cuda Quantum is/will be using. Whether it's a user-focused library that when someone uses a kernal it then deals with distributing those requests amongst available backends with minimal changes to the request QIR; whether it performs heavy transformation of a kernal and splits it into chunks and takes control of what is distributed/classically run and expect the backend is relatively dumb; or somewhere inbetween. (I'm ignoring the concept of distribution at the QPU level, that's something different, just so we're not mixing terms here.)
For example if I'm a backend with runtime/looping capabilities, even trivial code like:
I don't want to be changed or hoisted because it's likely I can do some fun things with it on our machine. In fact I'd also go further and if someones kernal isn't written like that, but it's requested in the API call to run 20 times with different arguments, I'd want it to be transformed into the above and given any variables. I might even want nothing to touch the QIR and it be given to me exactly as the user wrote it, even if you can detect and run trivial optimizations.
A backends' capabilities will change as time goes on, even between versions of the same machine, and you'll run the gamut of capabilities between almost directly run on the QPU with no changes to a fully-featured runtime.
So I guess to restate the original question: if I was such a backend, but still wanted to take advantage of certain aspects of Cuda Quantum, how would I go about it?
I'm happy to PR such a change too if it's not here or I've missed something, but it'll be a while before I get around to it.
Beta Was this translation helpful? Give feedback.
All reactions