quantum icon indicating copy to clipboard operation
quantum copied to clipboard

[Design] Improve proto wire size for serialized circuits

Open MichaelBroughton opened this issue 4 years ago • 0 comments

Thanks to #590 we can now roll our own proto structures + serialization code. We should do some work to try and make our program.proto wire size and serialization code (python and C++) as fast as possible. Anecdotally I can say that in smaller simulation workloads ( < 10 qubits ) The lions share of the time in C++ is actually spent deserializing, this shouldn't be the case.

Some good steps for this project would be to:

  1. Slim down the code in op_serializer.py and other modules as much as possible so that we have the bare minimum needed for our functionality. i.e. we don't allow boolean types in our serialization.

  2. Draft a new proto design spec for program.proto with an eye for fast serialization time and small wire size.

  3. Gradually implement that new spec which would require steady changes in both python and C++ code.

MichaelBroughton avatar Jun 24 '21 00:06 MichaelBroughton