whuaegeanse · GitHub

@whuaegeanse

Copy link Copy Markdown

Contributor

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.

Closed

@ahojnnes

Copy link Copy Markdown

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 Copy Markdown

Contributor

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 Copy Markdown

Contributor

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

S-o-T

ahojnnes

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.

@ahojnnes

Merged

@whuaegeanse

Closed

Read the original on github.com ↗