Skip to main content

Quingo Runtime System

Along with quingo compilers, the Quingo runtime system which provides users the capability to program and simulate Quingo programs.

Installation

The Quingo installation comprises of two main steps:

Install the Runtime system and simulator

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.

Install the Quingo compiler

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.

Usage

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.py

If 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.

APIs of the Quingo runtime system

  1. class Quingo_task:
    • 输入:
      • called_qu_fn: Path,qu文件路径。
      • called_func: str,调用 quingo 函数名。
      • debug_mode(optional): True or False。
      • qisa(optional): 前端指令集类型。
      • backend(optional): 后端模拟器类型。
  2. function compile():
    • 输入:
      • Quingo_task: 待编译 qu 任务
      • params: Quingo_task 中调用函数 called_func 所需参数
    • 输出:qasm_fn:输出对应指令集文件(.qcis / .qi)
  3. 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

Quingo programming tutorial

At present, Qingguo runtime system has included sample programs such as Bell_state, GHZ, VQE, etc. Details can be found here.

Metadata

Release files for quingo 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for quingo 0.4.3
File Interpreter ABI Platform
quingo-0.4.3-py3-none-any.whl Python 3 none any Details

Release files / quingo-0.4.3-py3-none-any.whl

Download URL quingo-0.4.3-py3-none-any.whl
Size 53.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e0578ee4f0ab6fc31611c7e4f0cb7c7321e50e6628b923edbe5d42dd3e887067
BLAKE2b-256 checksum
How to use checksums
f2ebfd7cd5c5ec63fb3176077f2e4c9129af62d0a1ba8166cebe4288b0c9b660
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Security for quingo 0.4.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page