QUFD

Quantum ULB Factory Designer (QUFD) maps a given QASM file to a supplied PMD fabric. The resultant MCL file of the mapped circuit will be generated. This tool designs Ion Trap tiles to be used by Quantum Physical Designer (such as HL-QSPR or Squash). It calculates the physical resource requirements for the mapping process.

Download

You may download QUFD from here or from my github.

Change Log
  • 1.00: Initial release.
Directories & Files Structure

Requirements
  1. Ant 1.7
  2. Oracle Java 7-JDK or higher (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
  3. Gurobi Optimizer 5.6.2 (free for academic use.)
    or
  4. Octave 3.6
    — liboctave-dev
    — octave-common

Note: If you intend to use any version of Gurobi other than 5.6.2, you must replace src/libs/gurobi.jar with the one provided in the version you have (located in the “lib” directory) and recompile the project.

Preinstall

Make sure that all the requirements are already installed. The following environmental variables should be set before the installation/running of the program.

  1. JAVA_HOME should point where java and javac binary files are located.
  2. GUROBI_HOME and GRB_LICENSE_FILE should point to the appropriate location. Please refer to the installation readme of Gurobi. PATH and LD_LIBRARY_PATH should also be updated accordingly.
    or
  3. Octave binary file should be in the system PATH.

Compile

A Makefile takes care of the build process.

  • The following command makes QUFD with Gurobi support:

  • The following command makes QUFD with qpOASES support:

  • The following command cleans the project:

Again, note that if you intend to use any version of Gurobi other than 5.6.2, you must replace src/libs/gurobi.jar with the one provided in the version you have (located in the “lib” directory) and recompile the project.

Run

Run the following command to perform tile design for Ion-Trap PMD.

QUFD options are listed below:

Note: In order to use the free QP solver (qpOASES), the command should be changed as follows:

Examples

Getting the physical resource estimation for the FT-H gate, Ion Trap PMD, and [[7,1,3]] Steane code:

Example Outputs

Content of H.re:

Content of H.mcl (first 40 lines):

Benchmarking Results

The provided tool is fully tested on a server machine with the following specification:

  •  OS: Debian Wheezy (Debian 7) AMD64 edition
  •  CPU: 4 x Intel Xeon Processor E7-8837 (a total of 32 cores)
  •  Memory: 64GB
  •  Storage: 6 x HP 300GB 6G SAS 15K RPM SFF

Example runtime:  less than 1 min

Note: We have tested QUFD in Windows 7 and it worked flawlessly.

Developers

Hadi Goudarzi, Mohammad Javad Dousti, Alireza Shafaei Bejestan, and Massoud Pedram

Questions or Bugs?

You may contact Mohammad Javad Dousti for any questions you may have or bugs that you find.

License

Note: The 3rd-party library files included in src/libs have their own respective licenses.