From 80818bfc5d496b675c3bc821339ca204ba9e54ce Mon Sep 17 00:00:00 2001 From: rudy Date: Tue, 15 Nov 2022 12:13:08 +0100 Subject: [PATCH] feat: use optimized private packing keyswitch --- compiler/concrete-optimizer | 2 +- compiler/lib/Support/V0Parameters.cpp | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/compiler/concrete-optimizer b/compiler/concrete-optimizer index d0654c0fa..b49a0b371 160000 --- a/compiler/concrete-optimizer +++ b/compiler/concrete-optimizer @@ -1 +1 @@ -Subproject commit d0654c0fa7a0ba1bcb74e3683c9a01194d7db328 +Subproject commit b49a0b3718050ef7f7088ac406ac0e57d73c74ce diff --git a/compiler/lib/Support/V0Parameters.cpp b/compiler/lib/Support/V0Parameters.cpp index 44452630f..d5118adde 100644 --- a/compiler/lib/Support/V0Parameters.cpp +++ b/compiler/lib/Support/V0Parameters.cpp @@ -144,7 +144,9 @@ static void display(optimizer::Description &descr, << " wopPbs : " << (sol.use_wop_pbs ? "true" : "false") << "\n"; if (sol.use_wop_pbs) { o() << " |cb_decomp l,b=" << sol.cb_decomposition_level_count << "," - << sol.cb_decomposition_base_log << "\n"; + << sol.cb_decomposition_base_log << "\n" + << " |pp_decomp l,b=" << sol.pp_decomposition_level_count << "," + << sol.pp_decomposition_base_log << "\n"; } o() << "---\n"; @@ -236,16 +238,12 @@ llvm::Expected getParameter(optimizer::Description &descr, } lParams.wopPBS.circuitBootstrap.baseLog = sol.cb_decomposition_base_log; lParams.wopPBS.circuitBootstrap.level = sol.cb_decomposition_level_count; - // FIXME: For now the packing keyswitch parameter are the same than the - // blind rotate one. But that should be done on the optimizer size and - // moreover this assumption could change. - // TODO - change lParams.wopPBS.packingKeySwitch.inputLweDimension = sol.internal_ks_output_lwe_dimension + 1; lParams.wopPBS.packingKeySwitch.outputPolynomialSize = sol.glwe_polynomial_size; - lParams.wopPBS.packingKeySwitch.level = sol.br_decomposition_level_count; - lParams.wopPBS.packingKeySwitch.baseLog = sol.br_decomposition_base_log; + lParams.wopPBS.packingKeySwitch.level = sol.pp_decomposition_level_count; + lParams.wopPBS.packingKeySwitch.baseLog = sol.pp_decomposition_base_log; params.largeInteger = lParams; }