Skip to content

Commit f3d11f9

Browse files
committed
Merge remote-tracking branch 'origin/develop' into ji/iter-exe-sparse
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk> # Conflicts: # encodings/sparse/src/canonical.rs
2 parents 6ee8276 + c73dbb2 commit f3d11f9

214 files changed

Lines changed: 5097 additions & 4804 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/codspeed.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,43 @@ jobs:
6565
run: bash scripts/bench-taskset.sh cargo codspeed run
6666
token: ${{ secrets.CODSPEED_TOKEN }}
6767
mode: "simulation"
68+
69+
bench-codspeed-cuda:
70+
if: github.repository == 'vortex-data/vortex'
71+
strategy:
72+
matrix:
73+
include:
74+
- { shard: 1, name: "Bitpacked", benches: "bitpacked_cuda" }
75+
- { shard: 2, name: "Dynamic dispatch", benches: "dynamic_dispatch_cuda" }
76+
- { shard: 3, name: "Standalone kernels", benches: "alp_cuda date_time_parts_cuda dict_cuda for_cuda runend_cuda throughput_cuda" }
77+
- { shard: 4, name: "NVIDIA kernels", benches: "filter_cuda zstd_cuda" }
78+
name: "Benchmark with Codspeed (CUDA Shard #${{ matrix.shard }} - ${{ matrix.name }})"
79+
timeout-minutes: 30
80+
runs-on: runs-on=${{ github.run_id }}/family=g5/image=ubuntu24-gpu-x64/tag=bench-codspeed-cuda-${{ matrix.shard }}
81+
steps:
82+
- uses: runs-on/action@v2
83+
with:
84+
sccache: s3
85+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
86+
- uses: ./.github/actions/setup-rust
87+
with:
88+
repo-token: ${{ secrets.GITHUB_TOKEN }}
89+
- name: Display NVIDIA SMI details
90+
run: |
91+
nvidia-smi
92+
nvidia-smi -L
93+
nvidia-smi -q -d Memory
94+
- name: Install Codspeed
95+
uses: taiki-e/cache-cargo-install-action@66c9585ef5ca780ee69399975a5e911f47905995
96+
with:
97+
tool: cargo-codspeed
98+
- name: Build benchmarks
99+
run: cargo codspeed build -m walltime -p vortex-cuda --profile bench
100+
- name: Run benchmarks
101+
uses: CodSpeedHQ/action@d872884a306dd4853acf0f584f4b706cf0cc72a2
102+
env:
103+
CARGO_MANIFEST_DIR: ${{ github.workspace }}/vortex-cuda
104+
with:
105+
run: cargo codspeed run $(printf -- '--bench %s ' ${{ matrix.benches }})
106+
token: ${{ secrets.CODSPEED_TOKEN }}
107+
mode: "walltime"

AGENTS.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,28 @@ cargo build --workspace
5050
Run tests for the crate or binding you touched before broader checks:
5151

5252
```bash
53-
cargo test -p <crate-name>
53+
cargo nextest run -p <crate-name>
54+
```
55+
56+
if cargo-nextest is not available you can install it with
57+
```bash
58+
cargo install --locked cargo-nextest
5459
```
5560

5661
Examples:
5762

5863
```bash
59-
cargo test -p vortex-array
64+
cargo nextest run -p vortex-array
6065
make -C docs doctest
6166
uv run --all-packages pytest vortex-python/test
67+
cargo test --doc
6268
```
6369

6470
Run docs doctests from the docs directory with `make -C docs doctest` so the correct Sphinx
6571
Makefile target is used.
6672

73+
If you touch documentation run doc tests via `cargo test --doc`.
74+
6775
## Linting, Formatting, and Generated Files
6876

6977
Run verification that matches the files changed. Do not run expensive Rust checks for changes that

Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,11 @@ panic = "deny"
352352
# panic_in_result_fn = "deny" -- we cannot disable this for tests to use assertions
353353
clone_on_ref_ptr = "deny"
354354
redundant_clone = "deny"
355+
redundant_static_lifetimes = "deny"
356+
ref_binding_to_reference = "deny"
357+
ref_patterns = "deny"
358+
repeat_vec_with_capacity = "deny"
359+
reserve_after_initialization = "deny"
355360
same_name_method = "deny"
356361
tests_outside_test_module = "deny"
357362
# todo = "deny"

0 commit comments

Comments
 (0)