The qsimh applications (e.g., qsimh_base.x, qsimh_amplitudes.x) use a hybrid Schrödinger-Feynman method. The lattice is split into two parts using a cut. The gates on the cut are divided into three segments:
- Prefix gates (
-p): Gates applied before the first checkpoint. There is no summation over these paths. - Root gates (
-r): Gates applied between the first and second checkpoint. - Suffix gates: The remaining gates on the cut (calculated as
Total gates on cut - p - r).
A two-level checkpointing scheme is used to improve performance. The full summation over all paths for the root and suffix gates is performed.
Key Configuration Concepts:
- Lattice Splitting (
-k): Defines how the lattice is split. For optimal performance, split the grid into roughly equal parts with the fewest cuts possible. - Prefix Path (
-w): Specifies the path for the prefix gates (bit-shifted path indices). This is essential for distributed execution. - Suffix Selection: For performance, suffix gates should typically be the gates on the cut with the maximum "time."