Skip to content

Release v0.7.0

Choose a tag to compare

@KhoiDOO KhoiDOO released this 23 Aug 20:58
· 166 commits to main since this release

Features

  • Dynamic Torchvision Versioning: Configured multi-version Conda environment setup and local wheel builders (create_envs.sh, build_wheels.sh) to automatically map PyTorch 2.8.0 with torchvision==0.23.0 and PyTorch 2.11.0 with torchvision==0.26.0.

Refactors & Build

  • Thrust & CUDA Memory Architecture: Completely eliminated RuntimeError: merge_sort: failed on 1st step: cudaErrorInvalidDevice: invalid device ordinal by routing all Thrust operations (sort_by_key, reduce_by_key, exclusive_scan, transform_reduce) through PyTorch's native at::cuda::ThrustAllocator and active CUDA stream at::cuda::getCurrentCUDAStream().
  • RAII Device Guards: Replaced manual device indexing calls with at::cuda::CUDAGuard across all TriangleMesh geometry, topology, and discrete differential operators (compute_laplacian, get_mean_curvature, get_gaussian_curvature, get_voronoi_areas, edges, vertex_to_triangle_offsets).
  • Data Structure Stability: Extended ThrustAllocator and active stream integration to parallel KDTree and Radix LBVH construction.
  • Version: Bumped version to v0.7.0.

Examples

  • Robust execution verified on CUDA for Laplace-Beltrami (mode=0 Uniform, mode=1 Cotangent), Mean & Gaussian Curvatures, Voronoi areas, and BVH pseudonormal queries.