Skip to content

Fix incorrect channel ordering in FusedSSIM prefetch - #750

Merged
matthewdcong merged 4 commits into
openvdb:mainfrom
matthewdcong:fix_ssim_prefetch_order
Aug 22, 2026
Merged

Fix incorrect channel ordering in FusedSSIM prefetch#750
matthewdcong merged 4 commits into
openvdb:mainfrom
matthewdcong:fix_ssim_prefetch_order

Conversation

@matthewdcong

Copy link
Copy Markdown
Contributor

Previously, prefetching in FusedSSIM assumed a NHWC ordering which matches the storage ordering of the image on disk. However, the image is permuted during the training pipeline to NCHW in order to leverage the fused SSIM kernels. This incorrect prefetching led to a significantly amount of unnecessary UVM traffic and fixing it improves fused SSIM scalability dramatically. Measured on 2x RTX 3090s:

Resolution Inference: before Inference: after Improvement Training: before Training: after Improvement Backward: before Backward: after Improvement
1920x1080 1.110 ms 0.559 ms 1.99x / 49.7% 1.707 ms 0.971 ms 1.76x / 43.1% 2.353 ms 1.108 ms 2.12x / 52.9%
3840x2160 4.077 ms 1.227 ms 3.32x / 69.9% 6.143 ms 2.084 ms 2.95x / 66.1% 7.802 ms 2.222 ms 3.51x / 71.5%
7680x4320 17.089 ms 3.942 ms 4.33x / 76.9% 24.976 ms 6.078 ms 4.11x / 75.7% 31.815 ms 6.818 ms 4.67x / 78.6%

@matthewdcong
matthewdcong requested a review from a team as a code owner August 21, 2026 22:50
Signed-off-by: Matthew Cong <mcong@nvidia.com>
Signed-off-by: Matthew Cong <mcong@nvidia.com>
Signed-off-by: Matthew Cong <mcong@nvidia.com>
@matthewdcong
matthewdcong force-pushed the fix_ssim_prefetch_order branch from 111b939 to a58bc45 Compare August 21, 2026 22:51
Comment thread src/fvdb/detail/ops/gsplat/FusedSSIM.cu Outdated

@swahtz swahtz left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks great. Small nit that a Codex review found but otherwise lgtm

Signed-off-by: Matthew Cong <mcong@nvidia.com>
@matthewdcong
matthewdcong force-pushed the fix_ssim_prefetch_order branch from 50b8121 to 92b944e Compare August 22, 2026 01:51
@matthewdcong
matthewdcong enabled auto-merge (squash) August 22, 2026 01:52
@matthewdcong
matthewdcong merged commit eb2f410 into openvdb:main Aug 22, 2026
40 checks passed
@matthewdcong
matthewdcong deleted the fix_ssim_prefetch_order branch August 22, 2026 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants