add separate flags for lapack
parent
70adcb26c9
commit
1547597ba4
12
configure.ac
12
configure.ac
|
@ -54,6 +54,18 @@ AC_ARG_ENABLE([blas],
|
|||
AM_CONDITIONAL([USE_BLAS_MACOS], [test x$blas = xtrue && test x$ISMAC = xtrue])
|
||||
AM_CONDITIONAL([USE_BLAS_LINUX], [test x$blas = xtrue && test x$ISMAC = xfalse])
|
||||
|
||||
# enable LAPACK
|
||||
AC_ARG_ENABLE([lapack],
|
||||
[ --enable-lapack Enable external LAPACK library],
|
||||
[case "${enableval}" in
|
||||
yes) lapack=true ;;
|
||||
no) lapack=false ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-lapack]) ;;
|
||||
esac],[lapack=false])
|
||||
|
||||
AM_CONDITIONAL([USE_LAPACK_MACOS], [test x$lapack = xtrue && test x$ISMAC = xtrue])
|
||||
AM_CONDITIONAL([USE_VECLIB_MACOS], [(test x$lapack = xtrue || test x$blas = xtrue) && test x$ISMAC = xtrue])
|
||||
|
||||
#enabgle SparseQR for linear solving
|
||||
AC_ARG_ENABLE([spqr],
|
||||
[ --enable-spqr Enable SparseQR library support],
|
||||
|
|
|
@ -322,13 +322,20 @@ libgtsam_la_LDFLAGS += -lcblas -latlas # $(BLAS_LIBS) $(LIBS) $(FLIBS)
|
|||
endif
|
||||
|
||||
if USE_BLAS_MACOS
|
||||
AM_CXXFLAGS += -DGT_USE_CBLAS -DYA_BLAS -DYA_LAPACK -DYA_BLASMULT -I/System/Library/Frameworks/vecLib.framework/Headers
|
||||
AM_CXXFLAGS += -DGT_USE_CBLAS
|
||||
endif
|
||||
|
||||
if USE_LAPACK_MACOS
|
||||
AM_CXXFLAGS += -DGT_USE_LAPACK
|
||||
endif
|
||||
|
||||
if USE_VECLIB_MACOS
|
||||
AM_CXXFLAGS += -DYA_BLAS -DYA_LAPACK -DYA_BLASMULT -I/System/Library/Frameworks/vecLib.framework/Headers
|
||||
libgtsam_la_CPPFLAGS += -DGT_USE_CBLAS -DYA_BLAS -DYA_LAPACK -DYA_BLASMULT -I/System/Library/Frameworks/vecLib.framework/Headers
|
||||
AM_LDFLAGS += -lcblas -latlas
|
||||
libgtsam_la_LDFLAGS += -framework vecLib -lcblas -latlas
|
||||
endif
|
||||
|
||||
|
||||
TESTS = $(check_PROGRAMS)
|
||||
CXXLINK = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
|
||||
$(CXXLD) -g $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
|
||||
|
|
|
@ -13,12 +13,15 @@
|
|||
#ifdef GT_USE_CBLAS
|
||||
#ifdef YA_BLAS
|
||||
#include <vecLib/cblas.h>
|
||||
#include <vecLib/clapack.h>
|
||||
#else
|
||||
#include <cblas.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef GT_USE_LAPACK
|
||||
#include <vecLib/clapack.h>
|
||||
#endif
|
||||
|
||||
#include <boost/numeric/ublas/matrix_proxy.hpp>
|
||||
#include <boost/foreach.hpp>
|
||||
#include <boost/numeric/ublas/lu.hpp>
|
||||
|
@ -654,7 +657,7 @@ void householder(Matrix &A, size_t k) {
|
|||
/* ************************************************************************* */
|
||||
/** in-place householder */
|
||||
/* ************************************************************************* */
|
||||
#ifdef GT_USE_CBLAS
|
||||
#ifdef GT_USE_LAPACK
|
||||
void householder(Matrix &A) {
|
||||
int m = A.size1();
|
||||
int n = A.size2();
|
||||
|
|
|
@ -255,7 +255,7 @@ void householder(Matrix& A, size_t k);
|
|||
* @param k number of columns to zero out below diagonal
|
||||
* @return nothing: in place !!!
|
||||
*/
|
||||
#ifdef GT_USE_CBLAS
|
||||
#ifdef GT_USE_LAPACK
|
||||
void householder(Matrix &A);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ SharedDiagonal Gaussian::QR(Matrix& Ab) const {
|
|||
if (verbose) gtsam::print(Ab, "Ab after whitening");
|
||||
|
||||
// Perform in-place Householder
|
||||
#ifdef GT_USE_CBLAS
|
||||
#ifdef GT_USE_LAPACK
|
||||
householder(Ab);
|
||||
#else
|
||||
householder(Ab, maxRank);
|
||||
|
|
|
@ -641,7 +641,7 @@ TEST( matrix, houseHolder )
|
|||
/* ************************************************************************* */
|
||||
// unit tests for housholder transformation
|
||||
/* ************************************************************************* */
|
||||
#ifdef GT_USE_CBLAS
|
||||
#ifdef GT_USE_LAPACK
|
||||
TEST( matrix, houseHolder2 )
|
||||
{
|
||||
double data[] = { -5, 0, 5, 0, 0, 0, -1,
|
||||
|
|
Loading…
Reference in New Issue