QSPR

Quantum Scheduler, Placer, and Router (QSPR) performs the scheduling and placement of quantum instructions, and routing of logical qubits. It finds the latency of a given QASM file when it is mapped to a given quantum circuit fabric.

Download

You may download QSPR from here or from my github.

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

Requirements
  1. Ant 1.7 or higher (http://ant.apache.org) or Eclipse 3.8 or higher (https://www.eclipse.org)
  2. Oracle Java 6-JDK or higher (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
Preinstall

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

  • JAVA_HOME should point where java and javac binary files are located.
Compile

Method 1: Run the following command in the root directory of the project to build QSPR:

This command will clean the built files:

Method 2: You may use Eclipse to import source files as explained next.

  1. Select File->Import.
  2. Select General->Existing Projects into Workspace and choose Next.
  3. In the root directory, point to the location of Java source files.
  4. Select Finish.
  5. Make sure JavaCC plugin is installed in Eclipse.

Note: We have included a pre-built version of QSPR called qspr-prebuilt.jar. It is recommended to use it if you do not want to modify QSPR.

Run

Run the following command to perform the scheduling and placement of quantum logical instructions, and routing of logical qubits.

QSPR options are listed below:

Examples

1- The following command maps circuit 7-1-3.qasm  to the fabric “fabric.ql”. It writes the detailed MCL to a file called “output.txt”. The “baseline” method will be used for placement.

2- The following command maps circuit “5-1-3.qasm” to the fabric “fabric.ql”. It writes the detailed MCL to stdout. The “MVFB” method will be used for placement.

Example Outputs

– Example 1 output:

Content of “output.txt”:

– Example 2 output

Developers

Mohammad Javad Dousti and Massoud Pedram

Questions or Bugs?

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

License