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
101 stars 44 forks source link

Compilation-chain modularity #266

Closed MiguelSMoreira closed 3 years ago

MiguelSMoreira commented 4 years ago

It is important that mechanisms are developed to allow greater modularity in the use of OpenQL. Users should be able to specify which compiler passes (scheduler, mapper, optimizers, etc) are used for a specific run, and developers should be able to contribute with additional modules for new functionality. In this way, allowing for a modular compilation chain in OpenQL would support new use cases and easier development of new compiler features.

Documentation on the following subjects would be indispensable for implementation of the suggested features: i) available compilation passes (and respective configuration and functionality) ii) compiler inter-module interfaces (intermediate circuit representations)

The discussions on intermediate representation languages, in issue #255, and on transpilation capabilities, issue #272, are of high relevance in the context of this issue.

MiguelSMoreira commented 3 years ago

Functionally tested in the lab