From 8b52621e14ef08a5fcabe094034a7da6aeacbd56 Mon Sep 17 00:00:00 2001 From: Balazs Komuves Date: Tue, 28 Nov 2023 16:44:27 +0100 Subject: [PATCH 1/4] fix some executable permissions --- base-image/README.md | 0 base-image/ptau/README.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 base-image/README.md mode change 100755 => 100644 base-image/ptau/README.md diff --git a/base-image/README.md b/base-image/README.md old mode 100755 new mode 100644 diff --git a/base-image/ptau/README.md b/base-image/ptau/README.md old mode 100755 new mode 100644 From fa4f5313df826fef63a52d05a48c9f5bc017f9bd Mon Sep 17 00:00:00 2001 From: Balazs Komuves Date: Tue, 28 Nov 2023 16:45:12 +0100 Subject: [PATCH 2/4] minor improvements in the Dockerfile --- base-image/Dockerfile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) mode change 100755 => 100644 base-image/Dockerfile diff --git a/base-image/Dockerfile b/base-image/Dockerfile old mode 100755 new mode 100644 index f29f76e..ec4ea17 --- a/base-image/Dockerfile +++ b/base-image/Dockerfile @@ -4,7 +4,7 @@ SHELL ["/bin/bash", "--rcfile", "/root/.bashrc", "-lc"] # === install some basic tools and libs === RUN apt-get -y update && \ - apt-get -y install curl wget vim less build-essential git \ + apt-get -y install curl wget vim less build-essential git \ libgmp-dev zlib1g zlib1g-dev pkg-config libffi-dev \ libdigest-sha3-perl @@ -85,12 +85,10 @@ RUN cd /tmp && \ BOOTSTRAP_HASKELL_NONINTERACTIVE=1 sh ./install_ghcup && \ source /root/.ghcup/env && \ echo -e "\nsource /root/.ghcup/env" >>$HOME/.bashrc && \ - ghcup --version >/zk/versions/ghcup.txt + ghcup --version >/zk/versions/ghcup.txt && \ + rm /tmp/install_ghcup RUN source /root/.ghcup/env && \ - ghc --version >/zk/versions/ghc.txt && \ - cabal --version >/zk/versions/cabal.txt && \ - rm /tmp/install_ghcup && \ ghcup upgrade && \ ghcup install cabal 2.4.1.0 && \ ghcup set cabal 2.4.1.0 && \ From c4479eae7a1ed594a060411e9f56945df97bc1a1 Mon Sep 17 00:00:00 2001 From: Balazs Komuves Date: Tue, 28 Nov 2023 18:27:38 +0100 Subject: [PATCH 3/4] minor fixes --- hash/cpu/bench/Blake3/Unix/fakedata.c | 2 +- hash/cpu/bench/Poseidon2/Zikkurat/build.sh | 1 + hash/cpu/bench/Poseidon2/Zikkurat/poseidon2.c | 1 + hash/cpu/bench/SHA256/Unix/fakedata.c | 2 +- hash/cpu/external/zikkurat-algebra | 2 +- 5 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hash/cpu/bench/Blake3/Unix/fakedata.c b/hash/cpu/bench/Blake3/Unix/fakedata.c index 0cfd5fe..6267143 100644 --- a/hash/cpu/bench/Blake3/Unix/fakedata.c +++ b/hash/cpu/bench/Blake3/Unix/fakedata.c @@ -4,7 +4,7 @@ #include #include -void generate(megabytes) { +void generate(int megabytes) { unsigned char buffer[257]; for(int i=0;i<256;i++) { buffer[i] = 1+(i%255); } diff --git a/hash/cpu/bench/Poseidon2/Zikkurat/build.sh b/hash/cpu/bench/Poseidon2/Zikkurat/build.sh index 4bdc05c..a508fff 100755 --- a/hash/cpu/bench/Poseidon2/Zikkurat/build.sh +++ b/hash/cpu/bench/Poseidon2/Zikkurat/build.sh @@ -6,6 +6,7 @@ ZIK_PATH="../../../external/zikkurat-algebra/" mkdir -p build gcc -O3 \ + -I ${ZIK_PATH}/lib/cbits/ \ -I ${ZIK_PATH}/lib/cbits/bigint/ \ -I ${ZIK_PATH}/lib/cbits/curves/fields/std/ \ -I ${ZIK_PATH}/lib/cbits/curves/fields/mont/ \ diff --git a/hash/cpu/bench/Poseidon2/Zikkurat/poseidon2.c b/hash/cpu/bench/Poseidon2/Zikkurat/poseidon2.c index eabdf13..fbcfd5d 100644 --- a/hash/cpu/bench/Poseidon2/Zikkurat/poseidon2.c +++ b/hash/cpu/bench/Poseidon2/Zikkurat/poseidon2.c @@ -6,6 +6,7 @@ Poseidon2 arithmetic hash function, specialized to the BN128 scalar field and t= compile with: gcc -O3 \ + -I ../lib/cbits/ \ -I ../lib/cbits/bigint/ \ -I ../lib/cbits/curves/fields/std/ \ -I ../lib/cbits/curves/fields/mont/ \ diff --git a/hash/cpu/bench/SHA256/Unix/fakedata.c b/hash/cpu/bench/SHA256/Unix/fakedata.c index 0cfd5fe..6267143 100644 --- a/hash/cpu/bench/SHA256/Unix/fakedata.c +++ b/hash/cpu/bench/SHA256/Unix/fakedata.c @@ -4,7 +4,7 @@ #include #include -void generate(megabytes) { +void generate(int megabytes) { unsigned char buffer[257]; for(int i=0;i<256;i++) { buffer[i] = 1+(i%255); } diff --git a/hash/cpu/external/zikkurat-algebra b/hash/cpu/external/zikkurat-algebra index e2b0fde..96e3497 160000 --- a/hash/cpu/external/zikkurat-algebra +++ b/hash/cpu/external/zikkurat-algebra @@ -1 +1 @@ -Subproject commit e2b0fde371dad9a8be2085ca809d08e11bf4eba9 +Subproject commit 96e349786bd004e64a9cf50e0122f89863b24e92 From 882b2218f9f4694879b5ff57687d5cba0b20196d Mon Sep 17 00:00:00 2001 From: Balazs Komuves Date: Tue, 28 Nov 2023 18:50:11 +0100 Subject: [PATCH 4/4] fix the Poseidon2 SNARK benchmark --- hash/snark/bench/Poseidon2/build.sh | 4 ++-- hash/snark/bench/Poseidon2/hash.circom.template | 2 +- hash/snark/bench/Poseidon2/run.sh | 9 ++++----- hash/snark/bench/Poseidon2/setup.sh | 8 ++++---- hash/snark/bench/Poseidon2/witness.sh | 8 ++++---- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/hash/snark/bench/Poseidon2/build.sh b/hash/snark/bench/Poseidon2/build.sh index 56148bc..597fc72 100755 --- a/hash/snark/bench/Poseidon2/build.sh +++ b/hash/snark/bench/Poseidon2/build.sh @@ -5,7 +5,7 @@ ZKBENCH_INPUT_SIZE=256 fi if [ -z ${ZKBENCH_WHICH} ]; then -ZKBENCH_WHICH="hash_sponge" +ZKBENCH_WHICH="hash_sponge_rate1" fi ORIG=`pwd` @@ -16,7 +16,7 @@ gcc -O3 generate_input.c -o build/generate_input || { echo "gcc failed"; exit 10 #NAME=${ZKBENCH_WHICH} NAME="hash" -echo ${NAME}.circom.template \ +cat ${NAME}.circom.template \ | sed "s/ZKBENCH_INPUT_SIZE/${ZKBENCH_INPUT_SIZE}/g" \ | sed "s/ZKBENCH_WHICH/${ZKBENCH_WHICH}/g" \ >build/${NAME}.circom diff --git a/hash/snark/bench/Poseidon2/hash.circom.template b/hash/snark/bench/Poseidon2/hash.circom.template index b9b0020..ce11acc 100644 --- a/hash/snark/bench/Poseidon2/hash.circom.template +++ b/hash/snark/bench/Poseidon2/hash.circom.template @@ -33,7 +33,7 @@ function CeilLog2(n) { return (n==0) ? 0 : (1 + FloorLog2(n-1)); } -template Bench_hash_merkle2(n) { +template Bench_hash_merkle(n) { var log2n = CeilLog2(n); assert( (1<input.json echo "generating witness... (WASM)" -NAME="${ZKBENCH_WHICH}" +NAME="hash" cd ${NAME}_js node generate_witness.js ${NAME}.wasm ../input.json ../${NAME}_witness.wtns || { echo "witness gen failed"; exit 101; } cd ..