Skip to content

Commit 045dce6

Browse files
committed
Modify README following tests
1 parent d717010 commit 045dce6

File tree

1 file changed

+35
-13
lines changed

1 file changed

+35
-13
lines changed

README.md

+35-13
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,18 @@ compilation and test run of:
1010
- miTLS, the in-progress, verified implementation of the TLS protocol
1111
- HACL\*, the High Assurance Cryptographic Library
1212

13+
To run this Docker image, first install Docker on your machine
14+
following platform-specific instructions at https://docs.docker.com/engine/installation/
15+
16+
Then, just run:
17+
```
18+
docker run -t -i projecteverest/everest-icfp2017aec
19+
```
20+
21+
to open a Docker container based on this Docker image with a
22+
command-line prompt. From now one, the commands proposed in this file
23+
are assumed run from within such a Docker container (except for the
24+
*Regenerating this artifact* section, of course.)
1325

1426
## Finding the proofs
1527

@@ -93,37 +105,41 @@ include:
93105
### With GCC
94106

95107
One can extract HACL\* to a releasable set of C files, then run a
96-
performance benchmark using GCC, via:
108+
performance benchmark using GCC, then show the performance results,
109+
via:
97110

98111
```
99112
make -C hacl-star/test snapshot-gcc
100-
LIBSODIUM_HOME=/usr/local LD_LIBRARY_PATH=/usr/local/lib make -C hacl-star/test perf-gcc
113+
make -C hacl-star/test perf-gcc
114+
cat hacl-star/test/benchmark-gcc.txt
101115
```
102116

117+
In the above sequence, `gcc` can be replaced with `gcc-unrolled` to have
118+
KreMLin unroll some loops when extracting the C code.
119+
103120
### With CompCert
104121

105122
Due to licensing reasons, we do not believe we can safely redistribute CompCert
106-
in this artefact evaluation image. We believe, however, one can easily install
123+
in this artefact evaluation image. However, one can easily install
107124
CompCert via:
108125

109126
```
110-
opam repo add coq-released http://coq.inria.fr/opam/released
111-
opam install -j 8 coq.8.6
112-
113127
wget http://compcert.inria.fr/release/compcert-3.0.1.tgz
114128
tar xzvf compcert-3.0.1.tgz
115129
cd CompCert-3.0.1
116130
./configure x86_64-linux
117131
make -j 8
118132
sudo make install
133+
cd ..
119134
```
120135

121136
One this is done, the following series of commands will run performance
122137
benchmarks for CompCert:
123138

124139
```
125140
make -C hacl-star/test snapshot-ccomp
126-
LIBSODIUM_HOME=/usr/local LD_LIBRARY_PATH=/usr/local/lib make -C hacl-star/test perf-ccomp
141+
make -C hacl-star/test perf-ccomp
142+
cat hacl-star/test/benchmark-ccomp.txt
127143
```
128144

129145
### Via the OpenSSL engine
@@ -146,18 +162,24 @@ These tests can be run via `make -C hacl-star/test/openssl-engine test`.
146162

147163
One can replay the proofs by running the high-level command: `./everest verify
148164
-j 8` where `8` is a suggested number of cores to use. One may want to allocate
149-
more cores to their Docker instance.
165+
more cores and more memory to their Docker instance.
150166

151167

152168
# Regenerating this artefact
153169

154-
One can easily reconstruct this artefact from scratch, via:
170+
One can easily reconstruct this artefact from scratch, by running the
171+
following sequence of commands from a machine with Docker installed:
155172

156173
```
157-
git clone git@github.com:project-everest/everest
174+
git clone https://github.com/project-everest/everest.git everest
175+
cd everest
158176
git checkout icfp2017aec
159-
cd everest/.docker/everest
160-
docker build
177+
docker build --tag projecteverest/everest-icfp2017aec .docker/everest-chomolungma
161178
```
162179

163-
This takes a couple hours on a powerful machine.
180+
This takes a couple hours on a powerful machine. To speed up this process, the
181+
last command can be replaced with:
182+
```
183+
docker build --build-arg PARALLEL_OPT='-j 4' --tag projecteverest/everest-icfp2017aec .docker/everest-chomolungma
184+
```
185+
to build and verify everything using `4` cores.

0 commit comments

Comments
 (0)