Note: We generate all data at random for easier testing. For the original data (from dbGaP under accession phs000716.v1.p1), please consult the authors.
After installing Sequre clone Sequre repository and then run all benchmarks as follows:
git clone https://github.com/0xTCG/sequre.git && cd sequresequre -release scripts/invoke.codon run-benchmarks --local --jit --lattiseq --mpc --mhe --stdlib-builtin --king --pca --gwas-without-norm --ablationThis will evaluate microbenchmarks (Table 2; Section 10.2), basic and complex workflows (Figure 7; Section 10.2), and MNIST (Section 10.5) for both Sequre and Shechi.
Local run should suffice all functionality tests. However, online run is also possible. Set each <ipN> to the respective IP address and <pid> to the respective ID. Please see the online run in original README for more details.
SEQURE_CP_IPS=<ip1>,<ip2>,...,<ipN> sequre -release scripts/invoke.codon run-benchmarks --jit --stdlib-builtin --king --pca --gwas-without-norm <pid>Check the accuracy of all solutions against the ground truth:
python scripts/accuracy.pyRun EVA basic workflows (Figure 7; Section 10.2) via docker:
docker run --rm --privileged hsmile/eva:benchRun HEFactory basic workflows (Figure 7; Section 10.2) via docker:
docker run --rm --privileged hsmile/hefactory:latestRun Lattigo basic workflows (Figure 7; Section 10.2) via docker:
docker run -it --rm --privileged hsmile/lattigo:benchRun SEAL micro-benchmarks (Table 2; Section 10.2) via docker:
docker run --rm --privileged hsmile/seal:benchRun MP-SPDZ micro-benchmarks and basic workflows (Table 2 and Figure 7; Section 10.2) via docker:
docker run --rm --privileged hsmile/mpspdz:benchRun Lattigo micro-benchmarks (Table 2; Section 10.2) via docker:
docker run -it --rm --privileged hsmile/lattigo:microRun Lattigo Kinship (Figure 7; Section 10.2) via docker:
docker run -it --rm --privileged hsmile/lattigo:kingRun Lattigo GWAS (with PCA) (Figure 7; Section 10.2) via docker:
docker run -it --rm --privileged hsmile/lattigo:gwas