From 8498e476881ff1867718adc888f6f72d9465383c Mon Sep 17 00:00:00 2001 From: christopherjdean <46673816+christopherjdean@users.noreply.github.com> Date: Mon, 9 Oct 2023 10:48:24 -0300 Subject: [PATCH] Exposed --numlanes and --condensed --- src/pipelines/slicer.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/pipelines/slicer.cpp b/src/pipelines/slicer.cpp index 5325bfb9..e5ddfbdd 100644 --- a/src/pipelines/slicer.cpp +++ b/src/pipelines/slicer.cpp @@ -154,6 +154,15 @@ namespace lsqecc " - edpc: Uses a layout specified in the EDPC paper by Beverland et. al. (https://arxiv.org/abs/2110.11493)" ) .required(false); + parser.add_argument() + .names({"--numlanes"}) + .description("Only compatible with -L edpc. Configures number of free lanes for routing.") + .required(false); + parser.add_argument() + .names({"--condensed"}) + .description("Only compatible with -L edpc. Packs logical qubits more compactly.") + .required(false); + #ifdef USE_GRIDSYNTH parser.add_argument() .names({"--rzprecision"}) @@ -339,7 +348,16 @@ namespace lsqecc } else if (parser.get("layoutgenerator") == "edpc") { - layout = make_edpc_layout(instruction_stream->core_qubits().size(), 1, false, distillation_options); + size_t num_lanes = 1; + bool condensed = false; + + if(parser.exists("numlanes")) + num_lanes = parser.get("numlanes"); + + if(parser.exists("condensed")) + condensed = parser.get("condensed"); + + layout = make_edpc_layout(instruction_stream->core_qubits().size(), num_lanes, condensed, distillation_options); instruction_stream = std::make_unique(std::move(instruction_stream), id_generator, compile_mode == CompilationMode::Local); } else