oqd-compiler-infrastructure


Nameoqd-compiler-infrastructure JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryNone
upload_time2024-11-12 18:35:19
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseApache 2.0
keywords quantum computing compiler transpilation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ![Open Quantum Design](https://raw.githubusercontent.com/OpenQuantumDesign/oqd-compiler-infrastructure/main/docs/img/oqd-logo-text.png)

<h2 align="center">
    Open Quantum Design: Compiler Infrastructure
</h2>

[![doc](https://img.shields.io/badge/documentation-lightblue)](https://docs.openquantumdesign.org/open-quantum-design-compiler-infrastructure)
[![PyPI Version](https://img.shields.io/pypi/v/oqd-compiler-infrastructure)](https://pypi.org/project/oqd-compiler-infrastructure)
[![CI](https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure/actions/workflows/pytest.yml/badge.svg)](https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure/actions/workflows/pytest.yml)
![versions](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue)
[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg)](https://opensource.org/licenses/Apache-2.0)



### What's here:
This repository contains the supporting infrastructure, base classes, and abstractions 
for creating custom compiler analysis, verification, and transformation passes.
The modules in the repository are utilized for, e.g., lowering from the analog to atomic
intermediate representations, and the atomic representation to bare metal descriptions of
quantum programs.

## Installation

Install with `pip`:
```bash
pip install oqd-compiler-infrastructure
```

or alternatively from `git`:
```bash
pip install git+https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure.git
```

For development, clone the repository locally:

```bash
git clone https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure.git
```

## Documentation

To deploy the documentation locally, implemented with [mkdocs](https://www.mkdocs.org/), run the following commands:

```bash
pip install .[docs]
mkdocs serve
```

```mermaid
block-beta
   columns 3
   
   block:Interface
       columns 1
       InterfaceTitle("<i><b>Interfaces</b><i/>")
       InterfaceDigital["<b>Digital Interface</b>\nQuantum circuits with discrete gates"] 
       space
       InterfaceAnalog["<b>Analog Interface</b>\n Continuous-time evolution with Hamiltonians"] 
       space
       InterfaceAtomic["<b>Atomic Interface</b>\nLight-matter interactions between lasers and ions"]
       space
    end
    
    block:IR
       columns 1
       IRTitle("<i><b>IRs</b><i/>")
       IRDigital["Quantum circuit IR\nopenQASM, LLVM+QIR"] 
       space
       IRAnalog["openQSIM"]
       space
       IRAtomic["openAPL"]
       space
    end
    
    block:Emulator
       columns 1
       EmulatorsTitle("<i><b>Classical Emulators</b><i/>")
       
       EmulatorDigital["Pennylane, Qiskit"] 
       space
       EmulatorAnalog["QuTiP, QuantumOptics.jl"]
       space
       EmulatorAtomic["TrICal, QuantumIon.jl"]
       space
    end
    
    space
    block:RealTime
       columns 1
       RealTimeTitle("<i><b>Real-Time</b><i/>")
       space
       RTSoftware["ARTIQ, DAX, OQDAX"] 
       space
       RTGateware["Sinara Real-Time Control"]
       space
       RTHardware["Lasers, Modulators, Photodetection, Ion Trap"]
       space
       RTApparatus["Trapped-Ion QPU (<sup>171</sup>Yt<sup>+</sup>, <sup>133</sup>Ba<sup>+</sup>)"]
       space
    end
    space
    
   InterfaceDigital --> IRDigital
   InterfaceAnalog --> IRAnalog
   InterfaceAtomic --> IRAtomic
   
   IRDigital --> IRAnalog
   IRAnalog --> IRAtomic
   
   IRDigital --> EmulatorDigital
   IRAnalog --> EmulatorAnalog
   IRAtomic --> EmulatorAtomic
   
   IRAtomic --> RealTimeTitle
   
   RTSoftware --> RTGateware
   RTGateware --> RTHardware
   RTHardware --> RTApparatus
   
    classDef title fill:#d6d4d4,stroke:#333,color:#333;
    classDef digital fill:#E7E08B,stroke:#333,color:#333;
    classDef analog fill:#E4E9B2,stroke:#333,color:#333;
    classDef atomic fill:#D2E4C4,stroke:#333,color:#333;
    classDef realtime fill:#B5CBB7,stroke:#333,color:#333;

    classDef highlight fill:#f2bbbb,stroke:#333,color:#333,stroke-dasharray: 5 5;
    
    class InterfaceTitle,IRTitle,EmulatorsTitle,RealTimeTitle title
    class InterfaceDigital,IRDigital,EmulatorDigital digital
    class InterfaceAnalog,IRAnalog,EmulatorAnalog analog
    class InterfaceAtomic,IRAtomic,EmulatorAtomic atomic
    class RTSoftware,RTGateware,RTHardware,RTApparatus realtime
   
```
The lowering and compilation passes, used in the vertical lines connecting
abstraction layers, are based on the compiler infrastructure components contained 
in this repository.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "oqd-compiler-infrastructure",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "quantum, computing, compiler, transpilation",
    "author": null,
    "author_email": null,
    "download_url": null,
    "platform": null,
    "description": "# ![Open Quantum Design](https://raw.githubusercontent.com/OpenQuantumDesign/oqd-compiler-infrastructure/main/docs/img/oqd-logo-text.png)\n\n<h2 align=\"center\">\n    Open Quantum Design: Compiler Infrastructure\n</h2>\n\n[![doc](https://img.shields.io/badge/documentation-lightblue)](https://docs.openquantumdesign.org/open-quantum-design-compiler-infrastructure)\n[![PyPI Version](https://img.shields.io/pypi/v/oqd-compiler-infrastructure)](https://pypi.org/project/oqd-compiler-infrastructure)\n[![CI](https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure/actions/workflows/pytest.yml/badge.svg)](https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure/actions/workflows/pytest.yml)\n![versions](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue)\n[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-brightgreen.svg)](https://opensource.org/licenses/Apache-2.0)\n\n\n\n### What's here:\nThis repository contains the supporting infrastructure, base classes, and abstractions \nfor creating custom compiler analysis, verification, and transformation passes.\nThe modules in the repository are utilized for, e.g., lowering from the analog to atomic\nintermediate representations, and the atomic representation to bare metal descriptions of\nquantum programs.\n\n## Installation\n\nInstall with `pip`:\n```bash\npip install oqd-compiler-infrastructure\n```\n\nor alternatively from `git`:\n```bash\npip install git+https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure.git\n```\n\nFor development, clone the repository locally:\n\n```bash\ngit clone https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure.git\n```\n\n## Documentation\n\nTo deploy the documentation locally, implemented with [mkdocs](https://www.mkdocs.org/), run the following commands:\n\n```bash\npip install .[docs]\nmkdocs serve\n```\n\n```mermaid\nblock-beta\n   columns 3\n   \n   block:Interface\n       columns 1\n       InterfaceTitle(\"<i><b>Interfaces</b><i/>\")\n       InterfaceDigital[\"<b>Digital Interface</b>\\nQuantum circuits with discrete gates\"] \n       space\n       InterfaceAnalog[\"<b>Analog Interface</b>\\n Continuous-time evolution with Hamiltonians\"] \n       space\n       InterfaceAtomic[\"<b>Atomic Interface</b>\\nLight-matter interactions between lasers and ions\"]\n       space\n    end\n    \n    block:IR\n       columns 1\n       IRTitle(\"<i><b>IRs</b><i/>\")\n       IRDigital[\"Quantum circuit IR\\nopenQASM, LLVM+QIR\"] \n       space\n       IRAnalog[\"openQSIM\"]\n       space\n       IRAtomic[\"openAPL\"]\n       space\n    end\n    \n    block:Emulator\n       columns 1\n       EmulatorsTitle(\"<i><b>Classical Emulators</b><i/>\")\n       \n       EmulatorDigital[\"Pennylane, Qiskit\"] \n       space\n       EmulatorAnalog[\"QuTiP, QuantumOptics.jl\"]\n       space\n       EmulatorAtomic[\"TrICal, QuantumIon.jl\"]\n       space\n    end\n    \n    space\n    block:RealTime\n       columns 1\n       RealTimeTitle(\"<i><b>Real-Time</b><i/>\")\n       space\n       RTSoftware[\"ARTIQ, DAX, OQDAX\"] \n       space\n       RTGateware[\"Sinara Real-Time Control\"]\n       space\n       RTHardware[\"Lasers, Modulators, Photodetection, Ion Trap\"]\n       space\n       RTApparatus[\"Trapped-Ion QPU (<sup>171</sup>Yt<sup>+</sup>, <sup>133</sup>Ba<sup>+</sup>)\"]\n       space\n    end\n    space\n    \n   InterfaceDigital --> IRDigital\n   InterfaceAnalog --> IRAnalog\n   InterfaceAtomic --> IRAtomic\n   \n   IRDigital --> IRAnalog\n   IRAnalog --> IRAtomic\n   \n   IRDigital --> EmulatorDigital\n   IRAnalog --> EmulatorAnalog\n   IRAtomic --> EmulatorAtomic\n   \n   IRAtomic --> RealTimeTitle\n   \n   RTSoftware --> RTGateware\n   RTGateware --> RTHardware\n   RTHardware --> RTApparatus\n   \n    classDef title fill:#d6d4d4,stroke:#333,color:#333;\n    classDef digital fill:#E7E08B,stroke:#333,color:#333;\n    classDef analog fill:#E4E9B2,stroke:#333,color:#333;\n    classDef atomic fill:#D2E4C4,stroke:#333,color:#333;\n    classDef realtime fill:#B5CBB7,stroke:#333,color:#333;\n\n    classDef highlight fill:#f2bbbb,stroke:#333,color:#333,stroke-dasharray: 5 5;\n    \n    class InterfaceTitle,IRTitle,EmulatorsTitle,RealTimeTitle title\n    class InterfaceDigital,IRDigital,EmulatorDigital digital\n    class InterfaceAnalog,IRAnalog,EmulatorAnalog analog\n    class InterfaceAtomic,IRAtomic,EmulatorAtomic atomic\n    class RTSoftware,RTGateware,RTHardware,RTApparatus realtime\n   \n```\nThe lowering and compilation passes, used in the vertical lines connecting\nabstraction layers, are based on the compiler infrastructure components contained \nin this repository.\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": null,
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure",
        "Issues": "https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure/issues",
        "Repository": "https://github.com/OpenQuantumDesign/oqd-compiler-infrastructure.git"
    },
    "split_keywords": [
        "quantum",
        " computing",
        " compiler",
        " transpilation"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3cda4074a6de600dffc70dac471035725853e455e89e0390acdf7800ac96afcd",
                "md5": "ae42350c425ec3329c5220ba8595fb88",
                "sha256": "8b4a159f955857cebb76571fa33acf129b6edf698774aeedfb5296555aef84c0"
            },
            "downloads": -1,
            "filename": "oqd_compiler_infrastructure-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ae42350c425ec3329c5220ba8595fb88",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 14702,
            "upload_time": "2024-11-12T18:35:19",
            "upload_time_iso_8601": "2024-11-12T18:35:19.626902Z",
            "url": "https://files.pythonhosted.org/packages/3c/da/4074a6de600dffc70dac471035725853e455e89e0390acdf7800ac96afcd/oqd_compiler_infrastructure-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-12 18:35:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "OpenQuantumDesign",
    "github_project": "oqd-compiler-infrastructure",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "oqd-compiler-infrastructure"
}
        
Elapsed time: 0.35121s