Giter Club home page Giter Club logo

qibolab-benchmarks's Introduction

Benchmarks

This repository contains the code required to reproduce the benchmarks presented in Section IV.A. of the qibolab paper.

Required libraries

Executing the benchmarks on instruments requires installing the qibolab and qibocal libraries, as well as instrument specific dependencies.

The following versions were used to perform the benchmarks presented in the paper:

Library Version
qibolab 0.1.0
qibocal 0.0.3
qblox-instruments 0.9.0
qm-qua 1.1.1
laboneq 2.7.0
qick 0.2.135
qibosoq 0.0.3

Different versions of these libraries may not support the platforms and runcards provided here.

Setup

The platforms directory provides the platform runcards for the different instruments provided, particularly:

  • zurich for Zurich instruments,
  • qm for Quantum Machines,
  • qblox for Qblox instruments,
  • rfsoc for the RFSoC 4x2 controlled using QICK.

Using these platforms in a self-hosted lab that has access to any of these instruments may require changing some of the setup parameters, such as instrument IP addresses.

The runcards directory provides the qibocal runcards for executing the calibration routines that were benchmarked.

Before executing any routines or programs, qibolab should be configured to read the platform runcards from the correct directory. This can be done by setting the following environment variable:

export QIBOLAB_PLATFORMS=./platforms

If this is run from a different location than this README, the directory should be modified accordingly.

Execution

Benchmarks can be executed using the qq command provided by qibocal, for example:

qq auto runcards/routines_benchmarks.yml --no-update

will execute the benchmarks presented in Fig. 6 of the paper.

Note that running the benchmark on different instruments requires changing the platform key in the qibocal runcards to the corresponding platform name.

Data

Succesful execution of the qq command will create a new folder in the current directory. Note that the name of this folder can be controlled with the -o option in qq.

This folder contains the data acquired for each executed routine as well as a meta.json file with metadata related to the execution. Acquisition, fit and total runtimes for each executed routine can be found in meta.json.

qibolab-benchmarks's People

Contributors

stavros11 avatar

Watchers

Stefano Carrazza avatar Rodolfo Carobene avatar

qibolab-benchmarks's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.