Skip to content

Conversation

@catornow
Copy link
Contributor

@catornow catornow commented Feb 25, 2022

Summary

This PR implements a new class RestlessEnabledExperiment that allows users to create restless experiments without specifying all needed run options themselves.

Details and comments

For example

amp_exp = FineXAmplitude(...)
# enable a restless measurement setting.
amp_exp.enable_restless(rep_delay=1e-6)

will enable a restless measurement setting for the FineXAmplitude experiment with a repetition delay of 1 us.

Copy link
Contributor

@eggerdj eggerdj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking good. Here is some feedback to improve the code.

Copy link
Contributor

@eggerdj eggerdj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is in good shape. Some things are bit unclear in the restless mock backend regarding the number of qubits that are supported.

catornow and others added 9 commits March 2, 2022 21:20
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Copy link
Contributor

@eggerdj eggerdj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me up to the few minor things I pointed out.

@eggerdj eggerdj requested a review from nkanazawa1989 March 7, 2022 09:54
catornow and others added 6 commits March 7, 2022 11:01
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
@eggerdj eggerdj changed the title [WIP] Restless Experiments Restless Experiments Mar 7, 2022
Copy link
Contributor

@eggerdj eggerdj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking good. @nkanazawa1989 can you also weight in?

Copy link
Collaborator

@nkanazawa1989 nkanazawa1989 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @catornow the design of the restless class looks nice and likely my review comments in another PR are all addressed. I'm satisfied with the overall implementation but I see some tight coupling to a particular service. I think this issue is unavoidable thus we need some validation mechanism to check if backend really supports restless operation.

Copy link
Contributor

@eggerdj eggerdj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! @nkanazawa1989 any other requested changes?

Copy link
Collaborator

@nkanazawa1989 nkanazawa1989 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Please check if this pass is executable and save/loadable with real backend and service before merging.

@eggerdj
Copy link
Contributor

eggerdj commented Mar 11, 2022

This runs fine:
image
Shots on IQX look restless
image

@nkanazawa1989
Copy link
Collaborator

nkanazawa1989 commented Mar 14, 2022

Looks good to go now :)

@eggerdj eggerdj merged commit e127031 into qiskit-community:main Mar 14, 2022
@chriseclectic chriseclectic added the Changelog: New Feature Include in the "Added" section of the changelog label Apr 25, 2022
paco-ri pushed a commit to paco-ri/qiskit-experiments that referenced this pull request Jul 11, 2022
* This PR adds a restless Mixin class that allows experiments to run in the restless operation mode where qubits are not reset between two shots. The mix-in makes it easy for users to enable restless measurements and adds functionality for developers to specify restless data processor.

Co-authored-by: Daniel J. Egger <38065505+eggerdj@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changelog: New Feature Include in the "Added" section of the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants