Skip to content

Commit

Permalink
Merge branch 'main' into 45-separate-qasm-benchmark-files
Browse files Browse the repository at this point in the history
  • Loading branch information
jordandsullivan authored Dec 16, 2024
2 parents 24fa29b + d1bf593 commit e3c3be6
Show file tree
Hide file tree
Showing 12 changed files with 161 additions and 40 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/new-transpiler-pass.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: New transpiler pass
about: If you want to propose a new transpilation routine to go in UCC
title: "[NEW PASS]"
labels: feature
labels: feature, transpiler_pass
assignees: ''

---
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/ucc-benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
run-benchmarks:
Expand Down
17 changes: 17 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Changelog
=========

[0.3.0] - YYYY-MM-DD
--------------------

### Added
-

### Fixed
-

### Changed
-

### Removed
-
1 change: 1 addition & 0 deletions VERSION.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.2.0
19 changes: 19 additions & 0 deletions benchmarks/results/gates_2024-12-11.csv
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,22 @@ pytket,prep_select,9744,0.3424699306488037,9712
cirq,qcnn,388,3.7005414962768555,388
cirq,prep_select,9744,74.17708015441895,9712
cirq,qv,15000,236.04137253761292,14856
qiskit,qaoa_barabasi_albert,1176,0.1695573329925537,1176
ucc,qaoa_barabasi_albert,1176,0.685828447341919,1176
pytket,qaoa_barabasi_albert,1176,0.02454519271850586,1176
cirq,qaoa_barabasi_albert,1176,7.372680425643921,1176
qiskit,qft,10050,0.5850367546081543,3244
ucc,qft,10050,2.8806912899017334,2740
pytket,qft,10050,0.3214077949523926,5890
ucc,square_heisenberg,2160,0.3363070487976074,540
qiskit,square_heisenberg,2160,0.33426618576049805,540
pytket,square_heisenberg,2160,0.12855124473571777,2160
cirq,square_heisenberg,2160,9.677702188491821,540
qiskit,prep_select,9744,1.5399131774902344,9708
ucc,prep_select,9744,7.933067321777344,9702
ucc,qcnn,388,0.1685333251953125,388
qiskit,qcnn,388,0.11061787605285645,388
cirq,qft,10050,50.6883282661438,4648
pytket,qcnn,388,0.025346755981445312,388
pytket,prep_select,9744,0.3653693199157715,9712
cirq,qcnn,388,2.385721206665039,388
6 changes: 6 additions & 0 deletions benchmarks/results/gates_2024-12-12.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates
cirq,prep_select,9744,72.80442070960999,9712
ucc,qv,15000,4.721451282501221,14856
qiskit,qv,15000,5.220624923706055,14856
pytket,qv,15000,4.386897802352905,15000
cirq,qv,15000,189.21238803863525,14856
25 changes: 25 additions & 0 deletions benchmarks/results/gates_2024-12-13.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates
qiskit,qaoa_barabasi_albert,1176,0.19210195541381836,1176
ucc,qaoa_barabasi_albert,1176,0.6623470783233643,1176
pytket,qaoa_barabasi_albert,1176,0.020681381225585938,1176
cirq,qaoa_barabasi_albert,1176,7.705238103866577,1176
qiskit,qft,10050,0.5820052623748779,3244
ucc,qft,10050,2.9084737300872803,2740
pytket,qft,10050,0.3468155860900879,5890
ucc,square_heisenberg,2160,0.33513545989990234,540
qiskit,square_heisenberg,2160,0.3893394470214844,540
pytket,square_heisenberg,2160,0.12913274765014648,2160
cirq,square_heisenberg,2160,9.316832780838013,540
qiskit,prep_select,9744,1.648432731628418,9708
ucc,prep_select,9744,7.009110689163208,9702
ucc,qcnn,388,0.17256474494934082,388
qiskit,qcnn,388,0.10382390022277832,388
cirq,qft,10050,51.03375172615051,4648
pytket,qcnn,388,0.0250091552734375,388
pytket,prep_select,9744,0.3211708068847656,9712
cirq,qcnn,388,2.34721040725708,388
cirq,prep_select,9744,73.54203367233276,9712
pytket,qv,15000,4.662341594696045,15000
qiskit,qv,15000,5.305899143218994,14856
ucc,qv,15000,4.7647199630737305,14856
cirq,qv,15000,193.86008620262146,14856
72 changes: 48 additions & 24 deletions benchmarks/results/gates_2024-12-16.csv
Original file line number Diff line number Diff line change
@@ -1,25 +1,49 @@
compiler,circuit_name,raw_multiq_gates,compile_time,compiled_multiq_gates
qiskit,qaoa_barabasi_albert,1176,0.18260502815246582,1176
pytket,qaoa_barabasi_albert,1176,0.022324562072753906,1176
ucc,qaoa_barabasi_albert,1176,0.7321248054504395,1176
cirq,qaoa_barabasi_albert,1176,7.504948854446411,1176
qiskit,qft,10050,0.5772039890289307,3244
ucc,qft,10050,2.8528826236724854,2740
pytket,qft,10050,0.27750396728515625,5890
ucc,square_heisenberg,2160,0.3288688659667969,540
qiskit,square_heisenberg,2160,0.2869715690612793,540
pytket,square_heisenberg,2160,0.12201833724975586,2160
cirq,square_heisenberg,2160,9.324482917785645,540
ucc,prep_select,9744,6.975432395935059,9702
qiskit,prep_select,9744,1.6321191787719727,9708
ucc,qcnn,388,0.1713879108428955,388
qiskit,qcnn,388,0.08201837539672852,388
cirq,qft,10050,50.458903789520264,4648
pytket,qcnn,388,0.03914165496826172,388
pytket,prep_select,9744,0.3006443977355957,9712
cirq,qcnn,388,2.2956674098968506,388
cirq,prep_select,9744,72.23616528511047,9712
pytket,qv,15000,4.486355781555176,15000
ucc,qv,15000,4.734463453292847,14856
qiskit,qv,15000,5.65778374671936,14856
cirq,qv,15000,190.9960744380951,14856
qiskit,qaoa_barabasi_albert,1176,0.172929048538208,1176
ucc,qaoa_barabasi_albert,1176,0.6496548652648926,1176
pytket,qaoa_barabasi_albert,1176,0.026659250259399414,1176
cirq,qaoa_barabasi_albert,1176,7.629104852676392,1176
qiskit,qft,10050,0.5776305198669434,3244
ucc,qft,10050,2.9913699626922607,2740
pytket,qft,10050,0.3402554988861084,5890
ucc,square_heisenberg,2160,0.33558034896850586,540
qiskit,square_heisenberg,2160,0.3129239082336426,540
pytket,square_heisenberg,2160,0.1243584156036377,2160
cirq,square_heisenberg,2160,9.479390382766724,540
qiskit,prep_select,9744,1.4973485469818115,9708
ucc,prep_select,9744,7.07340669631958,9702
ucc,qcnn,388,0.17171573638916016,388
qiskit,qcnn,388,0.10727858543395996,388
cirq,qft,10050,50.487868309020996,4648
pytket,qcnn,388,0.024190902709960938,388
pytket,prep_select,9744,0.3228616714477539,9712
cirq,qcnn,388,2.4818356037139893,388
cirq,prep_select,9744,74.03872561454773,9712
pytket,qv,15000,4.559576034545898,15000
ucc,qv,15000,4.738056898117065,14856
qiskit,qv,15000,5.317723989486694,14856
cirq,qv,15000,186.38663792610168,14856
ucc,qaoa_barabasi_albert,1176,0.6466026306152344,1176
pytket,qaoa_barabasi_albert,1176,0.02384018898010254,1176
qiskit,qaoa_barabasi_albert,1176,0.17044854164123535,1176
cirq,qaoa_barabasi_albert,1176,7.612349510192871,1176
qiskit,qft,10050,0.5786969661712646,3244
ucc,qft,10050,2.9486944675445557,2740
pytket,qft,10050,0.2715871334075928,5890
ucc,square_heisenberg,2160,0.3280293941497803,540
qiskit,square_heisenberg,2160,0.35325193405151367,540
pytket,square_heisenberg,2160,0.19542360305786133,2160
cirq,square_heisenberg,2160,10.833353996276855,540
qiskit,prep_select,9744,1.5344769954681396,9708
ucc,prep_select,9744,6.940417051315308,9702
ucc,qcnn,388,0.1656789779663086,388
qiskit,qcnn,388,0.11114120483398438,388
pytket,qcnn,388,0.024122238159179688,388
cirq,qft,10050,51.793689012527466,4648
pytket,prep_select,9744,0.25701141357421875,9712
cirq,qcnn,388,3.374324083328247,388
ucc,qv,15000,4.737441778182983,14856
cirq,prep_select,9744,89.24731159210205,9712
qiskit,qv,15000,5.160390138626099,14856
pytket,qv,15000,4.397194862365723,15000
cirq,qv,15000,185.35534381866455,14856
12 changes: 2 additions & 10 deletions docs/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,5 @@ This page details the publicly accessible functions available in ``ucc``.
:members:

