Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@whuaegeanse
Copy link
Contributor

@whuaegeanse whuaegeanse commented Sep 5, 2024

This PR attempts to fix #2746 .

cudss is available in ceres since 2.3.0.
In ceres 2.2.0, CUDA_SPARSE is used for the CGNR solver instead of the SPARSE_SCHUR solver.

@ahojnnes
Copy link
Contributor

Thank you @whuaegeanse. CGNR is technically not a sparse direct solver, so the current option description is not correct. I am still wondering whether CUDA_SPARSE would result in a speedup even without cudss? Is there a way to switch between the sparse direct and indirect CUDA solvers in ceres >=2.3?

@S-o-T
Copy link
Contributor

S-o-T commented Sep 10, 2024

Is there a way to switch between the sparse direct and indirect CUDA solvers in ceres >=2.3?

ceres-solver still can't leverage CUDA-capable GPU in context of pcg with implicit schur complement. There is an issue available to be tracked.

@DmitriyKorchemkin did some work in that direction, although it staled a while ago.

@ahojnnes
Copy link
Contributor

Thank you @S-o-T for the answer. To me the fix here looks correct. Would you be able to also confirm? Thanks.

Copy link
Contributor

@ahojnnes ahojnnes left a comment

Choose a reason for hiding this comment

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

Thank you @whuaegeanse for the fix.

@ahojnnes ahojnnes merged commit 10e4f21 into colmap:main Sep 11, 2024
@whuaegeanse whuaegeanse deleted the fix_ceres_options branch August 21, 2025 17:06
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.

COLMAP with CUDA-enabled BA

3 participants