-
Notifications
You must be signed in to change notification settings - Fork 0
Conversation
Codecov Report
@@ Coverage Diff @@
## main #9 +/- ##
=======================================
Coverage 100.0% 100.0%
=======================================
Files 2 12 +10
Lines 12 106 +94
=======================================
+ Hits 12 106 +94
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just had a quick glance through everything here.
I added quite some rather general comments regarding coding best practices and such.
The other half of the comments is topic related. As of now, there is not much here, which makes it kind of hard to judge.
The goal for this PR should be to have a setup that allows to specify Simulation and Verifikation Executors and Tasks. In addition, this should also be tested.
Note, that this only has to be
- a single, basic simulator
- a single verification method
- only the most basic metrics (some general metrics as described in the comments and one special DD metric)
- just simple test circuits. One for simulation and two for verification.
That should suffice to find out whether the general framework works. Based on that:
- Further Simulation Executors will come in 🧪 Gather DDSIM benchmarks #5
- Further Verification Executors will come in 🧪 Gather QCEC benchmarks #6
- More benchmarks will be added as part of 🧪 Gather DDSIM benchmarks #5 and 🧪 Gather QCEC benchmarks #6
- More evaluation metrics will be added as part of ⚗️ Collect Benchmark Metrics #7
Almost everything can be run before pushing:
That leaves only builds on other platforms than your host and the GitHub CodeQL checks which are fine to just run in CI.
I hope this should be answered by the Review comments. Tasks should really only describe ... well... tasks to be passed to a simulator or a verifier.
Also see the comments on
In the sense of the
You should be able to (more-or-less) copy and paste this from the QMAP setup I linked. |
@burgholzer It seems that CLion still does not recognize the two exemplary .cpp files in my test folder ("this file does not belong to any project target..."), despite them being in the CMake file. After some investigation, I think the problem might be that there is something I didn't configure about building the tests. Should I fix it or is it irrelevant for now? |
Have you configured the current CMake target with |
Thanks, it's fixed now. The problem was I wrote |
This means that the adapter functions should be specified in individual subclasses of Executor instead of declared in the headers, is it correct? |
Yeah. I suspect some of these subclasses will be rather small or look similar. But this should allow for some more freedom when it comes to implementing various executors. |
@burgholzer Do you think the code structure as of now makes sense? Please note that the subclasses of |
It's going into the right direction. It's still hard to judge because there are no tests and it isn't implemented end-to-end. |
Understand, I will keep that in mind. |
I understand that feeling. As for more precise deadlines: the earlier this benchmark suite is "ready" or at least set up, the earlier you can work on extracting relevant statistics from the DD Package (which will definitely also require some time). Hope that helps. |
…benchmark-suite-setup
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your work on this. Seems like you are getting more and more familiar with everything. I still believe this needs some major changes before actually being useful. You'll find many suggestions for changes in the comments below. I hope the respective explanations and suggestions are clear enough so that you can work with them.
I have the feeling that this PR should be more or less good to go after all the issues have been addressed.
Most of the feedback is rather straight to the point and should be easy to implement. The most open question probably concerns the tests and how to check the expected behavior. This might involve some creativity from your side.
9f66121
to
a4e752f
Compare
the criterion is just not generalizable in a reasonable way
Also make use of forward declarartions to reduce the number of imports in headers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be good to go 👍🏼
@burgholzer Hi, I added some stuff. Feel free to look and point out anything that's not good. Besides, I have a couple of questions:
nlohmann/json
, and now I want to add QuantumCircuit fromextern/ddsim/extern/qfr/mqt/qfr/qiskit/QuantumCircuit.hpp
for the Task classes. Should I then add the whole mqt module?