fletch
fletch copied to clipboard
SparseSuite does not build against OpenBLAS
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.
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.
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.
Makes sense, thanks. I will push on it.
On Wed, Mar 31, 2021 at 12:50 PM Matt Leotta @.***> wrote:
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.
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/Kitware/fletch/issues/660#issuecomment-811246995, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKEAWXFV2D65AHHU46XATLTGNHHHANCNFSM4Z4CTYIA .
-- David Stoup Principal Engineer
Kitware, Inc.
1712 Route 9, Suite 300 Clifton Park, NY 12065-3104 518-881-4949 (W) 518-312-3946 (M) 518-371-4573 (F)