Skip to content

A testing ground for quantum computing compilation ideas in xdsl

License

Notifications You must be signed in to change notification settings

quantumsoftwarelab/inconspiquous

 
 

Repository files navigation

inconspiquous

Important

This repository is a mirror of https://github.com/xdslproject/inconspiquous. There is no guarantee this up to date with upstream and issues/pull requests should not be submitted here.

A testing ground for quantum computing compilation ideas in xdsl

Installation

This tool uses uv to build. The tool can be installed by cloning and running:

uv sync

The cli tool can be run by uv run quopt or by entering the generated virtual environment.

source .venv\bin\activate

For tests to work the dev dependencies should be installed:

uv sync --dev

To run tests:

make tests

Usage

Inconspiquous is built on top of xdsl, which is itself based on (and broadly compatible with) the MLIR compiler framework. Tutorials for this framework can be found at these respective projects.

This repository adds extra dialects and transformations for working with quantum programs. The repository is primarily tested using filecheck tests, found in the test directory. These tests also serve as examples of the intermediate representations defined by this tool. The examples can be run using quopt, which can be run via uv run quopt, or by entering the virtual environment created by uv. It is also possible to view transformations using the interactive quopt-gui tool.

Contributing

Contributions should be submitted by github pull requests. Code must be formatted and linted by ruff, typecheckable by pyright, and have accompanying tests. We recommend installing pre-commit (which can be done by make precommit-install) to ensure code remains properly formatted.

Discussion

For any discussion or help, feel free to create a topic/send a message on the xdsl zulip.

About

A testing ground for quantum computing compilation ideas in xdsl

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 72.1%
  • MLIR 26.0%
  • Makefile 1.2%
  • Nix 0.7%