Show simple item record

dc.contributor.authorKrastev, Aleksandar
dc.contributor.authorSamardzic, Nikola
dc.contributor.authorLangowski, Simon
dc.contributor.authorDevadas, Srinivas
dc.contributor.authorSanchez, Daniel
dc.date.accessioned2024-07-08T18:28:27Z
dc.date.available2024-07-08T18:28:27Z
dc.date.issued2024-06-20
dc.identifier.issn2475-1421
dc.identifier.urihttps://hdl.handle.net/1721.1/155458
dc.description.abstractFully Homomorphic Encryption (FHE) enables computing on encrypted data, letting clients securely offload computation to untrusted servers. While enticing, FHE has two key challenges that limit its applicability: it has high performance overheads (10,000× over unencrypted computation) and it is extremely hard to program. Recent hardware accelerators and algorithmic improvements have reduced FHE’s overheads and enabled large applications to run under FHE. These large applications exacerbate FHE’s programmability challenges. Writing FHE programs directly is hard because FHE schemes expose a restrictive, low-level interface that prevents abstraction and composition. Specifically, FHE requires packing encrypted data into large vectors (tens of thousands of elements long), FHE provides limited operations on these vectors, and values have noise that grows with each operation, which creates unintuitive performance tradeoffs. As a result, translating large applications, like neural networks, into efficient FHE circuits takes substantial tedious work. We address FHE’s programmability challenges with the Fhelipe FHE compiler. Fhelipe exposes a simple, numpy-style tensor programming interface, and compiles high-level tensor programs into efficient FHE circuits. Fhelipe’s key contribution is automatic data packing, which chooses data layouts for tensors and packs them into ciphertexts to maximize performance. Our novel framework considers a wide range of layouts and optimizes them analytically. This lets compile large FHE programs efficiently, unlike prior FHE compilers, which either use inefficient layouts or do not scale beyond tiny programs. We evaluate on both a state-of-the-art FHE accelerator and a CPU. is the first compiler that matches or exceeds the performance of large hand-optimized FHE applications, like deep neural networks, and outperforms a state-of-the-art FHE compiler by gmean 18.5. At the same time, dramatically simplifies programming, reducing code size by 10–48.en_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionof10.1145/3656382en_US
dc.rightsCreative Commons Attribution-ShareAlikeen_US
dc.rights.urihttps://creativecommons.org/licenses/by-sa/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titleA Tensor Compiler with Automatic Data Packing for Simple and Efficient Fully Homomorphic Encryptionen_US
dc.typeArticleen_US
dc.identifier.citationKrastev, Aleksandar, Samardzic, Nikola, Langowski, Simon, Devadas, Srinivas and Sanchez, Daniel. 2024. "A Tensor Compiler with Automatic Data Packing for Simple and Efficient Fully Homomorphic Encryption." Proceedings of the ACM on Programming Languages, 8 (PLDI).
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.relation.journalProceedings of the ACM on Programming Languagesen_US
dc.identifier.mitlicensePUBLISHER_CC
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dc.date.updated2024-07-01T07:57:40Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2024-07-01T07:57:41Z
mit.journal.volume8en_US
mit.journal.issuePLDIen_US
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record