add quration tutorial docs #533
Conversation
Kazutaka333
left a comment
There was a problem hiding this comment.
Are there sources for what are written in this file? If otherwise, I wonder if a review from Quration developers are necessary.
I feel it would be more natural for this documentation to be added to Quration documentation. Shall we discuss it with Quration developers?
I removed the file from this PR and will create a PR on QunaSys/quration
There was a problem hiding this comment.
(Adding comments on file since it's not possible to add inline comments)
- At the beginning of the tutorial, you mention “the instruction set”, but I think users will not understand what this refers to from that phrase alone. It should be explained more explicitly as "the instruction set of an FTQC architecture (like surface code and lattice surgery)".
- The title “Quration Resource Estimation” is not very informative for people who don't know Quration (they may not be motivated to read the tutorial). I think the title should clearly indicate that the tutorial is about resource estimation for FTQC architectures.
There was a problem hiding this comment.
I added the change thank you!
There was a problem hiding this comment.
# If quri-parts is not installed, install it with the following command:
# %pip install quri-parts
Since quri-parts-qret is an extra dependency you need to run pip install quri-parts[qret].
There was a problem hiding this comment.
modified it accordingly 🫡
There was a problem hiding this comment.
# Build a 2-qubit circuit
# b = SubBuilder(2)
# q0, q1 = b.qubits
# b.add_op(CNOT, (q0, q1))
ctrl = Controlled(X)
sub = resolve_sub(ctrl)
draw(sub)Are these commented lines necessary?
There was a problem hiding this comment.
Sorry it was not. I removed them 🙏
There was a problem hiding this comment.
Resource Estimation with qsub (CNOT) section
No text description is in this section. I think it's better to add some description on what this section is about. (You can refer the main tutorial of qsub)
There was a problem hiding this comment.
added short description and link to main qsub tutorial 🫶
There was a problem hiding this comment.
Temporary setup instructions for quri-parts-qret and quration-cli-bundle
I think this part should be updated (or removed).
There was a problem hiding this comment.
I've removed pip install for qret and temporary branch, and left quration-cli-bundle install instruction
There was a problem hiding this comment.
Defining the Topology
Terms used in the table (data logical qubit cell, ancilla cell, magic factory cell) and those in the diagram (M = magic factory, Q = qubit, . = bus.routing cell) are different, which is a bit confusing.
There was a problem hiding this comment.
The term IR is used several times but there is no definition of it.
There was a problem hiding this comment.
I've add the explanation of IR at section: Compilation to Surface Code / Lattice Surgery Architecture
There was a problem hiding this comment.
"Why it matters" column of key metrics tables: I feel many of them don't add information meaningful to users, so I suggest removing the column. Some useful information there can be merged to "Meaning" column (which I suggest renaming to e.g. "Description").
There was a problem hiding this comment.
removed "Why it matters" column and keep description concise
There was a problem hiding this comment.
The T-gate count is a lower bound on the number of magic states consumed, but the two may not match depending on the Toffoli decomposition method and the
use_magic_state_cultivationsetting.
Is this true (or appropriate)? I think the Toffoli decomposition is handled at the logical circuit level and when you mention T gate count the decomposition is already taken into account.
There was a problem hiding this comment.
removed the explanation
There was a problem hiding this comment.
These are classical feedback operations to correct byproducts (Pauli errors) that arise during logical gate implementation via lattice surgery. ... Measurement feedback is constrained by classical control system latency (
reaction_time) and therefore directly affects runtime.
I don't think this is incorrect but my understanding is the reaction time only affects (logical) non-Clifford operations (which involves lattice surgery operations in the gate teleportation process), not all logical gate operations via lattice surgery.
Note that syndrome measurements (stabilizer measurements for error correction) are not counted here — qret already accounts for them as a fixed one-code-cycle overhead.
This seems somewhat misleading as well. Error correction with stabilizer measurements doesn't need active feedback since it can be classically handled with Pauli frame (as mentioned in the earlier section).
There was a problem hiding this comment.
I've removed those explanation
|
Is the |
|
use |
|
Both notebooks say "auto-generated topology files may have room for optimization" but never say when or how a user would know to change it. Even one example (e.g., "if T-gate count is high relative to qubit count, increase magic_factory_count") would be actionable. |
|
I cannot found referenced file |
I removed it 🙆♂️
I guess a visitor to docusaurus website won't be able to run the code anyway? is your concern for CI?
added "E.g.) Carefully placed magic factory can shorten the delivery of T gate to each qubit."
I added cnot_pipeline.yaml and toplogy_for_cnot.yaml |
1120941 to
d5d7237
Compare
This PR adds quration tutorial to quri-sdk.qunasys.com