Skip to content

Docker Compose setup to run the PlanQK expert tools such as the NISQ Analayzer.

License

Notifications You must be signed in to change notification settings

PlanQK/expert-platform-docker

 
 

Repository files navigation

NISQ Analyzer

The NISQ Analyzer is a research prototype based on Salm et al.. It automatically analyzes implementations of quantum algorithms. The results indicate if a quantum algorithm can be executed on a Quantum Processing Unit (QPU) or simulator. It also enables the analysis and selection of suitable QPUs based on a specific quantum algorithm implementation. Based on Salm et al., it enables the automated comparison of available quantum compilers to support the selection of the most suitable compiled quantum circuit.

User Guide to Run the NISQ Analyzer on PlanQK Platform Data

This guidance guides you through the QC Atlas UI for applying the NISQ Analyzer on given implementations of the PlanQK Platform for selecting suitable quantum computers.

Getting started using the NISQ Analyzer for the PlanQK Platform

To use the NISQ Analyzer on the PlanQK platform content, currenly only Qiskit-based implementations are supported. Thus the technology field is used to specify the used SDK, i.e., Qiskit, while the version field specifies the programming languages used, e.g., Qiskit or OpenQASM. Please note that currently only the first file on the platform is used by the NISQ Analyzer for analyzing and executing the implementation. A current limitation is that only fixed circuits, i.e., circuits that do not require input parameters, can be executed. The Shor implementation is such an example.

0. Prerequisites

1. Add Qiskit Credentials to docker-compose.override.yml

  1. Copy docker-compose.nisq.analyzer.override.yml file to docker-compose.override.yml.
  2. Insert your Qiskit token at QPROV_IBMQ_TOKEN: 'your-qiskit-token-here' in the new docker-compose.override.yml.

Note: Currently only quantum computers of IBMQ are supported.

2. Run QC Atlas UI and the NISQ Analyzer

Open a console, navigate to the folder of the quantil-docker, and run the following commands:

  1. docker-compose --profile nisqAnalyzer pull
  2. docker-compose build db
  3. docker-compose --profile nisqAnalyzer up

After a few seconds, the ecosystem is up and running and you can access it via the browser on http://localhost:80. The QC Atlas UI is visible.

3. Login to PlanQK Platform

To login in to the platform, click the user button on the top right and insert your PlanQK platform username and password.

platform-login

Now, the list of algorithms available in the platform are displayed.

4. Using the NISQ Analyzer for selecting suitable quantum computers for a specific implementation

  1. Navigate to the desired algorithm and click on it.
  2. In context of the algorithm, click on Implementations and select the given implementation.

implementations

  1. In context of the implementation, click on the NISQ Analyzer tab.

implementation-NISQ-Analyzer

  1. To start the quantum computer selection, click on New Analysis, select the vendor and insert your Qiskit token. You can also enable/disable if simulators should be included. Then, click ok to start the analysis.
  2. Now a new analysis job is created. When the analysis job is finished a Show analysis button occurs on the right side. While waiting, you can browse through the QC Atlas UI.
  3. When clicking on the Show analysis button suitable quantum computers (and simulators) are listed.

analysis-result

  1. You can also execute the implementation on the suitable quantum computers (and simulators) by clicking the Execute button. After clicking, the Show result button occurs which expands the table row and displays status and result of the execution.
  2. When the execution is complete, the result is displayed.

execution-result

5. Stop the environment

  1. To stop the environment go to the console window with the docker-compose running, stop the process (e.g. control+shift+C for Mac).
  2. To remove all volumes run docker-compose down -v.

Acknowledgements

Current development is supported by the Federal Ministry for Economic Affairs and Energy as part of the PlanQK project (01MK20005N) and the DFG’s Excellence Initiative project SimTech (EXC 2075 - 390740016).

Haftungsausschluss

Dies ist ein Forschungsprototyp. Die Haftung für entgangenen Gewinn, Produktionsausfall, Betriebsunterbrechung, entgangene Nutzungen, Verlust von Daten und Informationen, Finanzierungsaufwendungen sowie sonstige Vermögens- und Folgeschäden ist, außer in Fällen von grober Fahrlässigkeit, Vorsatz und Personenschäden, ausgeschlossen.

Disclaimer of Warranty

Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

License

SPDX-License-Identifier: Apache-2.0

About

Docker Compose setup to run the PlanQK expert tools such as the NISQ Analayzer.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 69.5%
  • Dockerfile 30.5%