Along with quingo compilers, the Quingo runtime system which provides users the capability to program and simulate Quingo programs.
The Quingo installation comprises of two main steps:
Install Quingo runtime system with required simulators using the following command:
pip install -e .# for simulators used:
# The Tequila backend is not yet open source and needs to be installed separately.
git clone https://gitee.com/hpcl_quanta/tequila.git
pip install -e .Upon success, it will automatically install the Quingo runtime system (this package), the SymQC simulator, the PyQCISim simulator and the QuaLeSim simulator.
We can install mlir-based quingo compiler in two ways:
-
Install the mlir-based Quingo compiler using the following command:
python -m quingo.install_quingoc
-
Download mlir-based Quingo compiler
- Windows: unzip .zip file, add directory which contains the quingoc executable file to system environment PATH.
- Linux: as the following sample usage, Quingoc will be installed to user defined directory, then add directory which contains the quingoc executable file to system environment PATH.
quingo-compiler-0.1.4.sh -prefix=/home/user/.local
- Macos: uncompress .dmg file, copy quingoc executable file to user defined directory, then add directory which contains the quingoc executable file to system environment PATH.
A simple example can be found in the directory src/examples. You can simply run the bell_state example by running:
cd src/examples/bell_state
python host.pyIf everything runs correctly, you should see the following output:
sim res: (['Q1', 'Q2'], [[0, 0], [0, 0], [1, 1], [1, 1], [0, 0], [0, 0], [0, 0], [1, 1], [0, 0], [1, 1]])For different simulation backend, please refer to src/examples/sim_backend, which shows the use of SymQC, QuantumSim, and Tequila backend that are currently running stably.
For different simulation modes, please refer to src/examples/sim_exemode, which displays the output of two different simulation results currently available.
class Quingo_task:- 输入:
called_qu_fn:Path,qu文件路径。called_func:str,调用 quingo 函数名。debug_mode(optional):TrueorFalse。qisa(optional): 前端指令集类型。backend(optional): 后端模拟器类型。
- 输入:
function compile():- 输入:
Quingo_task: 待编译 qu 任务params:Quingo_task中调用函数called_func所需参数
- 输出:
qasm_fn:输出对应指令集文件(.qcis / .qi)
- 输入:
function execute():- 输入:
qasm_fn:Path,对应指令集文件(.qcis / .qi)be_type:BackendType,模拟器后端类型exe_config: 执行模式,ExeMode.SimShots、ExeMode.SimFinalResult、ExeMode.SimStateVector
- 输出:
sim_result:具体输出格式详见src/quingo/backend/quingo_result_format_spec.md
- 输入:
At present, Qingguo runtime system has included sample programs such as Bell_state, GHZ, VQE, etc. Details can be found here.