Avoid SuiteSparse Dependency on CHOLMOD?

43 views
Skip to first unread message

dave.pt...@gmail.com

unread,
Mar 8, 2019, 3:39:49 PM3/8/19
to Theia Vision Library

Hi,

I've been reviewing the Theia documentation. It seems like a well organized and useful library.

I've installed it on voidlinux and everything seemed to work okay until I noticed that it seems to explicitly require SuiteSparse (I've built ceres-solver withOUT suitesparse) support.

In searching the Theia source code, it seems there's only one bit of code that requires SuiteSpares (CHOLMOD).

To resolve this dependency introduces an entire cascade of dependencies (e.g. SuiteSparse, then openmp, lapack, openblas, m4, ....)

Is there a way to eliminate this dependency (or a different version of Theia that is free from it)?

TIA,
Dave

Chris Sweeney

unread,
Mar 8, 2019, 4:06:00 PM3/8/19
to dave.pt...@gmail.com, Theia Vision Library
Theia is using SuiteSparse both for some in-house solvers and for Ceres so that it can utilize the sparse Schur Complement trick. I made this a requirement for Theia because the speedup is so dramatic that I feel it is crucial for anyone doing medium to large scale reconstruction should absolutely use SuiteSparse.

It would be a lot of work to remove SuiteSparse completely and handle all the corner cases where it's not available, etc. so unfortunately I don't think it is going to go away :(

--
You received this message because you are subscribed to the Google Groups "Theia Vision Library" group.
To unsubscribe from this group and stop receiving emails from it, send an email to theia-vision-lib...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

dave.pt...@gmail.com

unread,
Mar 8, 2019, 4:24:05 PM3/8/19
to Theia Vision Library
On Friday, March 8, 2019 at 2:06:00 PM UTC-7, Chris Sweeney wrote:
> Theia is using SuiteSparse both for some in-house solvers and for Ceres so that it can utilize the sparse Schur Complement trick. I made this a requirement for Theia because the speedup is so dramatic that I feel it is crucial for anyone doing medium to large scale reconstruction should absolutely use SuiteSparse.
>
> It would be a lot of work to remove SuiteSparse completely and handle all the corner cases where it's not available, etc. so unfortunately I don't think it is going to go away :(

Hi Chris,

Thank you for your extremely quick and informative response.

I assume from what you are saying that ceres-solver should *also* be built with SuiteSparse enabled? (I understand the speedup issue/benefits - what i mean here is if building ceres-solver with SuiteSparse is a *requirement in order to build Theia).

Thanks again for the pointers.

Dave

dave.pt...@gmail.com

unread,
Mar 8, 2019, 5:07:40 PM3/8/19
to Theia Vision Library
> I assume from what you are saying that ceres-solver should *also* be built with SuiteSparse enabled?

To answer my own post...

Yes. Seems like building ceres-solver with SuiteSparse enabled is required (at least at the moment git/head 2019.03.08). Otherwise the ceres-solver build ends up installing CMakeLists.txt files that can not be processed by Theia configuration - i.e. a subsequent Theia cmake configuration operation hard-aborts with report of an error within the ceres-solver installed CMakeLists.txt files.

Dave

Chris Sweeney

unread,
Mar 8, 2019, 8:34:15 PM3/8/19
to dave.pt...@gmail.com, Theia Vision Library
Yep, there is logic in place to ensure Ceres had suitesparse installed.


Reply all
Reply to author
Forward
0 new messages