isQ: An Integrated Software Stack for Quantum Programming

We introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make programmers write quantum programs as conveniently as possible. In particular, 1) the isQ language and its compiler contain many useful features, including...

Full description

Bibliographic Details
Main Authors: Jingzhe Guo, Huazhe Lou, Jintao Yu, Riling Li, Wang Fang, Junyi Liu, Peixun Long, Shenggang Ying, Mingsheng Ying
Format: Article
Language:English
Published: IEEE 2023-01-01
Series:IEEE Transactions on Quantum Engineering
Subjects:
Online Access:https://ieeexplore.ieee.org/document/10129229/
_version_ 1797322582707404800
author Jingzhe Guo
Huazhe Lou
Jintao Yu
Riling Li
Wang Fang
Junyi Liu
Peixun Long
Shenggang Ying
Mingsheng Ying
author_facet Jingzhe Guo
Huazhe Lou
Jintao Yu
Riling Li
Wang Fang
Junyi Liu
Peixun Long
Shenggang Ying
Mingsheng Ying
author_sort Jingzhe Guo
collection DOAJ
description We introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make programmers write quantum programs as conveniently as possible. In particular, 1) the isQ language and its compiler contain many useful features, including but not limited to classical control flow, such as recursion, decomposition of self-defined unitary gates, and oracle programming and its circuit realization. 2) To make it flexible, an isQ program can be compiled into several different kinds of intermediate representation and assemblies, including QIR, eQASM, OpenQASM 3.0, and QCIS (specially tailored for the superconducting quantum hardware at the University of Science and Technology of China). 3) Besides interfacing isQ with real superconducting hardware, a QIR simulator is also developed for the demonstration and testing of isQ programs. The isQ software stack encompasses abundant compiler optimizations of high-level quantum programs. To realize it, a distinct multilevel intermediate representation (MLIR) dialect name isQ-IR is proposed.
first_indexed 2024-03-08T05:16:23Z
format Article
id doaj.art-bf466ac452184588895d54a28ea6cd57
institution Directory Open Access Journal
issn 2689-1808
language English
last_indexed 2024-03-08T05:16:23Z
publishDate 2023-01-01
publisher IEEE
record_format Article
series IEEE Transactions on Quantum Engineering
spelling doaj.art-bf466ac452184588895d54a28ea6cd572024-02-07T00:01:54ZengIEEEIEEE Transactions on Quantum Engineering2689-18082023-01-01411610.1109/TQE.2023.327586810129229isQ: An Integrated Software Stack for Quantum ProgrammingJingzhe Guo0https://orcid.org/0000-0002-7921-9771Huazhe Lou1Jintao Yu2https://orcid.org/0000-0001-8764-7779Riling Li3https://orcid.org/0000-0002-9545-3779Wang Fang4https://orcid.org/0000-0001-7628-1185Junyi Liu5https://orcid.org/0000-0001-5715-4885Peixun Long6https://orcid.org/0009-0000-9255-9335Shenggang Ying7Mingsheng Ying8https://orcid.org/0000-0003-4847-702XDepartment of Computer Science and Technology, Tsinghua University, Beijing, ChinaArclight Quantum Computing Inc., Beijing, ChinaArclight Quantum Computing Inc., Beijing, ChinaState Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, ChinaState Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, ChinaState Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, ChinaState Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, ChinaState Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, ChinaDepartment of Computer Science and Technology, Tsinghua University, Beijing, ChinaWe introduce isQ, a new software stack for quantum programming in an imperative programming language, also named isQ. The aim of isQ is to make programmers write quantum programs as conveniently as possible. In particular, 1) the isQ language and its compiler contain many useful features, including but not limited to classical control flow, such as recursion, decomposition of self-defined unitary gates, and oracle programming and its circuit realization. 2) To make it flexible, an isQ program can be compiled into several different kinds of intermediate representation and assemblies, including QIR, eQASM, OpenQASM 3.0, and QCIS (specially tailored for the superconducting quantum hardware at the University of Science and Technology of China). 3) Besides interfacing isQ with real superconducting hardware, a QIR simulator is also developed for the demonstration and testing of isQ programs. The isQ software stack encompasses abundant compiler optimizations of high-level quantum programs. To realize it, a distinct multilevel intermediate representation (MLIR) dialect name isQ-IR is proposed.https://ieeexplore.ieee.org/document/10129229/Compilersprogramming languagesquantum computing stacks
spellingShingle Jingzhe Guo
Huazhe Lou
Jintao Yu
Riling Li
Wang Fang
Junyi Liu
Peixun Long
Shenggang Ying
Mingsheng Ying
isQ: An Integrated Software Stack for Quantum Programming
IEEE Transactions on Quantum Engineering
Compilers
programming languages
quantum computing stacks
title isQ: An Integrated Software Stack for Quantum Programming
title_full isQ: An Integrated Software Stack for Quantum Programming
title_fullStr isQ: An Integrated Software Stack for Quantum Programming
title_full_unstemmed isQ: An Integrated Software Stack for Quantum Programming
title_short isQ: An Integrated Software Stack for Quantum Programming
title_sort isq an integrated software stack for quantum programming
topic Compilers
programming languages
quantum computing stacks
url https://ieeexplore.ieee.org/document/10129229/
work_keys_str_mv AT jingzheguo isqanintegratedsoftwarestackforquantumprogramming
AT huazhelou isqanintegratedsoftwarestackforquantumprogramming
AT jintaoyu isqanintegratedsoftwarestackforquantumprogramming
AT rilingli isqanintegratedsoftwarestackforquantumprogramming
AT wangfang isqanintegratedsoftwarestackforquantumprogramming
AT junyiliu isqanintegratedsoftwarestackforquantumprogramming
AT peixunlong isqanintegratedsoftwarestackforquantumprogramming
AT shenggangying isqanintegratedsoftwarestackforquantumprogramming
AT mingshengying isqanintegratedsoftwarestackforquantumprogramming