Skip to content

Fix: GaussianProjectionBackward dLossDQuat missing warpSum#435

Merged
swahtz merged 2 commits intoopenvdb:mainfrom
swahtz:fix/projection_backwards_batch_quat_loss
Feb 9, 2026
Merged

Fix: GaussianProjectionBackward dLossDQuat missing warpSum#435
swahtz merged 2 commits intoopenvdb:mainfrom
swahtz:fix/projection_backwards_batch_quat_loss

Conversation

@swahtz
Copy link
Contributor

@swahtz swahtz commented Jan 30, 2026

Fixed dLossDQuat missing the warpSum where gradients across all cameras need to be summed before writing to output. The other quantities (point, covar, scale) are correctly summed but dLossDQuat was missing a warpSum, leading to only the gradients from thread rank 0 (1 camera) to be used for this quantity.

Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
@swahtz swahtz requested a review from a team as a code owner January 30, 2026 01:36
@swahtz swahtz requested review from harrism and sifakis January 30, 2026 01:36
@swahtz swahtz added bug Something isn't working Gaussian Splatting Issues related to Gaussian splattng in the core library labels Jan 30, 2026
@swahtz swahtz requested review from Copilot and removed request for harrism and sifakis January 30, 2026 01:36
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a critical bug in the CUDA kernel for Gaussian projection backward pass where gradient accumulation for quaternion parameters was incomplete. The missing warpSum operation caused only a single thread's gradients to be used instead of properly summing gradients across all threads in a warp group.

Changes:

  • Added missing warpSum(dLossDQuat, warp_group_g) call before writing quaternion gradients to ensure proper reduction across threads

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@harrism harrism changed the title Fix: GaussianProjectxionBackward dLossDQuat missing warpSum Fix: GaussianProjectionBackward dLossDQuat missing warpSum Feb 3, 2026
Signed-off-by: Jonathan Swartz <jonathan@jswartz.info>
@swahtz swahtz enabled auto-merge (squash) February 9, 2026 00:53
@swahtz swahtz merged commit 2cc7f6b into openvdb:main Feb 9, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working Gaussian Splatting Issues related to Gaussian splattng in the core library

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants