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...
Main Authors: | , , , , , , , , |
---|---|
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 |