quantumlib / Cirq

A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Apache License 2.0
4.23k stars 1.01k forks source link

Engine should using sweepable slices to keep job sizes down #2107

Open dabacon opened 5 years ago

dabacon commented 5 years ago

Follow up after #2106

Engine should take a repetition x parameter sweep size that it wants to break things into, and if the job is bigger than this break the job into multiple jobs of this size (or smaller).

One issue here is how to name these jobs.

MichaelBroughton commented 4 years ago

I can take this on. I'll plan to solve it in two steps:

  1. Add a function to combine two trial results together (provided they have same params and qubits measured).
  2. Add a new class EngineJobBatch which will manage the small enginejobs.

How does that sound ?

balopat commented 3 years ago

@MichaelBroughton are you still interested in this? 1.) still sounds useful 2.) we might be able to get away with just implementing this in the methods of Engine, EngineProgram, adding the extra param max_job_size to it and then handle returning of multiple jobs and the merging of the TrialResults

dstrain115 commented 7 months ago

@wcourtney Did we add a maximum batch size to the client at some point? Do we still need this feature?