Skip to content

feat: GPU accelerated sumcheck (PROOF-913) #675

feat: GPU accelerated sumcheck (PROOF-913)

feat: GPU accelerated sumcheck (PROOF-913) #675

name: Test-Check-Lint
on:
workflow_call:
pull_request:
types:
- opened
- synchronize
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
format-code:
name: Check code
runs-on: public-blitzar-T4-gpu-vm
timeout-minutes: 600
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run check
run: nix develop --command ./tools/code_format/check_format.py check
test-cpp:
name: C++ code
runs-on: public-blitzar-T4-gpu-vm
timeout-minutes: 600
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Run cpp tests
run: TEST_TMPDIR=$HOME/.bazel_test nix develop --command bazel test //...
# Note: There are some steps we need to our
# to our custom nix derivation from https://github.com/spaceandtimelabs/blitzar/pull/96
# to get compute sanitizer working.
#
# I'm disabling for now so that we can move forward with cuda 12.3
#
# test-cpp-compute-sanitizer:
# name: C++ code with compute sanitizer
# runs-on: public-blitzar-T4-gpu-vm
# timeout-minutes: 600
# steps:
# - name: Checkout Code
# uses: actions/checkout@v3
# # TODO(rnburn): Two test cases fail
# # - //cbindings:inner_product_proof.t
# # - //sxt/multiexp/multiproduct_gpu:kernel.t
# # The first times out and the second gives errors in the CI
# # environment but not the nix environment with more up-to-date versions
# # of LLVM and the cuda toolkit. I'm disabling the tests for now but will
# # revist after the CI environment is updated.
# - name: Run cpp tests
# run: >
# TEST_TMPDIR=$HOME/.bazel_test nix develop --command \
# bazel test --jobs=1 --run_under $PWD/tools/cuda/compute_sanitizer_wrapper.sh //... -- \
# -//cbindings:inner_product_proof.t -//sxt/multiexp/multiproduct_gpu:kernel.t
test-cpp-opt:
name: C++ code with optimizations
runs-on: public-blitzar-T4-gpu-vm
timeout-minutes: 600
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Run cpp tests with optimization flags on
run: TEST_TMPDIR=$HOME/.bazel_test_opt nix develop --command bazel test --jobs=1 -c opt //...
test-cpp-asan:
name: C++ code with address sanitizer
runs-on: public-blitzar-T4-gpu-vm
timeout-minutes: 600
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Run cpp-asan tests
run: TEST_TMPDIR=$HOME/.bazel_test_asan nix develop --command bazel test --config=asan //sxt/...
test-rust:
name: Rust Sys Crate
runs-on: public-blitzar-T4-gpu-vm
timeout-minutes: 600
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Run rust tests
run: |
TEST_TMPDIR=$HOME/.bazel_test_opt nix develop --command cargo test --manifest-path rust/blitzar-sys/Cargo.toml
TEST_TMPDIR=$HOME/.bazel_test_opt nix develop --command cargo test --manifest-path rust/tests/Cargo.toml