[Question] Is the Hybrid Schrödinger-Feynman backend the only one that has a multi-processing/multi-threading option? #245
-
mqt.ddsim version1.17.3 OSLinux Mint 21.1 Python versionPython 3.10 C++ compiler11.3.0 Additional environment informationNo response DescriptionWhen using hybrid Schrödinger-Feynman backend ( [Meta Question] Would it be better to ask ddsim-related question via email or by creating a GitHub issue? I may have other ddsim-related questions but I don't know if it's too "spammy" if I create lots of GitHub issues for my questions. But the advantage of using GitHub issues for questions is that the questions (and answers) are publicly document so they might be useful to others and one can always go back to these issues and use them as references. Thank you! Expected behaviorNo response How to Reproduce[Question] Is the Hybrid Schrödinger-Feynman backend the only one that has a multi-processing/multi-threading option? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Hey 👋🏼 Before getting to the technical part: I converted this issue to a GitHub discussion. If you have any questions regarding DDSIM, this is probably the best place to ask since, as you already mentioned, the questions and answers are public and everyone can profit from them. Feel free to open more questions here! As for the technical part: Another example of this kind of parallelization is offered by our stochastic, noise-aware simulator. It is still active research to figure out the best way to enable multithreading for the other simulation techniques. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the quick reply. I'll check the paper "Concurrency in DD-based Quantum Circuit Simulation". For future questions, I'll use the Discussion tab instead of creating a new issue. |
Beta Was this translation helpful? Give feedback.
Hey 👋🏼
Before getting to the technical part: I converted this issue to a GitHub discussion. If you have any questions regarding DDSIM, this is probably the best place to ask since, as you already mentioned, the questions and answers are public and everyone can profit from them. Feel free to open more questions here!
As for the technical part:
Your observation is correct. Out of the Qiskit backends, only the HSF simulator can use multithreading.
All other backends run on a single thread/core. This is mainly due to the underlying decision diagram package (https://github.com/cda-tum/dd_package) not supporting multithreading at the moment.
For some context on why multithreading is hard with d…