-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
This is a high level roadmap item that captures key areas where we need to improve performance in Cirq to support writing and running larger circuits in Cirq. The four key areas of performance improvements to enable M3 experiments are:
-
Circuit Construction: This was addressed as part of PR5332 and PR5898. Constructing a d25 surface code memory experiment circuit with 625 rounds now takes ~32ms. Further improving this number is always better but we believe this is fast enough to not be a blocking roadmap item.
-
Parameter Resolution: Running circuits for calibrations often require repeatedly executing parameterized circuits with different parameter values. cirq.resolve_parameters is slow #6091 gives a good overview of why
cirq.resolve_parameters
is slow. We should make the necessary changes to address the concerns raised in the issue. -
Circuit Transformations: PR5957 adds performance benchmarks for common circuit transformation primitives in Cirq. We need to make the primitives more performant to bring down the circuit transformations runtime for the (1000 qubit, 100 moments) to run under 100ms.
-
Circuit Serializations: The Json serialization was not designed to be compact or fast. Benchmarks for json serialization, added in PR5957, show that it takes O(seconds) to serialize a (1000 qubit, 100 moment) circuit containing one and two qubit gates. We want this number to be O(milliseconds). To make this happen, see whether:
- We can improve the performance of serialization/deserialization using the existing json serialization data model.
- If not, design a new serialization model with better performance scaling.
Running list of blocking issues which must be addressed to mark this item as completed