Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
8acdc2c
feat(rust/sedona-spatial-join-gpu): Add GPU-accelerated spatial join …
zhangfengcdt Dec 17, 2025
6233150
Add missing license files
zhangfengcdt Dec 17, 2025
f85b24b
Added spdlog fmt to the vcpkg install command
zhangfengcdt Dec 17, 2025
3a13d9d
default build to build release for consistent
zhangfengcdt Dec 17, 2025
7d47ff3
simplified the workflow to run a single job instead of 4 identical ones
zhangfengcdt Dec 17, 2025
4a7a738
add zstd library
zhangfengcdt Dec 17, 2025
d0e2c3c
Added zstd to c/sedona-libgpuspatial/libgpuspatial/vcpkg.json test de…
zhangfengcdt Dec 17, 2025
e0f4b33
free disk space for rust build and test pipeline
zhangfengcdt Dec 17, 2025
1f61ff5
modify cargo toml file to be consistent with other projects
zhangfengcdt Dec 18, 2025
2d42ed4
clean up eprint and print
zhangfengcdt Dec 18, 2025
62660c9
more cleanups
zhangfengcdt Dec 18, 2025
75d5d16
addre pr comments: spdlogd name and remove unused file
zhangfengcdt Dec 19, 2025
b873925
fix require comfy-table 7.2+ for set_truncation_indicator method
zhangfengcdt Jan 5, 2026
9447df5
fix(rust/sedona-spatial-join): Fix several bugs related to KNN join (…
Kontinuation Jan 14, 2026
a2a558e
feat(rust/sedona-spatial-join-gpu): Add GPU-accelerated spatial join …
zhangfengcdt Dec 17, 2025
9c45f40
Added spdlog fmt to the vcpkg install command
zhangfengcdt Dec 17, 2025
e49d4d9
modify cargo toml file to be consistent with other projects
zhangfengcdt Dec 18, 2025
e161b8e
fix require comfy-table 7.2+ for set_truncation_indicator method
zhangfengcdt Jan 5, 2026
ee86e82
feat(rust/sedona-spatial-join-gpu): Add GPU-accelerated spatial join …
zhangfengcdt Dec 17, 2025
22201e3
modify cargo toml file to be consistent with other projects
zhangfengcdt Dec 18, 2025
b589a25
Optimizing GPU-based spatial joins and implementing the filter operation
pwrliang Dec 24, 2025
590baba
Fix missing dependency
pwrliang Jan 15, 2026
065636d
feat(rust/sedona-spatial-join-gpu): Add GPU-accelerated spatial join …
zhangfengcdt Dec 17, 2025
13baef5
Cleanup
pwrliang Jan 15, 2026
d36cf80
Cleanup
pwrliang Jan 15, 2026
470eb03
Fix Clippy issues
pwrliang Jan 15, 2026
5419dca
Fix issues
pwrliang Jan 15, 2026
617ab51
Fix issues
pwrliang Jan 15, 2026
8e77deb
Fix CI
pwrliang Jan 15, 2026
c68bfad
Fix some issues
pwrliang Jan 16, 2026
01d495b
Fix test
pwrliang Jan 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 14 additions & 16 deletions .github/workflows/rust-gpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
strategy:
fail-fast: false
matrix:
name: [ "clippy", "docs", "test", "build" ]
name: [ "build_tests", "build_lib", "build_package" ]

name: "${{ matrix.name }}"
runs-on: ubuntu-latest
Expand Down Expand Up @@ -181,15 +181,6 @@ jobs:
# Bump the number at the end of this line to force a new dependency build
key: vcpkg-installed-${{ runner.os }}-${{ runner.arch }}-${{ env.VCPKG_REF }}-3

# Install vcpkg dependencies from vcpkg.json manifest
- name: Install vcpkg dependencies
if: steps.cache-vcpkg.outputs.cache-hit != 'true'
run: |
./vcpkg/vcpkg install abseil openssl
# Clean up vcpkg buildtrees and downloads to save space
rm -rf vcpkg/buildtrees
rm -rf vcpkg/downloads

- name: Use stable Rust
id: rust
run: |
Expand All @@ -200,10 +191,20 @@ jobs:
with:
prefix-key: "rust-gpu-v4"

- name: Build libgpuspatial Tests
if: matrix.name == 'build_tests'
run: |
echo "=== Building libgpuspatial tests ==="
cd c/sedona-libgpuspatial/libgpuspatial
mkdir build
cmake --preset=default-with-tests -S . -B build
cmake --build build --target all

# Build WITH GPU feature to compile CUDA code
# CUDA compilation (nvcc) works without GPU hardware
# Only GPU runtime execution requires actual GPU
- name: Build libgpuspatial (with CUDA compilation)
if: matrix.name == 'build_lib'
run: |
echo "=== Building libgpuspatial WITH GPU feature ==="
echo "Compiling CUDA code using nvcc (no GPU hardware needed for compilation)"
Expand All @@ -215,10 +216,7 @@ jobs:
# --lib builds only the library, not test binaries
cargo build --locked --package sedona-libgpuspatial --lib --features gpu --verbose

- name: Build libgpuspatial Tests
- name: Build GPU Spatial Join Package
if: matrix.name == 'build_package'
run: |
echo "=== Building libgpuspatial tests ==="
cd c/sedona-libgpuspatial/libgpuspatial
mkdir build
cmake --preset=default-with-tests -S . -B build
cmake --build build --target all
cargo build --workspace --package sedona-spatial-join-gpu --features gpu --verbose
2 changes: 1 addition & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ jobs:
- name: Test
if: matrix.name == 'test'
run: |
cargo test --workspace --all-targets --all-features
cargo test --workspace --all-targets --all-features --exclude sedona-libgpuspatial --exclude sedona-spatial-join-gpu
# Clean up intermediate build artifacts to free disk space aggressively
cargo clean -p sedona-s2geography
rm -rf target/debug/deps
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,4 @@ __pycache__
dev/release/.env

/.luarc.json
venv/
175 changes: 174 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ members = [
"rust/sedona-raster-functions",
"rust/sedona-schema",
"rust/sedona-spatial-join",
"rust/sedona-spatial-join-gpu",
"rust/sedona-testing",
"rust/sedona",
"sedona-cli",
Expand Down Expand Up @@ -147,9 +148,13 @@ sedona-schema = { version = "0.3.0", path = "rust/sedona-schema" }
sedona-spatial-join = { version = "0.3.0", path = "rust/sedona-spatial-join" }
sedona-testing = { version = "0.3.0", path = "rust/sedona-testing" }

# GPU spatial join
sedona-spatial-join-gpu = { version = "0.3.0", path = "rust/sedona-spatial-join-gpu" }

# C wrapper crates
sedona-geoarrow-c = { version = "0.3.0", path = "c/sedona-geoarrow-c" }
sedona-geos = { version = "0.3.0", path = "c/sedona-geos" }
sedona-libgpuspatial = { version = "0.3.0", path = "c/sedona-libgpuspatial" }
sedona-proj = { version = "0.3.0", path = "c/sedona-proj", default-features = false }
sedona-s2geography = { version = "0.3.0", path = "c/sedona-s2geography" }
sedona-tg = { version = "0.3.0", path = "c/sedona-tg" }
1 change: 1 addition & 0 deletions c/sedona-geoarrow-c/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ fn main() {
.include("src/")
.flag("-DGEOARROW_NAMESPACE=SedonaDB")
.flag("-DNANOARROW_NAMESPACE=SedonaDB")
.flag("-Wno-type-limits")
.compile("geoarrow");

cc::Build::new()
Expand Down
Loading
Loading