- Make sure you have Go 1.23.1 or greated installed.
$ go mod tidyto download and install all the dependencies.$ go build solution_1.go$ go build solution_2.go- See
Running the Solution.
$ docker build -t gausslabs_idash2024 .
$ docker run -it gausslabs_idash2024
$ cd ../root/idash2024
$ go mod tidy
$ go build solution_1.go
$ go build solution_2.go
By default the excecutable will look for ./data/example_AA_sequences.list, but a custom path can be given (see Optional Flags).
File format is expected to be identical to example_AA_sequences.list.
Once the previous steps have been followed:
$ taskset -c 0-3 ./solution_1: slower (13min on i9-12900K 4 threads) on but more precise (~1e-3.5 error, 100% CT vs. PT Accuracy) solution.$ taskset -c 0-3 ./solution_2: faster (9min i9-12900K 4 threads) but less precise solution (~1e0 error, 92% CT vs. PT Accuracy) solution.
-i=<data_path>: custom path for the input data.-dummy: use dummy boostrapping.-debug: print intermediate values.-verify: saves ideal result in./result/prec_plain.csv, print accuracy and average error of encrypted vs. plaintext circuit.
The result of the encrypted computation is written in ./result/pred_enc.csv.
The file contains a lib.NbSamples x lib.Classes matrix, with one row per line.