From aac90231149c36dbe9017f9174910f1cf592cd1f Mon Sep 17 00:00:00 2001 From: Piotr Galar Date: Sat, 28 Jun 2025 17:54:05 +0200 Subject: [PATCH 1/3] ci: test gpu on self-hosted runners --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3411db6c..b8b3f5ef 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,8 +1,12 @@ name: CI -on: [pull_request, push] +on: + pull_request: + push: + branches: + - master -# Cancel a job if there's a new on on the same branch started. +# Cancel a job if there's a new one on the same branch started. # Based on https://stackoverflow.com/questions/58895283/stop-already-running-workflow-job-in-github-actions/67223051#67223051 concurrency: group: ${{ github.ref }} @@ -14,8 +18,7 @@ env: # Faster crates.io index checkout. CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse RUST_LOG: debug - # Build the kernel only for the single architecture . This should reduce - # the overall compile-time significantly. + # Build the kernel only for the single architecture. This should reduce the overall compile-time significantly. EC_GPU_CUDA_NVCC_ARGS: --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75 BELLMAN_CUDA_NVCC_ARGS: --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75 NEPTUNE_CUDA_NVCC_ARGS: --fatbin --gpu-architecture=sm_75 --generate-code=arch=compute_75,code=sm_75 @@ -27,7 +30,9 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install required packages - run: sudo apt install --no-install-recommends --yes libhwloc-dev nvidia-cuda-toolkit ocl-icd-opencl-dev + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends --yes libhwloc-dev ocl-icd-opencl-dev - name: Install cargo clippy run: rustup component add clippy - name: Run cargo clippy @@ -44,13 +49,29 @@ jobs: run: cargo fmt --all -- --check test: - runs-on: ubuntu-24.04 + runs-on: ['self-hosted', 'linux', 'x64', '2xlarge+gpu'] name: Test steps: - uses: actions/checkout@v4 + # TODO: Move the driver installation to the AMI. + # https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html + # https://www.nvidia.com/en-us/drivers/ + - name: Install CUDA drivers + run: | + curl -L -o nvidia-driver-local-repo-ubuntu2404-570.148.08_1.0-1_amd64.deb https://us.download.nvidia.com/tesla/570.148.08/nvidia-driver-local-repo-ubuntu2404-570.148.08_1.0-1_amd64.deb + sudo dpkg -i nvidia-driver-local-repo-ubuntu2404-570.148.08_1.0-1_amd64.deb + sudo cp /var/nvidia-driver-local-repo-ubuntu2404-570.148.08/nvidia-driver-local-*-keyring.gpg /usr/share/keyrings/ + sudo apt-get update + sudo apt-get install --no-install-recommends --yes cuda-drivers + rm nvidia-driver-local-repo-ubuntu2404-570.148.08_1.0-1_amd64.deb - name: Install required packages - run: sudo apt install --no-install-recommends --yes libhwloc-dev nvidia-cuda-toolkit ocl-icd-opencl-dev - # In case no GPUs are available, it's using the CPU fallback. + run: | + sudo apt-get update + sudo apt-get install --no-install-recommends --yes libhwloc-dev nvidia-cuda-toolkit ocl-icd-opencl-dev + # TODO: Remove this and other rust installation directives from jobs running + - uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17 + with: + toolchain: 1.83 - name: Test run: cargo test --verbose From 8bedb0941001664b90d869df5a67da0d24a6e05c Mon Sep 17 00:00:00 2001 From: Piotr Galar Date: Sat, 28 Jun 2025 18:01:49 +0200 Subject: [PATCH 2/3] fix: install nvidia-cuda-toolkit for clippy --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8b3f5ef..16c65f2c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,7 +32,7 @@ jobs: - name: Install required packages run: | sudo apt-get update - sudo apt-get install --no-install-recommends --yes libhwloc-dev ocl-icd-opencl-dev + sudo apt-get install --no-install-recommends --yes libhwloc-dev nvidia-cuda-toolkit ocl-icd-opencl-dev - name: Install cargo clippy run: rustup component add clippy - name: Run cargo clippy From c5246a936baa20dbbd3ec177cb04e683fa08bd74 Mon Sep 17 00:00:00 2001 From: galargh Date: Mon, 7 Jul 2025 15:33:38 +0200 Subject: [PATCH 3/3] chore: release v19.0.0 --- CHANGELOG.md | 8 +++++++- Cargo.toml | 8 ++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c94fd6d4..1a39d699 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview ## [Unreleased] +## [19.0.0] - 2025-07-07 + +- Fix remove clear_layer_data call [#95](https://github.com/filecoin-project/rust-filecoin-proofs-api/pull/95) +- Fix update cache clearing calls [#106](https://github.com/filecoin-project/rust-filecoin-proofs-api/pull/106) + ## [18.1.0] - 2024-06-18 - Update API doc comments [#101](https://github.com/filecoin-project/rust-filecoin-proofs-api/pull/101) @@ -168,7 +173,8 @@ and this project adheres to [Semantic Versioning](https://book.async.rs/overview - Initial stable release -[Unreleased]: https://github.com/filecoin-project/rust-filecoin-proofs-api/compare/v18.1.0...HEAD +[Unreleased]: https://github.com/filecoin-project/rust-filecoin-proofs-api/compare/v19.0.0...HEAD +[19.0.0]: https://github.com/filecoin-project/rust-filecoin-proofs-api/tree/v19.0.0 [18.1.0]: https://github.com/filecoin-project/rust-filecoin-proofs-api/tree/v18.1.0 [18.0.1]: https://github.com/filecoin-project/rust-filecoin-proofs-api/tree/v18.0.1 [18.0.0]: https://github.com/filecoin-project/rust-filecoin-proofs-api/tree/v18.0.0 diff --git a/Cargo.toml b/Cargo.toml index f0d9b568..4942b253 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "filecoin-proofs-api" -version = "18.1.0" +version = "19.0.0" description = "API to interact with the proofs system in Filecoin" authors = ["dignifiedquire "] edition = "2018" @@ -14,9 +14,9 @@ bincode = "1.1.2" blstrs = "0.7" lazy_static = "1.2" serde = "1.0.104" -filecoin-proofs-v1 = { package = "filecoin-proofs", version = "~18.1.0", default-features = false } -fr32 = { version = "~11.1.0", default-features = false } -storage-proofs-core = { version = "~18.1.0", default-features = false } +filecoin-proofs-v1 = { package = "filecoin-proofs", version = "~19.0.0", default-features = false } +fr32 = { version = "~12.0.0", default-features = false } +storage-proofs-core = { version = "~19.0.0", default-features = false } [features] default = ["opencl", "cuda"]