Update Q# integration and support
Created by: tnguyen-ornl
Fixed https://github.com/ORNL-QCI/qcor/issues/114 Related to https://github.com/ORNL-QCI/qcor/issues/147
-
Update the reference dockerfile: now based on our qcor deploy image, then install .NET core + Q# SDK.
-
Update the qcor driver script to build Q# using MSBuild: use dotnet to generate boilerplate csproj, execute the Q# build-prep step (and all its dependencies) to get the qsc build recipe for qcor to use.
-
Update QIR runtime: support Ctrl/Adj, fixes various bugs.
-
Extend QASM3 to support extern quantum subroutines.
This is mostly ready for QASM3-Q# interop at the quantum level, pending updates from Q# compiler to support exposing functions with quantum arguments (e.g. Qubits) to external linkage. We can only link QASM3-Q# via classical functions atm.