Skip to content

Releases: epiqc/ScaffCC

ScaffCC 5.0

Choose a tag to compare

@epiqc epiqc released this 24 Apr 20:17
4d7bfa0

NOTE: module keyword is now scaffold_module.

Features

  • OpenQASM Support: Arraywise and Bitwise Measurement now supported, Conditional Instruction
  • Multidimensional quantum and classical Registers
  • NISQ Benchmarks added with IBMQ Resource Count

Logistics

  • Backend update from LLVM 3.1 to LLVM 10
  • Build system now uses CMake and Ninja rather than Make
  • New Build Script

Bug Fixes

  • Many segmentation faults in passes fixed
  • Reverse Pass now correctly compiles

ScaffCC 4.0

Choose a tag to compare

@singular-value singular-value released this 02 Jul 21:20

Release version -v4.0

  • Added Rx and Ry gates
  • Standardized order of CNOT&Toffoli's arguments to control(s) followed by target
  • Changed default compilation settings so that rotation and Toffoli decomposition are off by default
  • Fixed logical bugs in Ising Model benchmark

ScaffCC 3.1

Choose a tag to compare

@singular-value singular-value released this 06 Feb 19:29

Release version -v3.1

  • Added ability to output OpenQASM (via -b flag for scaffold.sh).
  • Released Braidflash v2.0, with improved simulation of magic state distillation overheads, including different distillation protocols and different factory layouts.
  • Fixed bug in braidflash generating machine-dependent results due to uninitialized variable.
  • Fixed "file not found" bug in some scripts.

ScaffCC 3.0

Choose a tag to compare

@epiqc epiqc released this 06 Aug 16:54

Release version -v3.0-alpha

  • New software package, braidflash, added - in braidflash/ directory (Unix only)
  • New software package, Rotation Generator, added for future support in dynamic rotation generation - in scripts/gen_rotations/ directory
  • New software package, RKQCVerifier, added in scripts/RKQCVerifier/ directory
  • Fixed bugs in the QASM flattening tool chain
  • Added new compilation flag for QASM circuit optimization (Unix only) - "-o"
  • Fixed minor bugs in the SHA-1 algorithm
  • Changes made to gen-lpfs.sh to enable support for braidflash
  • Changes made to installation regression tests to catch flattening bugs

ScaffCC 2.2

Choose a tag to compare

@epiqc epiqc released this 01 Feb 23:27

This release includes two major infrastructure changes: precision control for rotation decompositions and full implementation of the afree() instruction through all of the compilation stages.

Previously the rotation decomposition pass did not allow for rotation precision to be specified, which has now been incorporated into the Rotations.cpp pass in the Transforms directory.

Afree() was implemented previously as a pass-through instruction, and now compilation will preserve the instruction and apply it to all bits contained in a pre-allocated quantum register. Afree now takes two parameters, the first is the base index of a quantum register, and the second is the size of the register to be freed. The instruction flows through to flat QASM as needed.

ScaffCC 2.1

Choose a tag to compare

@epiqc epiqc released this 22 Dec 07:11

Introduced afree() patch. Scaffold programs written with instances of the afree() instruction previously encountered compilation errors when the circuits were executed to output flat QASM code. The patch corrects this case, where now the instruction is removed prior to final circuit generation.

ScaffCC 2.0

Choose a tag to compare

@epiqc epiqc released this 07 Oct 02:52

Scaffold Release v2.0

New features include:
OS X build available on the ScaffCC_OSX branch,
abit data types representing ancilla qubits,
afree() function freeing ancilla qubits,
reverse() function reversing the computation of another function
RKQC implementation inlined into new LLVM ModulePass
support for generation of QX Quantum Computer Simulator input files

All of these changes are written up in the changelog.txt, as well as in the documentation README.md

Beta 2

Choose a tag to compare

@epiqc epiqc released this 21 Aug 00:19
v1.0-beta.2

Small script changes