sequre
sequre copied to clipboard
A high-performance, Pythonic framework for secure computing in bioinformatics
[Current on-ring truncation](https://github.com/0xTCG/sequre/blob/develop/stdlib/sequre/mpc/fp.codon#L78) is approximate. An exact solution would be a nice-to-have.
Notes: - Apply the same methodology as in #23 for storing pointers.
Note: Store the pointer to the Int[N] instead of raw Int[N] as an attribute to avoid passing by value. Int[N]s in HE can be rather large.
Add CI scripts that will: - Run unit tests on each PR merge to develop - Run all tests on each release - Re-build new docker image and binaries on...
In sharetensor, ciphertensor, and MP, broadcasting behaviour might differ from numpy. We need to fix that. Broadcasting: https://numpy.org/doc/stable/user/basics.broadcasting.html
Add IR pass that will transform double indices `a[i][j]` to `a[i, j]` for better performance.
[Sequre's neural-net library](https://github.com/0xTCG/sequre/tree/develop/stdlib/sequre/stdlib/learn/neural_net) does not support dropout at the moment.
It would be nice if the compiler could figure out that only one truncation is necessary for F instead of for each intermediate multiplication separately: `F = A * B...