53 lines
1.6 KiB
Bash
53 lines
1.6 KiB
Bash
|
#!/bin/sh
|
||
|
set -eu
|
||
|
#set -o xtrace
|
||
|
|
||
|
# By default compile for 512MiB and 32GiB sectors only, use `-r` to compile for
|
||
|
# other sector test sector sizes as well.
|
||
|
SECTOR_SIZE=""
|
||
|
while getopts r flag
|
||
|
do
|
||
|
case "${flag}" in
|
||
|
r) SECTOR_SIZE="-DRUNTIME_SECTOR_SIZE";;
|
||
|
*) ;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ ! -d "supra_seal" ]; then
|
||
|
git clone https://github.com/supranational/supra_seal.git
|
||
|
fi
|
||
|
|
||
|
cd supra_seal
|
||
|
|
||
|
rm -fr obj
|
||
|
mkdir -p obj
|
||
|
|
||
|
rm -fr bin
|
||
|
mkdir -p bin
|
||
|
|
||
|
mkdir -p deps
|
||
|
if [ ! -d "deps/sppark" ]; then
|
||
|
git clone https://github.com/supranational/sppark.git deps/sppark
|
||
|
fi
|
||
|
if [ ! -d "deps/blst" ]; then
|
||
|
git clone https://github.com/supranational/blst.git deps/blst
|
||
|
(cd deps/blst
|
||
|
./build.sh -march=native)
|
||
|
fi
|
||
|
|
||
|
# Generate .h files for the Poseidon constants
|
||
|
xxd -i poseidon/constants/constants_2 > obj/constants_2.h
|
||
|
xxd -i poseidon/constants/constants_4 > obj/constants_4.h
|
||
|
xxd -i poseidon/constants/constants_8 > obj/constants_8.h
|
||
|
xxd -i poseidon/constants/constants_11 > obj/constants_11.h
|
||
|
xxd -i poseidon/constants/constants_16 > obj/constants_16.h
|
||
|
xxd -i poseidon/constants/constants_24 > obj/constants_24.h
|
||
|
xxd -i poseidon/constants/constants_36 > obj/constants_36.h
|
||
|
|
||
|
nvcc ${SECTOR_SIZE} -DNO_SPDK -DSTREAMING_NODE_READER_FILES \
|
||
|
-arch=sm_80 -gencode arch=compute_70,code=sm_70 -t0 \
|
||
|
-std=c++17 -g -O3 -Xcompiler -march=native \
|
||
|
-Xcompiler -Wall,-Wextra,-Werror \
|
||
|
-Xcompiler -Wno-subobject-linkage,-Wno-unused-parameter \
|
||
|
-x cu tools/pc2.cu -o bin/pc2 \
|
||
|
-Iposeidon -Ideps/sppark -Ideps/sppark/util -Ideps/blst/src -L deps/blst -lblst -lconfig++
|