Skip to content
Snippets Groups Projects
Unverified Commit 718beecc authored by Mayank's avatar Mayank Committed by GitHub
Browse files

Minor changes

parent 406688c1
No related branches found
No related tags found
No related merge requests found
......@@ -9,7 +9,7 @@ This folder contains code for Porthos - a semi-honest 3 party secure computation
# Running the protocol
- To compile use `make clean && make -j`.
- Currently the codebase contains precompiled code the following 3 neural networks: ResNet-50, DenseNet-121 and SqueezeNet for ImageNet, checked into the following folder: `./src/example_neural_nets`. Toggle the flag in `./src/example_neural_nets/network_config.h` to switch the network which runs. Note that if there is more than network flag uncommented or if there is already a main file in src, the compilation will error out.
- Currently the codebase contains precompiled code the following 3 neural networks: ResNet-50, DenseNet-121 and SqueezeNet for ImageNet, checked into the following folder: `./src/example_neural_nets`. Toggle the flag in `./src/example_neural_nets/network_config.h` to switch the network which runs. Note that if there is more than one network flag uncommented (meaning ON) or if there is already a main file in src, the compilation will error out saying multiple declarations of main function.
- To run for example the ResNet-50 code, use the following commands:
`./party0.sh < ../Athos/Networks/ResNet/ResNet_img_input.inp`,
`./party1.sh`, and
......@@ -24,12 +24,8 @@ Note that the first command makes use of input generated from Athos. Please refe
-- ln -s ../opt/openssl/include/openssl .
Also, use the second build command for Mac to be safe. Read the Caveats part of brew install instructions, since Apple has deprecated the use of OpenSSL.
- libmiracl.a is compiled locally, if it does not work try the libmiracl_old.a or download the source files from https://github.com/miracl/MIRACL.git and compile miracl.a yourself (and rename to libmriacl.a when copying into this repo)
- When extracting bits out of \_\_m128i, val[0] corresponds to the LSB. The set functions of \_\_m128i take the first argument as val[0].
- If porthosSecretType != uint64_t, porthosSecretType multiplication function won't work.
- Matrix multiplication assembly code only works for Intel C/C++ compiler. The non-assembly code has correctness issues when both the multiplicands are large uint64_t's
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment