Jeremy Kun
Jeremy Kun
Currently it only supports scalars, but the `mod_arith.constant` op is elementwise and has uses now that involve dense attributes. Also cf. https://github.com/google/heir/pull/1758 since if/when that lands it will greatly simplify...
Placeholder for https://github.com/google/heir/pull/1552
The layout system supports describing a layout that packs data among multiple ciphertexts (e.g., `(x, y, z) -> (x, F(x, y, z))` would use the first dimension as a ciphertext...
From the meeting notes on parameter selection https://docs.google.com/document/d/1ASmm8UiQisMyk1EQYVMSw--I095nsTswZEPJ6BlcrIQ/edit?usp=sharing The hope is to use these annotations to provide explicit per-SSA value range bounds that we can then use to bound CKKS...
https://eprint.iacr.org/2023/1589 > Paper 2023/1589 > Optimized Homomorphic Evaluation of Boolean Functions > Nicolas Bon, CryptoExperts (France), DIENS, Ecole normale supérieure, PSL University, CNRS, Inria, Paris, France > David Pointcheval, DIENS,...
https://github.com/google/heir/issues/817 gave an initial exploration of the potential for formal verification of HEIR's low-level `mod_arith` canonicalization rules. We'd like to extend this to a more comprehensive and tightly integrated system....
Adding this as a tracking issue because I know @asraa is planning to work on it.
From https://github.com/google/heir/issues/1680, filing this issue to track the individual problems From https://github.com/google/heir/actions/runs/14424519177/job/40451333173 (clang-19 and clang-15 have this issue) ``` bazel-out/k8-fastbuild/bin/lib/Transforms/GenerateParam/_objs/GenerateParam/GenerateParamBFV.pic.o:GenerateParamBFV.cpp:vtable for mlir::heir::NoiseAnalysis:(.data.rel.ro._ZTVN4mlir4heir13NoiseAnalysisINS0_3bfv22NoiseByBoundCoeffModelILb1EEEEE+0x60): error: undefined reference to 'mlir::heir::NoiseAnalysis::visitOperation(mlir::Operation*, llvm::ArrayRef, llvm::ArrayRef)' bazel-out/k8-fastbuild/bin/lib/Transforms/GenerateParam/_objs/GenerateParam/GenerateParamBFV.pic.o:GenerateParamBFV.cpp:vtable...
Adding for TODO in https://github.com/google/heir/pull/1449
`OpenFheUtils::convertType` just emits a 1D tensor, and some of the emitters properly flatten their access indices. It would probably be better to support multi-dimensional tensors properly. https://github.com/google/heir/blob/42eca515f7a77a7b31a7e8ac29c93413504fe227/lib/Target/OpenFhePke/OpenFheUtils.cpp#L95-L101