Skip to content
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

Clarification on QVM capabilities #315

Open
mikeevmm opened this issue Jul 20, 2023 · 0 comments
Open

Clarification on QVM capabilities #315

mikeevmm opened this issue Jul 20, 2023 · 0 comments

Comments

@mikeevmm
Copy link

mikeevmm commented Jul 20, 2023

Hello,

I'm a PhD student writing a short survey on quantum circuit simulators. I want to include the quil qvm in my list, and so I've read up on its documentation and gone through the source code, but am still not clear on a couple of points:

  1. Is multithreading used to speed up the algebra? I see that lparallel is required in qvm.asd, but I see no mention of parallelizing methods in linear-algebra.lisp. Since I'm unfamiliar with lisp, I'm guessing that lparallel may act behind the scenes, but I'm looking for confirmation. Edit: I'd missed the use of lparallel in some of the algebra; see also issues Parallelization limit causes unintuitive timing benchmarks (was: Multi-thread support is unclear) #29 , Determine parallelization limit per machine #30. So the question is, in fact: is parallelization used for anything other than accelerating algebra for matrix-vector products above a certain size?
  2. Am I correct in understanding that the state vector or the density matrix are kept as dense arrays in memory? The abstraction over qams makes it hard to be sure of this. In other words: there's no Feynman-style path summation, correct?
  3. Is there any source of further information on what the JIT compiler does, at a technical level?

Thank you in advance, and I'd be happy to chat via another channel if this is not the right place.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant