QuTech-Delft / OpenQL

OpenQL: A Portable Quantum Programming Framework for Quantum Accelerators. https://dl.acm.org/doi/10.1145/3474222
https://openql.readthedocs.io
Other
97 stars 44 forks source link

Upgrade mapper/router to new IR #467

Closed pablolh closed 1 year ago

pablolh commented 1 year ago

A long journey through the mapper

Note: the code is still quite untested. I've done my best to check that the program works as expected, but given the number of options and complexity of the code, only proper unit testing for each part and class (e.g. AlterTest, PastTest) can give a good guarantee of functionality. This would take quite some time to implement.

I have updated the docs to signal when an option is only valid when using the minextend/minextendrc route heuristics.

pablolh commented 1 year ago

There is a new test map_test.cc that is not really a unit test but gives some guarantee as to preservation of the semantics of the circuit. It's quite basic though. There is potentially more work to do on this mapper/router but let's not spend too much time on this since there are more urgent matters. namely removing the old IR

My work ethics tell me to signal that the decomposition to primitives is quite untested since I haven't set mapdecompositionrulepattern in any test (so the old tests now don't make use of the finer-grained scheduling obtained by decomposing to primitives) and I haven't updated the cclight platform configurations to use new-style decompositions.

See also #482

jvansomeren commented 1 year ago

We first have to filter the issues out of these conversations before closing this pull request, since they are lost otherwise. I started by creating the issues. Still must fill them with the applicable conversations above and then resolve those latter.

pablolh commented 1 year ago

New change is coming up soon