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

An emitter for Jaxite. It has the basic functionality to emit jaxite code for add_one circuit with lut3.

In particular, immediate ntt/intt pairs can be elided. Depends on https://github.com/google/heir/issues/182

good first issue
dialect: polynomial

https://synthical.com/article/073e4b99-abf7-41a5-a3a2-d9e2962eedfb CiFlow: Dataflow Analysis and Optimization of Key Switching for Homomorphic Encryption Abstract: Homomorphic encryption (HE) is a privacy-preserving computation technique that enables computation on encrypted data. Today, the potential...

research synthesis

verilog: add memref.load, func.call and arithmetic index ops support to emitter This adds support for function calls in the generic body as separate verilog submodules, and support for variable index...

@AlexanderViand-Intel I may need your help here. I haven't figured out how to build HECO yet (everything succeeds in your repo instructions up to the linking step, then it fails...

OpenFHE's MakePackedPlaintext will zero-pad to the ring degree N, and this breaks the rotate-and-reduce trick, so instead in the simple_sum_test.cpp test harness, I manually repeat the coefficients cyclically until it...

good first issue
dialect: bgv
dialect: openfhe

After https://github.com/google/heir/pull/587 the box_blur_64x64 test takes ~53 minutes to compile (up from 1.5 minutes) and canonicalizer takes ~50 minutes of that (95%). Long term we're going to need to be...

Given that `ReLU(x) = x (0.5 + 0.5 sgn(x))`, this reduces to approximating the sign function, and this paper appears to have the state of the art: https://eprint.iacr.org/2020/834 Also note...

dialect: polynomial
research synthesis

Pending - https://github.com/llvm/llvm-project/pull/91137 - https://github.com/llvm/llvm-project/pull/91410

pull_ready

Right now poly.poly has a custom builder to get the defaults working properly, but tablegen is supposed to have native support for default valued attributes. I couldn't get it to...

dialect: polynomial