heir icon indicating copy to clipboard operation
heir copied to clipboard

A compiler for homomorphic encryption

Results 359 heir issues
Sort by recently updated
recently updated
newest added

Add a `Design` section to the documentation website with the following pages. The purpose of this would be to ramp up someone who already knows a decent amount of MLIR,...

documentation

On the side of gate-bootstrapped CGGI, we had a path where we fully unrolled all loops before running a circuit optimizer, and for large IRs that was infeasibly slow. We...

optimization

From the review on https://github.com/google/heir/pull/471 > In HECO, "left-over" insert/extract ops instead get mapped to the `combine` op which lets you merge two tensors. The `combine` op essentially models the...

enhancement
dialect: tensor_ext
newcomer project

While debugging https://github.com/google/heir/issues/578, it seemed to me that the buggy pattern `AlignRotations_RightAssociated_Inner_#InnerOp#_Outer_#OuterOp` (and its related LeftAssociated version) are not doing anything. It seems like they are no-ops, but we might...

dialect: tensor_ext

Currently it matches against `(OpA (rotate...) (OpB (rotate...) (rotate...)))` and `(OpA (OpB (rotate...) (rotate...)) (rotate...))`, should it also handle `(OpA (OpB (rotate...) (rotate...)) (OpC (rotate...) (rotate...)))`

dialect: tensor_ext

The gx-kernel HECO example ported from https://github.com/google/heir/pull/587 shows a shortcoming of the existing `insert-rotate` pass. Specifically, it anchors on binary operations that consume the result of extracting values from (1D)...

dialect: tensor_ext

See TODO in LWEAttributes.td

good first issue
dialect: lwe

One that showed up while writing https://github.com/google/heir/issues/273 is the parameters for the CGGI gadget, namely the base_log and num_levels parameters that define the gadget decomposition applied during bootstrapping, which impacts...

newcomer project