From 88cfe1b685317eef0f508a84ba784eea8819f409 Mon Sep 17 00:00:00 2001 From: nonam3e Date: Mon, 29 Jul 2024 07:46:49 +0000 Subject: [PATCH] ci --- .github/workflows/v3_golang.yml | 4 ++-- wrappers/golang_v3/build.sh | 13 +++++++++---- wrappers/golang_v3/curves/bls12377/main.go | 2 +- wrappers/golang_v3/curves/bls12381/main.go | 2 +- wrappers/golang_v3/curves/bn254/main.go | 2 +- wrappers/golang_v3/curves/bw6761/main.go | 2 +- wrappers/golang_v3/curves/grumpkin/main.go | 2 +- wrappers/golang_v3/fields/babybear/main.go | 2 +- .../generator/curves/templates/main.go.tmpl | 2 +- .../generator/fields/templates/main.go.tmpl | 2 +- wrappers/golang_v3/runtime/main.go | 2 +- 11 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.github/workflows/v3_golang.yml b/.github/workflows/v3_golang.yml index 1a0951f0..385b0716 100644 --- a/.github/workflows/v3_golang.yml +++ b/.github/workflows/v3_golang.yml @@ -60,7 +60,7 @@ jobs: working-directory: ./wrappers/golang_v3 if: needs.check-changed-files.outputs.golang == 'true' || needs.check-changed-files.outputs.cpp_cuda == 'true' # builds a single curve with the curve's specified build args - run: ./build.sh -curve=${{ matrix.curve.name }} ${{ matrix.curve.build_args }} + run: ./build.sh -cuda_backend=main -curve=${{ matrix.curve.name }} ${{ matrix.curve.build_args }} - name: Test working-directory: ./wrappers/golang_v3/curves if: needs.check-changed-files.outputs.golang == 'true' || needs.check-changed-files.outputs.cpp_cuda == 'true' @@ -89,7 +89,7 @@ jobs: working-directory: ./wrappers/golang_v3 if: needs.check-changed-files.outputs.golang == 'true' || needs.check-changed-files.outputs.cpp_cuda == 'true' # builds a single field with the fields specified build args - run: ./build.sh -field=${{ matrix.field.name }} ${{ matrix.field.build_args }} + run: ./build.sh -cuda_backend=main -field=${{ matrix.field.name }} ${{ matrix.field.build_args }} - name: Test working-directory: ./wrappers/golang_v3/fields if: needs.check-changed-files.outputs.golang == 'true' || needs.check-changed-files.outputs.cpp_cuda == 'true' diff --git a/wrappers/golang_v3/build.sh b/wrappers/golang_v3/build.sh index a89bfb35..9bd53c23 100755 --- a/wrappers/golang_v3/build.sh +++ b/wrappers/golang_v3/build.sh @@ -13,6 +13,7 @@ BUILD_HASHES=( ) SUPPORTED_CURVES=("bn254" "bls12_377" "bls12_381" "bw6_761", "grumpkin") SUPPORTED_FIELDS=("babybear") # SUPPORTED_HASHES=("keccak") +CUDA_BACKEND=OFF BUILD_DIR="${ICICLE_BUILD_DIR:-$(realpath "$PWD/../../icicle_v3/build")}" DEFAULT_BACKEND_INSTALL_DIR="${DEFAULT_BACKEND_INSTALL_DIR:="/usr/local/"}" @@ -32,7 +33,8 @@ if [[ $1 == "-help" ]]; then echo " -field= The field that should be built. If \"all\" is supplied," echo " all fields will be built with any other supplied field options" echo " -field-ext Builds the field lib with the extension field enabled" - echo " -backend Path to the folder where libraries will be installed" + echo " -install_dir Path to the folder where libraries will be installed" + echo " -cuda_backend " echo " -devmode Enables devmode debugging and fast build times" echo " -cuda_version= The version of cuda to use for compiling" echo "" @@ -47,7 +49,10 @@ do cuda_version=$(echo "$arg" | cut -d'=' -f2) CUDA_COMPILER_PATH=/usr/local/cuda-$cuda_version/bin/nvcc ;; - -backend=*) + -cuda_backend=*) + CUDA_BACKEND=$(echo "$arg_lower" | cut -d'=' -f2) + ;; + -install_dir=*) DEFAULT_BACKEND_INSTALL_DIR=$(echo "$arg_lower" | cut -d'=' -f2) ;; -ecntt) @@ -107,7 +112,7 @@ do echo "G2=${G2_DEFINED}" >> build_config.txt echo "DEVMODE=${DEVMODE}" >> build_config.txt echo "DEFAULT_BACKEND_INSTALL_DIR=${DEFAULT_BACKEND_INSTALL_DIR}" >> build_config.txt - cmake -DCMAKE_CUDA_COMPILER=$CUDA_COMPILER_PATH -DCMAKE_INSTALL_PREFIX=$DEFAULT_BACKEND_INSTALL_DIR -DCURVE=$CURVE -DG2=$G2_DEFINED -DECNTT=$ECNTT_DEFINED -DDEVMODE=$DEVMODE -DCMAKE_BUILD_TYPE=Release -S . -B build + cmake -DCMAKE_CUDA_COMPILER=$CUDA_COMPILER_PATH -DCMAKE_INSTALL_PREFIX=$DEFAULT_BACKEND_INSTALL_DIR -DCUDA_BACKEND=$CUDA_BACKEND -DCURVE=$CURVE -DG2=$G2_DEFINED -DECNTT=$ECNTT_DEFINED -DDEVMODE=$DEVMODE -DCMAKE_BUILD_TYPE=Release -S . -B build cmake --build build --target install -j8 && rm build_config.txt done @@ -120,7 +125,7 @@ do echo "FIELD=${FIELD}" > build_config.txt echo "DEVMODE=${DEVMODE}" >> build_config.txt echo "DEFAULT_BACKEND_INSTALL_DIR=${DEFAULT_BACKEND_INSTALL_DIR}" >> build_config.txt - cmake -DCMAKE_CUDA_COMPILER=$CUDA_COMPILER_PATH -DCMAKE_INSTALL_PREFIX=$DEFAULT_BACKEND_INSTALL_DIR -DFIELD=$FIELD -DEXT_FIELD=$EXT_FIELD -DDEVMODE=$DEVMODE -DCMAKE_BUILD_TYPE=Release -S . -B build + cmake -DCMAKE_CUDA_COMPILER=$CUDA_COMPILER_PATH -DCMAKE_INSTALL_PREFIX=$DEFAULT_BACKEND_INSTALL_DIR -DCUDA_BACKEND=$CUDA_BACKEND -DFIELD=$FIELD -DEXT_FIELD=$EXT_FIELD -DDEVMODE=$DEVMODE -DCMAKE_BUILD_TYPE=Release -S . -B build cmake --build build --target install -j8 && rm build_config.txt done diff --git a/wrappers/golang_v3/curves/bls12377/main.go b/wrappers/golang_v3/curves/bls12377/main.go index f41ffc1e..e1f0ad38 100644 --- a/wrappers/golang_v3/curves/bls12377/main.go +++ b/wrappers/golang_v3/curves/bls12377/main.go @@ -1,4 +1,4 @@ package bls12377 -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_bls12_377 -licicle_curve_bls12_377 -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_bls12_377 -licicle_curve_bls12_377 -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/curves/bls12381/main.go b/wrappers/golang_v3/curves/bls12381/main.go index 8f7ad0a0..f95889fb 100644 --- a/wrappers/golang_v3/curves/bls12381/main.go +++ b/wrappers/golang_v3/curves/bls12381/main.go @@ -1,4 +1,4 @@ package bls12381 -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_bls12_381 -licicle_curve_bls12_381 -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_bls12_381 -licicle_curve_bls12_381 -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/curves/bn254/main.go b/wrappers/golang_v3/curves/bn254/main.go index 86a7664d..7bf1c39f 100644 --- a/wrappers/golang_v3/curves/bn254/main.go +++ b/wrappers/golang_v3/curves/bn254/main.go @@ -1,4 +1,4 @@ package bn254 -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_bn254 -licicle_curve_bn254 -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_bn254 -licicle_curve_bn254 -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/curves/bw6761/main.go b/wrappers/golang_v3/curves/bw6761/main.go index a055689d..aea676de 100644 --- a/wrappers/golang_v3/curves/bw6761/main.go +++ b/wrappers/golang_v3/curves/bw6761/main.go @@ -1,4 +1,4 @@ package bw6761 -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_bw6_761 -licicle_curve_bw6_761 -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_bw6_761 -licicle_curve_bw6_761 -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/curves/grumpkin/main.go b/wrappers/golang_v3/curves/grumpkin/main.go index edbfe8f2..3169df67 100644 --- a/wrappers/golang_v3/curves/grumpkin/main.go +++ b/wrappers/golang_v3/curves/grumpkin/main.go @@ -1,4 +1,4 @@ package grumpkin -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_grumpkin -licicle_curve_grumpkin -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_grumpkin -licicle_curve_grumpkin -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/fields/babybear/main.go b/wrappers/golang_v3/fields/babybear/main.go index 892eafce..7ac37505 100644 --- a/wrappers/golang_v3/fields/babybear/main.go +++ b/wrappers/golang_v3/fields/babybear/main.go @@ -1,4 +1,4 @@ package babybear -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_babybear -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_babybear -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/internal/generator/curves/templates/main.go.tmpl b/wrappers/golang_v3/internal/generator/curves/templates/main.go.tmpl index de4b29d6..c8bbcf90 100644 --- a/wrappers/golang_v3/internal/generator/curves/templates/main.go.tmpl +++ b/wrappers/golang_v3/internal/generator/curves/templates/main.go.tmpl @@ -1,4 +1,4 @@ package {{.PackageName}} -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_{{.Field}} -licicle_curve_{{.Field}} -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_{{.Field}} -licicle_curve_{{.Field}} -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/internal/generator/fields/templates/main.go.tmpl b/wrappers/golang_v3/internal/generator/fields/templates/main.go.tmpl index f71b7aa7..17f7c098 100644 --- a/wrappers/golang_v3/internal/generator/fields/templates/main.go.tmpl +++ b/wrappers/golang_v3/internal/generator/fields/templates/main.go.tmpl @@ -1,4 +1,4 @@ package {{.PackageName}} -// #cgo LDFLAGS: -Lusr/local/ -licicle_field_{{.Field}} -lstdc++ -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_field_{{.Field}} -lstdc++ -Wl,-rpath=usr/local/lib/ import "C" diff --git a/wrappers/golang_v3/runtime/main.go b/wrappers/golang_v3/runtime/main.go index c146ef74..2094cc4d 100644 --- a/wrappers/golang_v3/runtime/main.go +++ b/wrappers/golang_v3/runtime/main.go @@ -1,4 +1,4 @@ package runtime -// #cgo LDFLAGS: -Lusr/local/ -licicle_device -lstdc++ -lm -Wl,-rpath=usr/local/ +// #cgo LDFLAGS: -Lusr/local/lib/ -licicle_device -lstdc++ -lm -Wl,-rpath=usr/local/lib/ import "C"