Skip to content

Waveforms are not deduplicated in qblox resulting in hitting memory limit #1376

@RoyStegeman

Description

@RoyStegeman

When running a randomised benchmarking using the qblox backend I ran into this assert not being satisfied

assert sum(len(w.data) for w in waveforms) <= WAVEFORM_MEMORY

Since a randomised benchmarking only requires native clifford gates and sampling can be done from those, there is no need to send many waveforms and thus no need to be anywhere close to the memory limit.

Inspection shows that duplicate waveforms are being passed so this should be deduplicated

ipdb> (waveforms[0].data==waveforms[2].data).all()
np.True_
ipdb> ll
     59 def assert_waveform_memory(waveforms: list[Waveform]) -> None:
     60     """Assert waveform memory limitations."""
     61     assert len(waveforms) <= WAVEFORM_NUMBER
     62     import ipdb; ipdb.set_trace()
---> 63     assert sum(len(w.data) for w in waveforms) <= WAVEFORM_MEMORY
     64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions