Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ removed no sooner than the next major (see `docs/API_STABILITY.md`).

### Changed

- Extend `register-icp-gpu` with explicit `align_with_gpu_reduction`: retain
original source/target on GPU, transform, match and reduce centered moments
on device, then download a fixed 176-byte result per evaluation. CPU Horn
pose solving and convergence remain; post-update moments are reused for the
next update and final fitness. Ordinary CPU/correspondence paths retain their
math and trimming support. The new route requires untrimmed ICP and documents
f32 matching/reduction/conditioning differences and full-call measurements.

- Add opt-in `filter-mls-gpu` smoothing for constant, linear and quadratic
surfaces. Reusable input-bound radius rows feed GPU weighted frames and
polynomial fits in three passes; explicit upload/download receipts and
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -644,6 +644,14 @@ The target KD-tree is uploaded once and reused for update/fitness queries;
the result contains the ICP trace and transfer accounting. Pose estimation
remains on CPU. See [measurements and limits](notes/2026-10-12_gpu_icp_correspondences.md).

`IcpRegistration::align_with_gpu_reduction(&runtime, &source, &target)` under
the same feature retains both clouds on GPU and also runs coordinate transforms,
centroid/cross-covariance and fitness reductions on device. Each evaluation
downloads only 176 bytes of moments/status; CPU pose solving and convergence
remain. This route requires untrimmed ICP and uses f32 device math, which can
differ near match gates and degenerate geometry. See
[resident ICP measurements](notes/2026-10-13_gpu_icp_reduction.md).

GICP exposes the same explicit correspondence entry point under
`register-gicp-gpu`; configured radius covariances run on the supplied runtime
and share the transfer receipt. Its Hessian/gradient accumulation and pose
Expand Down
Loading
Loading