.. automodule:: ucc.transpiler_passes
:members: BasisTranslator,
CommutativeCancellation,
Collect2qBlocks,
CommutationAnalysis,
ConsolidateBlocks,
UnitarySynthesis,
Collect1qRuns,
Optimize1qGatesDecomposition,
SpectralMapping,
SabreLayout
:members:
:imported-members:
36 changes: 36 additions & 0 deletions docs/source/dev.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Developer Documentation
#######################

This document provides information for developers who want to contribute to the development of `ucc`, as well as for maintainers.

Cutting a release
=================

To release a new version of `ucc` on GitHub, follow the steps below.

1. **Update `VERSION.txt`:**
- Increment the version number according to `semantic versioning <https://semver.org/>`_.

2. **Update the Changelog:**
- Update the ``CHANGELOG.rst`` file with all new changes, improvements, and bug fixes since the previous release.

3. **Commit Changes:**
- Commit the changes to `VERSION.txt` and `CHANGELOG.rst` and open a PR to get the changes reviewed.

4. **Create a New Tag:**
- Once the PR is merged, pull the changes to your local repository.
- Create a new Git tag for the release. The tag name should match the version number (e.g., ``v1.1.0``).

.. code-block:: bash
git tag v1.1.0
git push origin v1.1.0
5. **Draft a New Release on GitHub:**
- Navigate to https://github.com/unitaryfund/ucc/releases to create a new release.
- Select the newly created tag.
- Fill in the release title and description, and copy the changelog entry for the description.
- Publish the release.

.. note::
Ensure that all changes pass the tests, and the documentation builds correctly before creating a release.
1 change: 1 addition & 0 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ To install ``ucc`` run ::

API-doc <api.rst>
User Guide <user_guide.rst>
Developer Documentation <dev.rst>



Expand Down
7 changes: 5 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,16 @@
with open("README.md", "r") as fh:
long_description = fh.read()

with open("VERSION.txt", "r") as f:
__version__ = f.read().strip()

# Read the requirements from the requirements.txt file
with open("requirements.txt", "r") as req_file:
requirements = req_file.read().splitlines()

setup(
name="ucc", # Package name
version="0.1.1",
name="ucc",
version=__version__,
author="Jordan Sullivan",
author_email="[email protected]",
description="Unitary Compiler Collection: A quantum circuit interface and compiler for multiple quantum frameworks",
Expand Down

0 comments on commit e3c3be6

Please sign in to comment.