Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SparseSuite does not build against OpenBLAS #660

Open
mleotta opened this issue Mar 26, 2021 · 3 comments
Open

SparseSuite does not build against OpenBLAS #660

mleotta opened this issue Mar 26, 2021 · 3 comments
Assignees

Comments

@mleotta
Copy link
Member

mleotta commented Mar 26, 2021

Describe the bug
SparesSuite on Linux requires LAPACK, which seems like it should be provided by OpenBLAS, but SparseSuite is not configured to use it. Note that the Ceres Solver documentation indicates that OpenBLAS can provide LAPACK for SparseSuite.

On this site it says:

On UNIX OSes other than macOS we recommend ATLAS, which includes BLAS and LAPACK routines. It is also possible to use OpenBLAS . However, one needs to be careful to turn off the threading inside OpenBLAS as it conflicts with use of threads in Ceres.

The symptom of this issue is that it is impossible to build SparseSuite in Fletch on Linux unless a system LAPACK is available. Our workout, for many years, has been to install a system package (e.g. on Ubuntu sudo apt-get install liblapack-dev is required). However, the point of fletch is to avoid such requirements. So we should fix this, especially if OpenBLAS is in Fletch and should fill this need.

@dstoup
Copy link
Collaborator

dstoup commented Mar 31, 2021

Should we consider upgrading the SuiteSparse version while we're at it? We currently provide 4.4.5 and the latest version is 5.6.0.

The issue here doesn't seem to be that OpenBLAS isn't passed in, it is. But there is a block before it

find_package(LAPACK)
if (NOT LAPACK_FOUND)
list (APPEND MISSING_DEPS "lapack")
endif()

That's where the lapack error is coming from. That said, SuiteSparse still doesn't build with our OpenBLAS when the lapack requirement is removed. I am looking into that as well. It's possible that we just need to fortran compiler but not sure yet.

@mleotta
Copy link
Member Author

mleotta commented Mar 31, 2021

I would say we should fix this issue with the current SuiteSparse unless upgrading to the latest version would make this fix easier. We still need to do a minor release of Fletch and KWIVER soon, and I would rather get that out first. Ultimately we should upgrade SuiteSparse, but I don't know if that will also require upgrading Ceres Solver. We should get another release out and then update lots of stuff after that.

@dstoup
Copy link
Collaborator

dstoup commented Mar 31, 2021 via email

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

No branches or pull requests

2 participants