The HEIR compiler
Project description
HEIR: Homomorphic Encryption Intermediate Representation
An MLIR-based toolchain for homomorphic encryption compilers. Read the docs at the HEIR website.
For more information on MLIR, see the MLIR homepage.
Demo: HEIR Jupyter Playground
This is a way to start running HEIR compiler passes in a Jupyter notebook or IPython notebook without having to build the entire HEIR project from scratch.
Uses the nightly HEIR build. In this demo, we'll run locally in this github clone to access some external dependencies (e.g. Yosys).
Usage
Load Jupyter in the scripts/jupyter notebook:
cd scripts/jupyter
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
jupyter notebook
The demo is in Demo.ipynb.
Then connect to your Jupyter runtime and start executing the demo!
Contributing
There are many ways to contribute to HEIR:
- Come to our twice-monthly meetings to discuss active work on HEIR and future project directions. The meetings are recorded and posted to our blog
- Work on an issue marked "good first issue" or browse issues labeled by topic.
- Tell us about what you'd like to use HEIR for in an offline discussion thread.
- Help us understand new FHE research: either
- Read a paper tagged under research synthesis and summarize the novel techniques that could be ported to HEIR.
- File new issues under research synthesis to alert us of papers that should be investigated and incorporated into HEIR.
Citations
The HEIR project can be cited in in academic work through following entry:
@Misc{HEIR,
title={{HEIR: Homomorphic Encryption Intermediate Representation}},
author={HEIR Contributors},
year={2023},
note={\url{https://github.com/google/heir}},
}
Support disclaimer
This is not an officially supported Google product.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file heir_py-0.0.1-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: heir_py-0.0.1-cp311-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 39.1 MB
- Tags: CPython 3.11+, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbf90a14f087bef45e2e4955a29077d42abcf9eecdf17752d05a36f5c568f7eb
|
|
| MD5 |
0e5663819cab5547c593c87403686ee2
|
|
| BLAKE2b-256 |
aed23e12a52aa4bae64b16a79e0174a0ba224795c372d5432835bab40f373fe3
|