feat: GPU accelerated sumcheck (PROOF-913) #679
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |