A large scale non-linear optimization library

Overview

Build Status

Ceres Solver

Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.

  1. Non-linear Least Squares problems with bounds constraints.
  2. General unconstrained optimization problems.

Please see ceres-solver.org for more information.

Comments
  • Improve the polynomial solvers

    Improve the polynomial solvers

    The current implementation of polynomial solvers used by the dogleg and line search routines is based on a mix of analytic formulae for up to quadratic equations and then a companion matrix based solver.

    The companion matrix based solver is slow, because it requires the solution of an eigenvalue problem. Since the equations we are solving only involve a quartic of lower, it should be replaced by a numerically stable analytic solver.

    This should be done for the cubic equation too. Further, the implementation of the quadratic solver can be improved too. Currently it uses the rather naive quadratic formula which is known to be not particularly numerically stable.

    enhancement Type-Enhancement Performance 
    opened by sandwichmaker 29
  • fmin/fmax semantics are problematic when comparing Jets with scalars

    fmin/fmax semantics are problematic when comparing Jets with scalars

    cc: @sergiud

    @alexsmac found an instance of this in production code. But here is a minimal reproduction. Consider the following two tests.

    TEST(Jet, FmaxEqualRealPartLeft) {
      const J x = MakeJet(1, 2, 3);
      const J y = fmax(x, x.a);
      EXPECT_EQ(y.a, x.a) << y << " " << x;
      EXPECT_EQ(y.v, x.v) << y << " " << x;
    }
    
    TEST(Jet, FmaxEqualRealPartRight) {
      const J x = MakeJet(1, 2, 3);
      const J y = fmax(x.a, x);
      EXPECT_EQ(y.a, x.a) << y << " " << x;
      EXPECT_EQ(y.v, x.v) << y << " " << x;
    }
    
    
    [ RUN      ] Jet.FmaxEqualRealPartLeft
    /Users/sameeragarwal/ceres-solver/internal/ceres/jet_test.cc:1295: Failure
    Expected equality of these values:
      y.v
        Which is: { 0, 0 }
      x.v
        Which is: { 2, 3 }
    [1 ; 0, 0] [1 ; 2, 3]
    [  FAILED  ] Jet.FmaxEqualRealPartLeft (0 ms)
    [ RUN      ] Jet.FmaxEqualRealPartRight
    [       OK ] Jet.FmaxEqualRealPartRight (0 ms)
    [----------] 34 tests from Jet (0 ms total)
    

    FmaxEqualPartRight passes while FmaxEqualPartLeft fails. The issue is the way we do jet v/s scalar comparisons. We promote the scalar to a jet with zero derivative and compare the real parts. If both the operands are jets to begin with then what derivative is returned is ambiguous.

    However if one of them is scalar, then depending on whether the scalar is first operand or second, we can end up with a completely zero derivative, which does not seem ideal. The same problem is present with fmin.

    bug 
    opened by sandwichmaker 26
  • Include ceres-solver as fetchcontent directory

    Include ceres-solver as fetchcontent directory

    Hi,

    I am trying to use ceres-solver (the master branch)with the development HEAD of Eigen, both are included as FetchContent projects:

    include(FetchContent)
    function(FetchContentHelper name vc url tag)
        set(options ADD_SUBDIR)
        set(mvargs CONFIG_SUBDIR)
        cmake_parse_arguments(PARSE_ARGV 4 FCH "${options}" "" "${mvargs}")
    
        FetchContent_Declare(
            ${name}
            ${vc}_REPOSITORY ${url}
            ${vc}_TAG        ${tag}
            GIT_PROGRESS     ON
        )
        FetchContent_GetProperties(${name})
        if(NOT ${name}_POPULATED)
            message("Setting up ${name} from ${url}")
            FetchContent_Populate(${name})
            if(FCH_ADD_SUBDIR)
                foreach(config ${FCH_CONFIG_SUBDIR})
                    string(REPLACE "=" ";" configkeyval ${config})
                    list(LENGTH configkeyval len)
                    if (len GREATER_EQUAL 2)
                        list(GET configkeyval 0 configkey)
                        list(SUBLIST configkeyval 1 -1 configvals)
                        string(REPLACE ";" "=" configval "${configvals}")
                    else()
                        message(FATAL_ERROR "Invalid config: ${configkeyval}")
                    endif()
                    message("Set ${configkey} = ${configval}")
                    set(${configkey} ${configval} CACHE INTERNAL "" FORCE)
                endforeach()
                set(${name}_SOURCE_DIR ${${name}_SOURCE_DIR} PARENT_SCOPE)
                set(${name}_BINARY_DIR ${${name}_BINARY_DIR} PARENT_SCOPE)
                add_subdirectory(${${name}_SOURCE_DIR} ${${name}_BINARY_DIR} EXCLUDE_FROM_ALL)
            endif()
        endif()
    endfunction(FetchContentHelper)
    FetchContentHelper(spdlog GIT "https://github.com/gabime/spdlog.git" v1.x ADD_SUBDIR)
    FetchContentHelper(fmt GIT "https://github.com/fmtlib/fmt.git" 5.2.1 ADD_SUBDIR)
    FetchContentHelper(eigen HG "https://bitbucket.org/eigen/eigen" default
        ADD_SUBDIR CONFIG_SUBDIR
            BUILD_TESTING=OFF
            )
    # !1
    set(Eigen3_DIR ${eigen_BINARY_DIR})
    find_package(Eigen3 REQUIRED NO_MODULE NO_DEFAULT_PATH)
    # get_target_property(eigen_include_dir Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES)  # !2
    FetchContentHelper(ceres GIT "https://github.com/ceres-solver/ceres-solver.git" master
        ADD_SUBDIR CONFIG_SUBDIR
          EIGEN_INCLUDE_DIR=${eigen_SOURCE_DIR}  # !3
          EIGENSPARSE=ON
          SUITESPARSE=ON
          CXSPARSE=OFF
          GFLAGS=OFF
          MINIGLOG=ON
          CXX11=ON
          OPENMP=ON
          EXPORT_BUILD_DIR=ON
        )
    set(Ceres_DIR ${ceres_BINARY_DIR})
    find_package(Ceres REQUIRED NO_DEFAULT_PATH)  # !4
    

    In general, this works, but there are places that do not work and/or confusing to me.

    • !1: This is to import Eigen3::Eigen target.
    • !2: This attempts to read the include dir property of Eigen3::Eigen, which I though I could use as EIGEN_INCLUDE_DIR in configuring ceres, but it turn out that the property from get_property is a generator expression, so it causes an error in the ceres cmake file.
    • !3: Since !2 does not work, I use ${eigen_SOURCE_DIR} (populated by the fetchcontent_polulate command) to instruct the cere cmake file to find eigen, and it does work. However, this breaks when exporting the ceres target, due to the fact that this EIGEN_INCLUDE_DIR is in the build tree and cannot be set as one of the directories in INTERFACE_INCLUDE_DIR property. I can work around the problem by making the following change in ceres-src/internal/ceres/CMakeLists.txt:
    # target_include_directories(ceres SYSTEM PUBLIC ${EIGEN_INCLUDE_DIRS})
    target_include_directories(ceres SYSTEM PUBLIC
        $<BUILD_INTERFACE:${EIGEN_INCLUDE_DIRS}>
      $<INSTALL_INTERFACE:include>)
    
    • !4: Finally, I can import the ceres target, but not sure if this is the right way of doing it.

    Any help is greatly appreciated. Thank you!

    cmake 
    opened by Jerry-Ma 21
  • check_gradients seems to improve my solver

    check_gradients seems to improve my solver

    I have a solver that is formulated such that it runs for a maximum amount of time or a complicated stop criteria is seen in a option callback. When I do this, I see the stopping criteria is seen only ~70% of the time. When the only change I make is options.check_gradients = true; That solve rate spikes to 97.4%. I cannot for the life of me figure out what check_gradients might be changing in the solver to make the solver actually solve differently.

    opened by pbeeson 21
  • Three subtests of small_blas_test fail in C++17/20 mode in VS2022

    Three subtests of small_blas_test fail in C++17/20 mode in VS2022

    Hi,

    With CMAKE_CXX_STANDARD=20 on VS 2022, the three sub-tests BLAS.MatrixTransposeMatrixMultiply_9_9_9_Dynamic, BLAS.MatrixTransposeMatrixMultiplyNaive_9_9_9 and BLAS.MatrixTransposeMatrixMultiplyNaive_9_9_9_Dynamic fail (all others pass). I'm using Eigen 3.4.0.

    Here's partial log output:

    D:\ceres\ceres-solver\out\build\x64-Release> ctest . --rerun-failed -V
    UpdateCTestConfiguration  from :D:/ceres/ceres-solver/out/build/x64-Release/DartConfiguration.tcl
    UpdateCTestConfiguration  from :D:/ceres/ceres-solver/out/build/x64-Release/DartConfiguration.tcl
    Test project D:/ceres/ceres-solver/out/build/x64-Release
    Constructing a list of tests
    Done constructing a list of tests
    Updating test list for fixtures
    Added 0 tests to meet fixture requirements
    Checking test dependency graph...
    Checking test dependency graph end
    test 85
        Start 85: small_blas_test
    
    85: Test command: D:\ceres\ceres-solver\out\build\x64-Release\bin\small_blas_test.exe "--test_srcdir" "D:/ceres/ceres-solver/data"
    85: Test timeout computed to be: 10000000
    85: Running main() from gmock_main.cc
    85: [==========] Running 26 tests from 1 test suite.
    85: [----------] Global test environment set-up.
    85: [----------] 26 tests from BLAS
    85: [ RUN      ] BLAS.MatrixMatrixMultiply_5_3_7
    85: [       OK ] BLAS.MatrixMatrixMultiply_5_3_7 (2 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiply_5_3_7_Dynamic
    85: [       OK ] BLAS.MatrixMatrixMultiply_5_3_7_Dynamic (2 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiply_1_1_1
    85: [       OK ] BLAS.MatrixMatrixMultiply_1_1_1 (0 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiply_1_1_1_Dynamic
    85: [       OK ] BLAS.MatrixMatrixMultiply_1_1_1_Dynamic (0 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiply_9_9_9
    85: [       OK ] BLAS.MatrixMatrixMultiply_9_9_9 (43 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiply_9_9_9_Dynamic
    85: [       OK ] BLAS.MatrixMatrixMultiply_9_9_9_Dynamic (45 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiplyNaive_5_3_7
    85: [       OK ] BLAS.MatrixMatrixMultiplyNaive_5_3_7 (2 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiplyNaive_5_3_7_Dynamic
    85: [       OK ] BLAS.MatrixMatrixMultiplyNaive_5_3_7_Dynamic (3 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiplyNaive_1_1_1
    85: [       OK ] BLAS.MatrixMatrixMultiplyNaive_1_1_1 (0 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiplyNaive_1_1_1_Dynamic
    85: [       OK ] BLAS.MatrixMatrixMultiplyNaive_1_1_1_Dynamic (0 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiplyNaive_9_9_9
    85: [       OK ] BLAS.MatrixMatrixMultiplyNaive_9_9_9 (44 ms)
    85: [ RUN      ] BLAS.MatrixMatrixMultiplyNaive_9_9_9_Dynamic
    85: [       OK ] BLAS.MatrixMatrixMultiplyNaive_9_9_9_Dynamic (44 ms)
    85: [ RUN      ] BLAS.MatrixTransposeMatrixMultiply_5_3_7
    85: [       OK ] BLAS.MatrixTransposeMatrixMultiply_5_3_7 (0 ms)
    85: [ RUN      ] BLAS.MatrixTransposeMatrixMultiply_5_3_7_Dynamic
    85: [       OK ] BLAS.MatrixTransposeMatrixMultiply_5_3_7_Dynamic (0 ms)
    85: [ RUN      ] BLAS.MatrixTransposeMatrixMultiply_1_1_1
    85: [       OK ] BLAS.MatrixTransposeMatrixMultiply_1_1_1 (0 ms)
    85: [ RUN      ] BLAS.MatrixTransposeMatrixMultiply_1_1_1_Dynamic
    85: [       OK ] BLAS.MatrixTransposeMatrixMultiply_1_1_1_Dynamic (0 ms)
    85: [ RUN      ] BLAS.MatrixTransposeMatrixMultiply_9_9_9
    85: [       OK ] BLAS.MatrixTransposeMatrixMultiply_9_9_9 (40 ms)
    85: [ RUN      ] BLAS.MatrixTransposeMatrixMultiply_9_9_9_Dynamic
    85: D:\ceres\ceres-solver\internal\ceres\small_blas_test.cc(199): error: The difference between (C_plus_ref - C_plus).norm() and 0.0 is 1251.7156226555614, which exceeds kTolerance, where
    85: (C_plus_ref - C_plus).norm() evaluates to 1251.7156226555614,
    85: 0.0 evaluates to 0, and
    85: kTolerance evaluates to 1.1102230246251565e-15.
    85: C += A' * B
    85: row_stride_c : 10
    85: col_stride_c : 10
    85: start_row_c  : 0
    85: start_col_c  : 0
    85: Cref :
    85:  286  331  376  421  466  511  556  601  646    1
    85:  331  385  439  493  547  601  655  709  763    1
    85:  376  439  502  565  628  691  754  817  880    1
    85:  421  493  565  637  709  781  853  925  997    1
    85:  466  547  628  709  790  871  952 1033 1114    1
    85:  511  601  691  781  871  961 1051 1141 1231    1
    85:  556  655  754  853  952 1051 1150 1249 1348    1
    85:  601  709  817  925 1033 1141 1249 1357 1465    1
    85:  646  763  880  997 1114 1231 1348 1465 1582    1
    85:    1    1    1    1    1    1    1    1    1    1
    85: C:
    85:  286  331  326  361  466  511  466  501  646    1
    85:  331  385  371  411  547  601  531  571  763    1
    85:  376  439  416  461  628  691  596  641  880    1
    85:  421  493  461  511  709  781  661  711  997    1
    85:  466  547  506  561  790  871  726  781 1114    1
    85:  511  601  551  611  871  961  791  851 1231    1
    85:  556  655  596  661  952 1051  856  921 1348    1
    85:  601  709  641  711 1033 1141  921  991 1465    1
    85:  646  763  686  761 1114 1231  986 1061 1582    1
    85:    1    1    1    1    1    1    1    1    1    1
    85: D:\ceres\ceres-solver\internal\ceres\small_blas_test.cc(217): error: The difference between (C_minus_ref - C_minus).norm() and 0.0 is 1251.7156226555614, which exceeds kTolerance, where
    85: (C_minus_ref - C_minus).norm() evaluates to 1251.7156226555614,
    85: 0.0 evaluates to 0, and
    85: kTolerance evaluates to 1.1102230246251565e-15.
    85: C -= A' * B
    85: row_stride_c : 10
    85: col_stride_c : 10
    85: start_row_c  : 0
    85: start_col_c  : 0
    85: Cref :
    85:  -284  -329  -374  -419  -464  -509  -554  -599  -644     1
    85:  -329  -383  -437  -491  -545  -599  -653  -707  -761     1
    85:  -374  -437  -500  -563  -626  -689  -752  -815  -878     1
    85:  -419  -491  -563  -635  -707  -779  -851  -923  -995     1
    85:  -464  -545  -626  -707  -788  -869  -950 -1031 -1112     1
    85:  -509  -599  -689  -779  -869  -959 -1049 -1139 -1229     1
    85:  -554  -653  -752  -851  -950 -1049 -1148 -1247 -1346     1
    85:  -599  -707  -815  -923 -1031 -1139 -1247 -1355 -1463     1
    85:  -644  -761  -878  -995 -1112 -1229 -1346 -1463 -1580     1
    85:     1     1     1     1     1     1     1     1     1     1
    85: C:
    85:  -284  -329  -324  -359  -464  -509  -464  -499  -644     1
    85:  -329  -383  -369  -409  -545  -599  -529  -569  -761     1
    85:  -374  -437  -414  -459  -626  -689  -594  -639  -878     1
    85:  -419  -491  -459  -509  -707  -779  -659  -709  -995     1
    85:  -464  -545  -504  -559  -788  -869  -724  -779 -1112     1
    85:  -509  -599  -549  -609  -869  -959  -789  -849 -1229     1
    85:  -554  -653  -594  -659  -950 -1049  -854  -919 -1346     1
    85:  -599  -707  -639  -709 -1031 -1139  -919  -989 -1463     1
    85:  -644  -761  -684  -759 -1112 -1229  -984 -1059 -1580     1
    85:     1     1     1     1     1     1     1     1     1     1
    85: D:\ceres\ceres-solver\internal\ceres\small_blas_test.cc(235): error: The difference between (C_assign_ref - C_assign).norm() and 0.0 is 1251.7156226555614, which exceeds kTolerance, where
    85: (C_assign_ref - C_assign).norm() evaluates to 1251.7156226555614,
    85: 0.0 evaluates to 0, and
    85: kTolerance evaluates to 1.1102230246251565e-15.
    85: C = A' * B
    85: row_stride_c : 10
    85: col_stride_c : 10
    85: start_row_c  : 0
    85: start_col_c  : 0
    85: Cref :
    85:  285  330  375  420  465  510  555  600  645    1
    85:  330  384  438  492  546  600  654  708  762    1
    85:  375  438  501  564  627  690  753  816  879    1
    85:  420  492  564  636  708  780  852  924  996    1
    85:  465  546  627  708  789  870  951 1032 1113    1
    85:  510  600  690  780  870  960 1050 1140 1230    1
    85:  555  654  753  852  951 1050 1149 1248 1347    1
    85:  600  708  816  924 1032 1140 1248 1356 1464    1
    85:  645  762  879  996 1113 1230 1347 1464 1581    1
    85:    1    1    1    1    1    1    1    1    1    1
    85: C:
    85:  285  330  325  360  465  510  465  500  645    1
    85:  330  384  370  410  546  600  530  570  762    1
    85:  375  438  415  460  627  690  595  640  879    1
    85:  420  492  460  510  708  780  660  710  996    1
    85:  465  546  505  560  789  870  725  780 1113    1
    85:  510  600  550  610  870  960  790  850 1230    1
    85:  555  654  595  660  951 1050  855  920 1347    1
    85:  600  708  640  710 1032 1140  920  990 1464    1
    85:  645  762  685  760 1113 1230  985 1060 1581    1
    85:    1    1    1    1    1    1    1    1    1    1
    85: D:\ceres\ceres-solver\internal\ceres\small_blas_test.cc(199): error: The difference between (C_plus_ref - C_plus).norm() and 0.0 is 1251.7156226555614, which exceeds kTolerance, where
    85: (C_plus_ref - C_plus).norm() evaluates to 1251.7156226555614,
    85: 0.0 evaluates to 0, and
    85: kTolerance evaluates to 1.1102230246251565e-15.
    85: C += A' * B
    85: row_stride_c : 10
    85: col_stride_c : 11
    85: start_row_c  : 0
    85: start_col_c  : 0
    85: Cref :
    85:  286  331  376  421  466  511  556  601  646    1    1
    85:  331  385  439  493  547  601  655  709  763    1    1
    85:  376  439  502  565  628  691  754  817  880    1    1
    85:  421  493  565  637  709  781  853  925  997    1    1
    85:  466  547  628  709  790  871  952 1033 1114    1    1
    85:  511  601  691  781  871  961 1051 1141 1231    1    1
    85:  556  655  754  853  952 1051 1150 1249 1348    1    1
    85:  601  709  817  925 1033 1141 1249 1357 1465    1    1
    85:  646  763  880  997 1114 1231 1348 1465 1582    1    1
    85:    1    1    1    1    1    1    1    1    1    1    1
    85: C:
    85:  286  331  326  361  466  511  466  501  646    1    1
    85:  331  385  371  411  547  601  531  571  763    1    1
    85:  376  439  416  461  628  691  596  641  880    1    1
    85:  421  493  461  511  709  781  661  711  997    1    1
    85:  466  547  506  561  790  871  726  781 1114    1    1
    85:  511  601  551  611  871  961  791  851 1231    1    1
    85:  556  655  596  661  952 1051  856  921 1348    1    1
    85:  601  709  641  711 1033 1141  921  991 1465    1    1
    85:  646  763  686  761 1114 1231  986 1061 1582    1    1
    85:    1    1    1    1    1    1    1    1    1    1    1
    85: D:\ceres\ceres-solver\internal\ceres\small_blas_test.cc(217): error: The difference between (C_minus_ref - C_minus).norm() and 0.0 is 1251.7156226555614, which exceeds kTolerance, where
    85: (C_minus_ref - C_minus).norm() evaluates to 1251.7156226555614,
    85: 0.0 evaluates to 0, and
    85: kTolerance evaluates to 1.1102230246251565e-15.
    85: C -= A' * B
    85: row_stride_c : 10
    85: col_stride_c : 11
    85: start_row_c  : 0
    85: start_col_c  : 0
    85: Cref :
    85:  -284  -329  -374  -419  -464  -509  -554  -599  -644     1     1
    85:  -329  -383  -437  -491  -545  -599  -653  -707  -761     1     1
    85:  -374  -437  -500  -563  -626  -689  -752  -815  -878     1     1
    85:  -419  -491  -563  -635  -707  -779  -851  -923  -995     1     1
    85:  -464  -545  -626  -707  -788  -869  -950 -1031 -1112     1     1
    85:  -509  -599  -689  -779  -869  -959 -1049 -1139 -1229     1     1
    85:  -554  -653  -752  -851  -950 -1049 -1148 -1247 -1346     1     1
    85:  -599  -707  -815  -923 -1031 -1139 -1247 -1355 -1463     1     1
    85:  -644  -761  -878  -995 -1112 -1229 -1346 -1463 -1580     1     1
    85:     1     1     1     1     1     1     1     1     1     1     1
    85: C:
    85:  -284  -329  -324  -359  -464  -509  -464  -499  -644     1     1
    85:  -329  -383  -369  -409  -545  -599  -529  -569  -761     1     1
    85:  -374  -437  -414  -459  -626  -689  -594  -639  -878     1     1
    85:  -419  -491  -459  -509  -707  -779  -659  -709  -995     1     1
    85:  -464  -545  -504  -559  -788  -869  -724  -779 -1112     1     1
    85:  -509  -599  -549  -609  -869  -959  -789  -849 -1229     1     1
    85:  -554  -653  -594  -659  -950 -1049  -854  -919 -1346     1     1
    85:  -599  -707  -639  -709 -1031 -1139  -919  -989 -1463     1     1
    85:  -644  -761  -684  -759 -1112 -1229  -984 -1059 -1580     1     1
    85:     1     1     1     1     1     1     1     1     1     1     1
    
    [..... much more of this .....]
    
    85: [  FAILED  ] BLAS.MatrixTransposeMatrixMultiplyNaive_9_9_9_Dynamic (136791 ms)
    85: [ RUN      ] BLAS.MatrixVectorMultiply
    85: [       OK ] BLAS.MatrixVectorMultiply (0 ms)
    85: [ RUN      ] BLAS.MatrixTransposeVectorMultiply
    85: [       OK ] BLAS.MatrixTransposeVectorMultiply (0 ms)
    85: [----------] 26 tests from BLAS (411930 ms total)
    85:
    85: [----------] Global test environment tear-down
    85: [==========] 26 tests from 1 test suite ran. (411930 ms total)
    85: [  PASSED  ] 23 tests.
    85: [  FAILED  ] 3 tests, listed below:
    85: [  FAILED  ] BLAS.MatrixTransposeMatrixMultiply_9_9_9_Dynamic
    85: [  FAILED  ] BLAS.MatrixTransposeMatrixMultiplyNaive_9_9_9
    85: [  FAILED  ] BLAS.MatrixTransposeMatrixMultiplyNaive_9_9_9_Dynamic
    85:
    85:  3 FAILED TESTS
    1/1 Test #85: small_blas_test ..................***Failed  412.24 sec
    
    0% tests passed, 1 tests failed out of 1
    
    Total Test time (real) = 413.93 sec
    
    The following tests FAILED:
             85 - small_blas_test (Failed)
    Errors while running CTest
    Output from these tests are in: D:/ceres/ceres-solver/out/build/x64-Release/Testing/Temporary/LastTest.log
    Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
    

    I was going to upload the full LastTest.log, but it's 1 GB (due to so much console output) - and I suspect it won't be needed.

    /CC @sergiud

    opened by patrikhuber 20
  • gradient_problem_solver_test failing on VS2015x64 Release

    gradient_problem_solver_test failing on VS2015x64 Release

    "SolvesRosenbrockWithDefaultOptions" test from gradient_problem_solver_test.cc fails on VS2015x64 Release version. Here is the log:

    [==========] Running 1 test from 1 test case.
    [----------] Global test environment set-up.
    [----------] 1 test from GradientProblemSolver
    [ RUN      ] GradientProblemSolver.SolvesRosenbrockWithDefaultOptions
    C:\Users\wszalaps\Desktop\issues\failing builds\ceres\ceres-solver-1.11.0\ceres-solver-1.11.0\internal\ceres\gradient_problem_solver_test.cc(71): erro
    r: The difference between 1.0 and parameters[0] is 2.2000000000000002, which exceeds expected_tolerance, where
    1.0 evaluates to 1,
    parameters[0] evaluates to -1.2, and
    expected_tolerance evaluates to 1.0000000000000001e-09.
    C:\Users\wszalaps\Desktop\issues\failing builds\ceres\ceres-solver-1.11.0\ceres-solver-1.11.0\internal\ceres\gradient_problem_solver_test.cc(72): erro
    r: The difference between 1.0 and parameters[1] is 1, which exceeds expected_tolerance, where
    1.0 evaluates to 1,
    parameters[1] evaluates to 0, and
    expected_tolerance evaluates to 1.0000000000000001e-09.
    [  FAILED  ] GradientProblemSolver.SolvesRosenbrockWithDefaultOptions (4 ms)
    [----------] 1 test from GradientProblemSolver (4 ms total)
    
    [----------] Global test environment tear-down
    [==========] 1 test from 1 test case ran. (5 ms total)
    [  PASSED  ] 0 tests.
    [  FAILED  ] 1 test, listed below:
    [  FAILED  ] GradientProblemSolver.SolvesRosenbrockWithDefaultOptions
    
     1 FAILED TEST
    

    I didn't manage to reproduce the error on VS2013x64 Release and VS2015x64 Debug.

    bug 
    opened by Ardavel 19
  • FAILURE (Can't use SPARSE_NORMAL_CHOLESKY with SUITESPARSE because SuiteSparse was not enabled when Ceres was built.)

    FAILURE (Can't use SPARSE_NORMAL_CHOLESKY with SUITESPARSE because SuiteSparse was not enabled when Ceres was built.)

    Hi guys,

    I'm using TheiaSfM which has ceres as a dependency and got the following exception error when running the global pipeline:

    Termination: FAILURE (Can't use SPARSE_NORMAL_CHOLESKY with SUITESPARSE because SuiteSparse was not enabled when Ceres was built.)
    

    I'm pretty sure that I compiled ceres with a sparse solver (tried with Suitesparse, CXSparse and Eigensparse). Did you notice any similar issue in this direction?

    PD: you can check the short chat I had with Theia author **** and the complete log I got.

    opened by edgarriba 19
  • cuda_memcheck_* and covariance_test tests failed on VS 2022, ceres 2.1.0rc1

    cuda_memcheck_* and covariance_test tests failed on VS 2022, ceres 2.1.0rc1

    Hi ceres-solver team,

    I'm giving the 2.1.0rc1 a spin in the following environment: Windows 11, VS 2022, cl/toolset version 14.31.31103, CUDA v11.1, no CxSparse, no SuiteSparse, and glog/gflags installed via vcpkg, as well as Eigen (v3.4.0).

    So far so good, it all compiled! I've subsequently ran the tests, and I thought I'd report those three failures as you've asked for Windows testing on the mailing list (I am not sure if they are relevant or how relevant they are): cuda_memcheck_dense_qr_test, cuda_memcheck_dense_cholesky_test and covariance_test.

    I've dug a bit into the CUDA memtests and I'm quite sure they fail because the path is wrong. The test is running:

    Test command: "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\cuda-memcheck.exe" "--leak-check" "full" "D:/ceres/build/bin/cuda_dense_qr_test" Whereas the actual exe is in D:\ceres\build\bin\Release (i.e. added "/Release"). If I run the above cuda-memcheck command manually with the fixed path, the test passes. Also I ran the tests from the build directory (and from VS directly). I'm not supposed to run the INSTALL target first, right?

    Full output log of the failed tests:

    D:\ceres\build> ctest -C Release --output-on-failure --rerun-failed -VV
    UpdateCTestConfiguration  from :D:/ceres/build/DartConfiguration.tcl
    UpdateCTestConfiguration  from :D:/ceres/build/DartConfiguration.tcl
    Test project D:/ceres/build
    Constructing a list of tests
    Done constructing a list of tests
    Updating test list for fixtures
    Added 0 tests to meet fixture requirements
    Checking test dependency graph...
    Checking test dependency graph end
    test 1
        Start  1: cuda_memcheck_dense_qr_test
    
    1: Test command: "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\cuda-memcheck.exe" "--leak-check" "full" "D:/ceres/build/bin/cuda_dense_qr_test"
    1: Test timeout computed to be: 10000000
    1: ========= CUDA-MEMCHECK
    1: ========= Error: Could not run D:/ceres/build/bin/cuda_dense_qr_test
    1: ========= No CUDA-MEMCHECK results found
    1/3 Test  #1: cuda_memcheck_dense_qr_test .........***Failed    0.01 sec
    ========= CUDA-MEMCHECK
    ========= Error: Could not run D:/ceres/build/bin/cuda_dense_qr_test
    ========= No CUDA-MEMCHECK results found
    
    test 2
        Start  2: cuda_memcheck_dense_cholesky_test
    
    2: Test command: "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\cuda-memcheck.exe" "--leak-check" "full" "D:/ceres/build/bin/cuda_dense_cholesky_test"
    2: Test timeout computed to be: 10000000
    2: ========= CUDA-MEMCHECK
    2: ========= Error: Could not run D:/ceres/build/bin/cuda_dense_cholesky_test
    2: ========= No CUDA-MEMCHECK results found
    2/3 Test  #2: cuda_memcheck_dense_cholesky_test ...***Failed    0.00 sec
    ========= CUDA-MEMCHECK
    ========= Error: Could not run D:/ceres/build/bin/cuda_dense_cholesky_test
    ========= No CUDA-MEMCHECK results found
    
    test 24
        Start 24: covariance_test
    
    24: Test command: D:\ceres\build\bin\Release\covariance_test.exe "--test_srcdir" "D:/ceres/ceres-solver/data"
    24: Test timeout computed to be: 10000000
    24: Running main() from gmock_main.cc
    24: [==========] Running 22 tests from 4 test suites.
    24: [----------] Global test environment set-up.
    24: [----------] 3 tests from CovarianceImpl
    24: [ RUN      ] CovarianceImpl.ComputeCovarianceSparsity
    24: [       OK ] CovarianceImpl.ComputeCovarianceSparsity (0 ms)
    24: [ RUN      ] CovarianceImpl.ComputeCovarianceSparsityWithConstantParameterBlock
    24: [       OK ] CovarianceImpl.ComputeCovarianceSparsityWithConstantParameterBlock (0 ms)
    24: [ RUN      ] CovarianceImpl.ComputeCovarianceSparsityWithFreeParameterBlock
    24: [       OK ] CovarianceImpl.ComputeCovarianceSparsityWithFreeParameterBlock (0 ms)
    24: [----------] 3 tests from CovarianceImpl (0 ms total)
    24:
    24: [----------] 14 tests from CovarianceTest
    24: [ RUN      ] CovarianceTest.NormalBehavior
    24: [       OK ] CovarianceTest.NormalBehavior (2 ms)
    24: [ RUN      ] CovarianceTest.ConstantParameterBlock
    24: [       OK ] CovarianceTest.ConstantParameterBlock (1 ms)
    24: [ RUN      ] CovarianceTest.LocalParameterization
    24: [       OK ] CovarianceTest.LocalParameterization (2 ms)
    24: [ RUN      ] CovarianceTest.LocalParameterizationInTangentSpace
    24: [       OK ] CovarianceTest.LocalParameterizationInTangentSpace (2 ms)
    24: [ RUN      ] CovarianceTest.LocalParameterizationInTangentSpaceWithConstantBlocks
    24: [       OK ] CovarianceTest.LocalParameterizationInTangentSpaceWithConstantBlocks (1 ms)
    24: [ RUN      ] CovarianceTest.Manifold
    24: [       OK ] CovarianceTest.Manifold (1 ms)
    24: [ RUN      ] CovarianceTest.ManifoldInTangentSpace
    24: [       OK ] CovarianceTest.ManifoldInTangentSpace (1 ms)
    24: [ RUN      ] CovarianceTest.ManifoldInTangentSpaceWithConstantBlocks
    24: [       OK ] CovarianceTest.ManifoldInTangentSpaceWithConstantBlocks (1 ms)
    24: [ RUN      ] CovarianceTest.TruncatedRank
    24: [       OK ] CovarianceTest.TruncatedRank (3 ms)
    24: [ RUN      ] CovarianceTest.DenseCovarianceMatrixFromSetOfParameters
    24: E0312 15:50:02.777002 23032 covariance_impl.cc:529] SuiteSparse is required to use the SPARSE_QR algorithm with Covariance::Options::sparse_linear_algebra_library_type = SUITE_SPARSE.
    24: F0312 15:50:02.777002 23032 covariance_impl.cc:294] Check failed: is_valid_ Covariance::GetCovarianceMatrix called when Covariance::Compute returned false.
    24: *** Check failure stack trace: ***
    24:     @   00007FFD08E05FFB  google::LogMessage::Flush
    24:     @   00007FFD08E04B49  google::LogMessageFatal::~LogMessageFatal
    24:     @   00007FF7BDAECDCB  (unknown)
    24:     @   00007FF7BDA7F0B5  (unknown)
    24:     @   00007FF7BDA8D2AC  (unknown)
    24:     @   00007FF7BDA8D196  (unknown)
    24:     @   00007FF7BDAAD099  (unknown)
    24:     @   00007FF7BDAAD2BD  (unknown)
    24:     @   00007FF7BDAADAF8  (unknown)
    24:     @   00007FF7BDA8D34C  (unknown)
    24:     @   00007FF7BDA8D276  (unknown)
    24:     @   00007FF7BDAAD4D5  (unknown)
    24:     @   00007FF7BDB0CB2D  (unknown)
    24:     @   00007FF7BDB0BAA0  (unknown)
    24:     @   00007FFD198254E0  BaseThreadInitThunk
    24:     @   00007FFD1B7A485B  RtlUserThreadStart
    3/3 Test #24: covariance_test .....................***Failed    0.08 sec
    Running main() from gmock_main.cc
    [==========] Running 22 tests from 4 test suites.
    [----------] Global test environment set-up.
    [----------] 3 tests from CovarianceImpl
    [ RUN      ] CovarianceImpl.ComputeCovarianceSparsity
    [       OK ] CovarianceImpl.ComputeCovarianceSparsity (0 ms)
    [ RUN      ] CovarianceImpl.ComputeCovarianceSparsityWithConstantParameterBlock
    [       OK ] CovarianceImpl.ComputeCovarianceSparsityWithConstantParameterBlock (0 ms)
    [ RUN      ] CovarianceImpl.ComputeCovarianceSparsityWithFreeParameterBlock
    [       OK ] CovarianceImpl.ComputeCovarianceSparsityWithFreeParameterBlock (0 ms)
    [----------] 3 tests from CovarianceImpl (0 ms total)
    
    [----------] 14 tests from CovarianceTest
    [ RUN      ] CovarianceTest.NormalBehavior
    [       OK ] CovarianceTest.NormalBehavior (2 ms)
    [ RUN      ] CovarianceTest.ConstantParameterBlock
    [       OK ] CovarianceTest.ConstantParameterBlock (1 ms)
    [ RUN      ] CovarianceTest.LocalParameterization
    [       OK ] CovarianceTest.LocalParameterization (2 ms)
    [ RUN      ] CovarianceTest.LocalParameterizationInTangentSpace
    [       OK ] CovarianceTest.LocalParameterizationInTangentSpace (2 ms)
    [ RUN      ] CovarianceTest.LocalParameterizationInTangentSpaceWithConstantBlocks
    [       OK ] CovarianceTest.LocalParameterizationInTangentSpaceWithConstantBlocks (1 ms)
    [ RUN      ] CovarianceTest.Manifold
    [       OK ] CovarianceTest.Manifold (1 ms)
    [ RUN      ] CovarianceTest.ManifoldInTangentSpace
    [       OK ] CovarianceTest.ManifoldInTangentSpace (1 ms)
    [ RUN      ] CovarianceTest.ManifoldInTangentSpaceWithConstantBlocks
    [       OK ] CovarianceTest.ManifoldInTangentSpaceWithConstantBlocks (1 ms)
    [ RUN      ] CovarianceTest.TruncatedRank
    [       OK ] CovarianceTest.TruncatedRank (3 ms)
    [ RUN      ] CovarianceTest.DenseCovarianceMatrixFromSetOfParameters
    E0312 15:50:02.777002 23032 covariance_impl.cc:529] SuiteSparse is required to use the SPARSE_QR algorithm with Covariance::Options::sparse_linear_algebra_library_type = SUITE_SPARSE.
    F0312 15:50:02.777002 23032 covariance_impl.cc:294] Check failed: is_valid_ Covariance::GetCovarianceMatrix called when Covariance::Compute returned false.
    *** Check failure stack trace: ***
        @   00007FFD08E05FFB  google::LogMessage::Flush
        @   00007FFD08E04B49  google::LogMessageFatal::~LogMessageFatal
        @   00007FF7BDAECDCB  (unknown)
        @   00007FF7BDA7F0B5  (unknown)
        @   00007FF7BDA8D2AC  (unknown)
        @   00007FF7BDA8D196  (unknown)
        @   00007FF7BDAAD099  (unknown)
        @   00007FF7BDAAD2BD  (unknown)
        @   00007FF7BDAADAF8  (unknown)
        @   00007FF7BDA8D34C  (unknown)
        @   00007FF7BDA8D276  (unknown)
        @   00007FF7BDAAD4D5  (unknown)
        @   00007FF7BDB0CB2D  (unknown)
        @   00007FF7BDB0BAA0  (unknown)
        @   00007FFD198254E0  BaseThreadInitThunk
        @   00007FFD1B7A485B  RtlUserThreadStart
    
    
    0% tests passed, 3 tests failed out of 3
    
    Total Test time (real) =   0.11 sec
    
    The following tests FAILED:
              1 - cuda_memcheck_dense_qr_test (Failed)
              2 - cuda_memcheck_dense_cholesky_test (Failed)
             24 - covariance_test (Failed)
    Errors while running CTest
    
    opened by patrikhuber 18
  • FindTBB.cmake doesn't find newer TBB versions

    FindTBB.cmake doesn't find newer TBB versions

    For the intel provided linux binary installers, FindTBB.cmake has an outdated path, for gcc4.4 only:

    https://github.com/ceres-solver/ceres-solver/blob/e39d9ed1d60dfeb58dd2a0df4622c683f87b28e3/cmake/FindTBB.cmake#L145-L157

    Up to TBB 2020.2 it seems the possible versions of intel provided binary packages are: 4.1, 4.4, 4.7, 4.8

    $ find /opt/intel/ -type d -name compilers_and_libraries* | grep 20........ -o | sort | uniq | tr '\n' ' '
    2018.0.128 2018.2.199 2018.3.222 2018.5.274 2019.0.117 2019.1.144 2019.2.187 2019.3.199 2019.4.243 2019.5.281 2020.0.166 2020.1.217
    $ find /opt/intel/ -type d -name gcc* | grep gcc... -o | sort | uniq | tr '\n' ' '
    gcc4.1 gcc4.4 gcc4.7 gcc4.8
    

    I can provide a patch adding all 4 possible paths. Of course that would break again in the future when newer TBB versions use newer paths... Not sure if there is a better solution. I don't think PATH_SUFFIXES can contain wildcards or something like that.

    opened by NikolausDemmel 18
  • invert_psd_matrix_test fails on Debian Sid, amd64

    invert_psd_matrix_test fails on Debian Sid, amd64

    Trying to package 1.13.0 RC1 for Debian, I encounter one failing unit test:

    36/75 Test #39: invert_psd_matrix_test .......................***Exception: Other 0.12 sec Running main() from gmock_main.cc [==========] Running 3 tests from 1 test case. [----------] Global test environment set-up. [----------] 3 tests from InvertPSDMatrix [ RUN ] InvertPSDMatrix.Identity3x3 [ OK ] InvertPSDMatrix.Identity3x3 (0 ms) [ RUN ] InvertPSDMatrix.FullRank5x5 [ OK ] InvertPSDMatrix.FullRank5x5 (0 ms) [ RUN ] InvertPSDMatrix.RankDeficient5x5 invert_psd_matrix_test: /usr/include/eigen3/Eigen/src/SVD/JacobiSVD.h:637: void Eigen::JacobiSVD<MatrixType, QRPreconditioner>::allocate(Eigen::Index, Eigen::Index, unsigned int) [with _MatrixType = Eigen::Matrix<double, 5, 5, 1, 5, 5>; int QRPreconditioner = 2; Eigen::Index = long int]: Assertion `(!(m_computeThinU || m_computeThinV) || (MatrixType::ColsAtCompileTime==Dynamic)) && "JacobiSVD: thin U and V are only available when your matrix has a dynamic number of columns."' failed.

    Debian unstable currently has Eigen 3.3.4.

    opened by debalance 16
  • Unable to successfully build Ceres-Solver on Windows 10

    Unable to successfully build Ceres-Solver on Windows 10

    I have been struggling to build the Ceres-Solver for some time. In need it to work as a x64 library. Has anyone successfully built and released a compiled version Using Microsoft Visual Studio version 2017 and/or 2019?

    Any help is appreciated!

    Thanks,

    Robert

    opened by rhoffman-gpsw 15
  • Turn off housekeeping in optimization code.

    Turn off housekeeping in optimization code.

    This is a feature request. It would be nice to have a flag that turns off all data collection into summary structure. For optimization routines that work quite fast most of the time is spent in iteration info collection and housekeeping. When the code is double checked and works just fine I would like to improve performance by not collecting the data inside summary structure.

    opened by nemeshnorbert 3
  • cuda-related tests failed when make test

    cuda-related tests failed when make test

    Thank you for your fantastic work.

    I'm on Ubuntu 18.04, cuda-10.0 but got some cuda-related tests that failed while 'make test'. Could you please give some advice on that? Thanks in advance.

    96% tests passed, 8 tests failed out of 183
    
    Total Test time (real) = 244.35 sec
    
    The following tests FAILED:
    	  1 - cuda_memcheck_dense_qr_test (Failed)
    	  2 - cuda_memcheck_dense_cholesky_test (Failed)
    	 26 - cuda_dense_cholesky_test (Failed)
    	 27 - cuda_dense_qr_test (Failed)
    	102 - ba_denseschur_cuda_auto_test (Subprocess aborted)
    	123 - ba_denseschur_cuda_auto_threads_test (Subprocess aborted)
    	144 - ba_denseschur_cuda_user_test (Subprocess aborted)
    	165 - ba_denseschur_cuda_user_threads_test (Subprocess aborted)
    Errors while running CTest
    Output from these tests are in: /home/ubuntu/catkin_wss/ceres-bin/Testing/Temporary/LastTest.log
    Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
    Makefile:70: recipe for target 'test' failed
    make: *** [test] Error 8
    
    Here's the part of the log:
    1/183 Testing: cuda_memcheck_dense_qr_test
    1/183 Test: cuda_memcheck_dense_qr_test
    Command: "/usr/local/cuda-10.0/bin/cuda-memcheck" "--leak-check" "full" "/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test"
    Directory: /home/ubuntu/catkin_wss/ceres-bin/internal/ceres
    "cuda_memcheck_dense_qr_test" start time: Nov 18 07:37 UTC
    Output:
    ----------------------------------------------------------
    Running main() from gmock_main.cc
    [==========] Running 5 tests from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 5 tests from CUDADenseQR
    [ RUN      ] CUDADenseQR.InvalidOptionOnCreate
    [       OK ] CUDADenseQR.InvalidOptionOnCreate (0 ms)
    [ RUN      ] CUDADenseQR.QR4x4Matrix
    ========= CUDA-MEMCHECK
    ========= Program hit cudaErrorInvalidDeviceFunction (error 8) due to "invalid device function" on CUDA API call to cudaFuncSetAttribute. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/x86_64-linux-gnu/libcuda.so.1 [0x4545f6]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x79a03c]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c2ab]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c610]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 (cublasCreate_v2 + 0x1ce7) [0x14b337]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x53762]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x54abb]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x110de]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x5290a]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3d7f3]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3d9b8]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3dc31]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x4489c]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x44be1]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0xffea]
    =========     Host Frame:/lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main + 0xe7) [0x21c87]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x1011a]
    =========
    ========= Program hit cudaErrorInvalidDeviceFunction (error 8) due to "invalid device function" on CUDA API call to cudaGetLastError. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/x86_64-linux-gnu/libcuda.so.1 [0x4545f6]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x79deb3]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c2b8]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c610]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 (cublasCreate_v2 + 0x1ce7) [0x14b337]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x53762]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x54abb]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x110de]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x5290a]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3d7f3]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3d9b8]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3dc31]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x4489c]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x44be1]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0xffea]
    =========     Host Frame:/lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main + 0xe7) [0x21c87]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x1011a]
    =========
    ========= Program hit cudaErrorInvalidDeviceFunction (error 8) due to "invalid device function" on CUDA API call to cudaFuncSetAttribute. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/x86_64-linux-gnu/libcuda.so.1 [0x4545f6]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x79a03c]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c2ab]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c610]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 (cublasCreate_v2 + 0x1ce7) [0x14b337]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x53762]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x54abb]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x110de]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x5290a]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3d7f3]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3d9b8]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x3dc31]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x4489c]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x44be1]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0xffea]
    =========     Host Frame:/lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main + 0xe7) [0x21c87]
    =========     Host Frame:/home/ubuntu/catkin_wss/ceres-bin/bin/cuda_dense_qr_test [0x1011a]
    =========
    ========= Program hit cudaErrorInvalidDeviceFunction (error 8) due to "invalid device function" on CUDA API call to cudaGetLastError. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/x86_64-linux-gnu/libcuda.so.1 [0x4545f6]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x79deb3]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c2b8]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 [0x72c610]
    =========     Host Frame:/usr/local/cuda-10.0/lib64/libcublas.so.10.0 (cublasCreate_v2 + 0x1ce7)
    
    123/183 Testing: ba_denseschur_cuda_auto_threads_test
    123/183 Test: ba_denseschur_cuda_auto_threads_test
    Command: "/home/ubuntu/catkin_wss/ceres-bin/bin/ba_denseschur_cuda_auto_threads_test" "--test_srcdir" "/home/ubuntu/catkin_wss/ceres-solver-2.1.0/data"
    Directory: /home/ubuntu/catkin_wss/ceres-bin/internal/ceres/generated_bundle_adjustment_tests
    "ba_denseschur_cuda_auto_threads_test" start time: Nov 18 07:40 UTC
    Output:
    ----------------------------------------------------------
    Running main() from gmock_main.cc
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from BundleAdjustmentTest
    [ RUN      ] BundleAdjustmentTest.DenseSchur_Cuda_AutomaticOrdering_Threads
    E20221118 07:40:32.381206 16256 trust_region_minimizer.cc:93] Terminating: Linear solver failed due to unrecoverable non-numeric causes. Please see the error log for clues. 
    F20221118 07:40:32.390861 16256 test_util.h:121] Check failed: summary.termination_type != ceres::FAILURE (2 vs. 2) 
    *** Check failure stack trace: ***
        @     0x7f52f03716c6  google::LogMessage::Fail()
        @     0x7f52f0371612  google::LogMessage::SendToLog()
        @     0x7f52f0370e3d  google::LogMessage::Flush()
        @     0x7f52f037482a  google::LogMessageFatal::~LogMessageFatal()
        @     0x557800e1c29a  ceres::internal::BundleAdjustmentTest_DenseSchur_Cuda_AutomaticOrdering_Threads_Test::TestBody()
        @     0x557800e5b3ca  testing::internal::HandleExceptionsInMethodIfSupported<>()
        @     0x557800e46323  testing::Test::Run()
        @     0x557800e464e8  testing::TestInfo::Run()
        @     0x557800e46761  testing::TestSuite::Run()
        @     0x557800e4d3cc  testing::internal::UnitTestImpl::RunAllTests()
        @     0x557800e4d711  testing::UnitTest::Run()
        @     0x557800e1b63a  main
        @     0x7f52e1198c87  __libc_start_main
        @     0x557800e1b7fa  _start
        @              (nil)  (unknown)
    <end of output>
    Test time =   1.53 sec
    ----------------------------------------------------------
    Test Failed.
    "ba_denseschur_cuda_auto_threads_test" end time: Nov 18 07:40 UTC
    "ba_denseschur_cuda_auto_threads_test" time elapsed: 00:00:01
    ----------------------------------------------------------
    
    144/183 Testing: ba_denseschur_cuda_user_test
    144/183 Test: ba_denseschur_cuda_user_test
    Command: "/home/ubuntu/catkin_wss/ceres-bin/bin/ba_denseschur_cuda_user_test" "--test_srcdir" "/home/ubuntu/catkin_wss/ceres-solver-2.1.0/data"
    Directory: /home/ubuntu/catkin_wss/ceres-bin/internal/ceres/generated_bundle_adjustment_tests
    "ba_denseschur_cuda_user_test" start time: Nov 18 07:41 UTC
    Output:
    ----------------------------------------------------------
    Running main() from gmock_main.cc
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from BundleAdjustmentTest
    [ RUN      ] BundleAdjustmentTest.DenseSchur_Cuda_UserOrdering
    E20221118 07:41:03.800753 16337 trust_region_minimizer.cc:93] Terminating: Linear solver failed due to unrecoverable non-numeric causes. Please see the error log for clues. 
    F20221118 07:41:03.807525 16337 test_util.h:121] Check failed: summary.termination_type != ceres::FAILURE (2 vs. 2) 
    *** Check failure stack trace: ***
        @     0x7f98ce0c66c6  google::LogMessage::Fail()
        @     0x7f98ce0c6612  google::LogMessage::SendToLog()
        @     0x7f98ce0c5e3d  google::LogMessage::Flush()
        @     0x7f98ce0c982a  google::LogMessageFatal::~LogMessageFatal()
        @     0x5654f5c1c1fa  ceres::internal::BundleAdjustmentTest_DenseSchur_Cuda_UserOrdering_Test::TestBody()
        @     0x5654f5c5b28a  testing::internal::HandleExceptionsInMethodIfSupported<>()
        @     0x5654f5c461e3  testing::Test::Run()
        @     0x5654f5c463a8  testing::TestInfo::Run()
        @     0x5654f5c46621  testing::TestSuite::Run()
        @     0x5654f5c4d28c  testing::internal::UnitTestImpl::RunAllTests()
        @     0x5654f5c4d5d1  testing::UnitTest::Run()
        @     0x5654f5c1b62a  main
        @     0x7f98beeedc87  __libc_start_main
        @     0x5654f5c1b7ea  _start
        @              (nil)  (unknown)
    <end of output>
    Test time =   1.50 sec
    ----------------------------------------------------------
    Test Failed.
    "ba_denseschur_cuda_user_test" end time: Nov 18 07:41 UTC
    "ba_denseschur_cuda_user_test" time elapsed: 00:00:01
    ----------------------------------------------------------
    
    165/183 Testing: ba_denseschur_cuda_user_threads_test
    165/183 Test: ba_denseschur_cuda_user_threads_test
    Command: "/home/ubuntu/catkin_wss/ceres-bin/bin/ba_denseschur_cuda_user_threads_test" "--test_srcdir" "/home/ubuntu/catkin_wss/ceres-solver-2.1.0/data"
    Directory: /home/ubuntu/catkin_wss/ceres-bin/internal/ceres/generated_bundle_adjustment_tests
    "ba_denseschur_cuda_user_threads_test" start time: Nov 18 07:41 UTC
    Output:
    ----------------------------------------------------------
    Running main() from gmock_main.cc
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from BundleAdjustmentTest
    [ RUN      ] BundleAdjustmentTest.DenseSchur_Cuda_UserOrdering_Threads
    E20221118 07:41:36.848340 16378 trust_region_minimizer.cc:93] Terminating: Linear solver failed due to unrecoverable non-numeric causes. Please see the error log for clues. 
    F20221118 07:41:36.855412 16378 test_util.h:121] Check failed: summary.termination_type != ceres::FAILURE (2 vs. 2) 
    *** Check failure stack trace: ***
        @     0x7f370c32e6c6  google::LogMessage::Fail()
        @     0x7f370c32e612  google::LogMessage::SendToLog()
        @     0x7f370c32de3d  google::LogMessage::Flush()
        @     0x7f370c33182a  google::LogMessageFatal::~LogMessageFatal()
        @     0x556ca201c20a  ceres::internal::BundleAdjustmentTest_DenseSchur_Cuda_UserOrdering_Threads_Test::TestBody()
        @     0x556ca205b29a  testing::internal::HandleExceptionsInMethodIfSupported<>()
        @     0x556ca20461f3  testing::Test::Run()
        @     0x556ca20463b8  testing::TestInfo::Run()
        @     0x556ca2046631  testing::TestSuite::Run()
        @     0x556ca204d29c  testing::internal::UnitTestImpl::RunAllTests()
        @     0x556ca204d5e1  testing::UnitTest::Run()
        @     0x556ca201b63a  main
        @     0x7f36fd155c87  __libc_start_main
        @     0x556ca201b7fa  _start
        @              (nil)  (unknown)
    <end of output>
    Test time =   1.48 sec
    ----------------------------------------------------------
    Test Failed.
    "ba_denseschur_cuda_user_threads_test" end time: Nov 18 07:41 UTC
    "ba_denseschur_cuda_user_threads_test" time elapsed: 00:00:01
    
    NVIDIA CUDA 
    opened by QuantumY-CHN 6
  • Autodiff and gradient check problem!

    Autodiff and gradient check problem!

    Hi,when i use autodiff built my cost function , and use gradient check , encountered a problem . My problem : use gradient check , Worst relative error was 0.202196 , is it a normal ? This problem use quaternion,will it have an impact?

    image By the way, I didn't define jacobin by myself , and when i write the jacobin , the problem is worse! I hope you can provide guidance and suggestions,thanks!

    Here is my cost function and problem build. img_v2_1e3e6d4f-e846-453c-80dd-c1e17578c08g img_v2_48635633-2645-42b4-b4c9-96ae974f4ccg

    opened by gp1998-star 1
  • cuda_kernels.cu.cc(33): error: qualified name is not allowed

    cuda_kernels.cu.cc(33): error: qualified name is not allowed

    when I run cmake ..,the followering detail occured

    `-- The C compiler identification is GNU 9.4.0 -- The CXX compiler identification is GNU 9.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test HAVE_BIGOBJ -- Performing Test HAVE_BIGOBJ - Failed -- Looking for pow in m -- Looking for pow in m - found -- Detected Ceres version: 2.2.0 from /home/luofan/Downloads/ceres-solver-master/include/ceres/version.h -- Detected available Ceres threading models: [CXX_THREADS, OPENMP, NO_THREADS] -- Found Eigen version 3.3.7: /usr/lib/cmake/eigen3 -- Enabling use of Eigen as a sparse linear algebra library. -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
    -- Found CUDA version 10.1 installed in: /usr via legacy (< 3.17) CMake module. Using the legacy CMake module means that any installation of Ceres will require that the CUDA libraries be installed in a location included in the LD_LIBRARY_PATH. -- The CUDA compiler identification is NVIDIA 10.1.243 -- Check for working CUDA compiler: /usr/bin/nvcc -- Check for working CUDA compiler: /usr/bin/nvcc -- works -- Detecting CUDA compiler ABI info -- Detecting CUDA compiler ABI info - done -- Looking for sgemm_ -- Looking for sgemm_ - not found -- Looking for dgemm_ -- Looking for dgemm_ - found -- Found BLAS: /usr/lib/x86_64-linux-gnu/libf77blas.so;/usr/lib/x86_64-linux-gnu/libatlas.so
    -- Found LAPACK library: /usr/lib/x86_64-linux-gnu/liblapack.so;/usr/lib/x86_64-linux-gnu/libf77blas.so;/usr/lib/x86_64-linux-gnu/libatlas.so -- Found CHOLMOD headers in: /usr/include/suitesparse -- Found CHOLMOD library: /usr/lib/x86_64-linux-gnu/libcholmod.so -- Found SPQR headers in: /usr/include/suitesparse -- Found SPQR library: /usr/lib/x86_64-linux-gnu/libspqr.so -- Found Config headers in: /usr/include/suitesparse -- Found Config library: /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so -- Found AMD headers in: /usr/include/suitesparse -- Found AMD library: /usr/lib/x86_64-linux-gnu/libamd.so -- Found CAMD headers in: /usr/include/suitesparse -- Found CAMD library: /usr/lib/x86_64-linux-gnu/libcamd.so -- Found CCOLAMD headers in: /usr/include/suitesparse -- Found CCOLAMD library: /usr/lib/x86_64-linux-gnu/libccolamd.so -- Found COLAMD headers in: /usr/include/suitesparse -- Found COLAMD library: /usr/lib/x86_64-linux-gnu/libcolamd.so -- Found Intel Thread Building Blocks (TBB) library (2020.1 / 11101) include location: /usr/include. Assuming SuiteSparseQR was compiled with TBB. -- Looking for shm_open in rt -- Looking for shm_open in rt - found -- Adding librt to SuiteSparse_config libraries (required on Linux & Unix [not OSX] if SuiteSparse is compiled with timing). -- Could NOT find METIS (missing: METIS_INCLUDE_DIR METIS_LIBRARY) -- Found SuiteSparse: /usr/include/suitesparse (found suitable version "5.7.1", minimum required is "4.5.6") found components: CHOLMOD SPQR Config AMD CAMD CCOLAMD COLAMD missing components: Partition -- Found SuiteSparse 5.7.1, building with SuiteSparse. -- Could NOT find METIS (missing: METIS_INCLUDE_DIR METIS_LIBRARY) -- Did not find METIS, disabling Eigen METIS support. -- Building without Apple's Accelerate sparse support. -- Found Google Flags (gflags) version 2.2.2: /usr/lib/x86_64-linux-gnu/cmake/gflags -- No preference for use of exported glog CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported glog CMake configuration if available. -- Failed to find installed glog CMake configuration, searching for glog build directories exported with CMake. -- Failed to find an installed/exported CMake configuration for glog, will perform search for installed glog components. -- Found Glog: /usr/include
    -- Found Google Log (glog). Assuming glog was built with gflags support as gflags was found. This will make gflags a public dependency of Ceres. -- Using Ceres threading model: CXX_THREADS -- Failed to find Google benchmark library, disabling build of benchmarks. -- Building Ceres as a static library. -- No build type specified; defaulting to CMAKE_BUILD_TYPE=Release. -- Performing Test CHECK_CXX_FLAG_Wmissing_declarations -- Performing Test CHECK_CXX_FLAG_Wmissing_declarations - Success -- Performing Test CHECK_CXX_FLAG_Wno_unknown_pragmas -- Performing Test CHECK_CXX_FLAG_Wno_unknown_pragmas - Success -- Performing Test CHECK_CXX_FLAG_Wno_sign_compare -- Performing Test CHECK_CXX_FLAG_Wno_sign_compare - Success -- Performing Test CHECK_CXX_FLAG_Wno_unused_parameter -- Performing Test CHECK_CXX_FLAG_Wno_unused_parameter - Success -- Performing Test CHECK_CXX_FLAG_Wno_missing_field_initializers -- Performing Test CHECK_CXX_FLAG_Wno_missing_field_initializers - Success -- Creating configured Ceres config.h output directory: /home/luofan/Downloads/ceres-solver-master/build/include/ceres/internal -- Enabling CERES_USE_EIGEN_SPARSE in Ceres config.h -- Enabling CERES_NO_ACCELERATE_SPARSE in Ceres config.h -- Enabling CERES_USE_CXX_THREADS in Ceres config.h -- Enabling CERES_NO_CHOLMOD_PARTITION in Ceres config.h -- Enabling CERES_NO_EIGEN_METIS in Ceres config.h -- Performing Test CHECK_CXX_FLAG_Wno_missing_declarations -- Performing Test CHECK_CXX_FLAG_Wno_missing_declarations - Success -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Build the examples. -- Configuring done -- Generating done -- Build files have been written to: /home/luofan/Downloads/ceres-solver-master/build

    `

    then, I run make -j3

    ` /home/luofan/Downloads/ceres-solver-master/internal/ceres/cuda_kernels.cu.cc(33): error: qualified name is not allowed

    1 error detected in the compilation of "/tmp/tmpxft_00016f6a_00000000-6_cuda_kernels.cu.cpp1.ii". make[2]: *** [internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/build.make:63: internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/cuda_kernels.cu.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:3139: internal/ceres/CMakeFiles/ceres_cuda_kernels.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 0%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_2_3.cc.o [ 0%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_2_2.cc.o [ 0%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_2_4.cc.o [ 0%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_2_d.cc.o [ 0%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_3_3.cc.o [ 1%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_3_4.cc.o [ 1%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_3_6.cc.o [ 1%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_3_9.cc.o [ 1%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_3_d.cc.o [ 1%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_4_3.cc.o [ 2%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_4_4.cc.o [ 2%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_4_6.cc.o [ 2%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_4_8.cc.o [ 2%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_4_9.cc.o [ 2%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_4_d.cc.o [ 2%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_2_d_d.cc.o [ 3%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_3_3_3.cc.o [ 3%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_4_4_2.cc.o [ 3%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_4_4_3.cc.o [ 3%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_4_4_4.cc.o [ 3%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_4_4_d.cc.o [ 4%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/partitioned_matrix_view_d_d_d.cc.o [ 4%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_2_2.cc.o [ 4%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_2_3.cc.o [ 4%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_2_4.cc.o [ 4%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_2_d.cc.o [ 4%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_3_3.cc.o [ 5%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_3_4.cc.o [ 5%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_3_6.cc.o [ 5%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_3_9.cc.o [ 5%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_3_d.cc.o [ 5%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_4_3.cc.o [ 6%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_4_4.cc.o [ 6%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_4_6.cc.o [ 6%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_4_8.cc.o [ 6%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_4_9.cc.o [ 6%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_4_d.cc.o [ 6%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_2_d_d.cc.o [ 7%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_3_3_3.cc.o [ 7%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_4_4_2.cc.o [ 7%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_4_4_3.cc.o [ 7%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_4_4_4.cc.o [ 7%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_4_4_d.cc.o [ 8%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/generated/schur_eliminator_d_d_d.cc.o [ 8%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/parallel_for_cxx.cc.o [ 8%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/thread_pool.cc.o [ 8%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/accelerate_sparse.cc.o [ 8%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/array_utils.cc.o [ 8%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_evaluate_preparer.cc.o [ 9%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_jacobi_preconditioner.cc.o [ 9%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_jacobian_writer.cc.o [ 9%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_random_access_dense_matrix.cc.o [ 9%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_random_access_diagonal_matrix.cc.o [ 9%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_random_access_matrix.cc.o [ 10%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_random_access_sparse_matrix.cc.o [ 10%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_sparse_matrix.cc.o [ 10%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/block_structure.cc.o [ 10%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/callbacks.cc.o [ 10%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/canonical_views_clustering.cc.o [ 10%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/cgnr_solver.cc.o [ 11%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/compressed_col_sparse_matrix_utils.cc.o [ 11%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/compressed_row_jacobian_writer.cc.o [ 11%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/compressed_row_sparse_matrix.cc.o [ 11%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/conditioned_cost_function.cc.o [ 11%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/context.cc.o [ 12%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/context_impl.cc.o [ 12%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/coordinate_descent_minimizer.cc.o [ 12%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/corrector.cc.o [ 12%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/cost_function.cc.o [ 12%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/covariance.cc.o [ 12%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/covariance_impl.cc.o [ 13%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/cuda_sparse_matrix.cc.o [ 13%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/cuda_vector.cc.o [ 13%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dense_cholesky.cc.o [ 13%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dense_normal_cholesky_solver.cc.o [ 13%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dense_qr.cc.o [ 14%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dense_qr_solver.cc.o [ 14%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dense_sparse_matrix.cc.o [ 14%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/detect_structure.cc.o [ 14%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dogleg_strategy.cc.o [ 14%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dynamic_compressed_row_jacobian_writer.cc.o [ 14%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dynamic_compressed_row_sparse_matrix.cc.o [ 15%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/dynamic_sparse_normal_cholesky_solver.cc.o [ 15%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/eigensparse.cc.o [ 15%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/evaluation_callback.cc.o [ 15%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/evaluator.cc.o [ 15%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/fake_bundle_adjustment_jacobian.cc.o [ 16%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/file.cc.o [ 16%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/first_order_function.cc.o [ 16%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/float_suitesparse.cc.o [ 16%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/function_sample.cc.o [ 16%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/gradient_checking_cost_function.cc.o [ 17%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/gradient_problem_solver.cc.o [ 17%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/implicit_schur_complement.cc.o [ 17%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/inner_product_computer.cc.o [ 17%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/is_close.cc.o [ 17%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/iteration_callback.cc.o [ 17%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/iterative_refiner.cc.o ^[[A[ 18%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/iterative_schur_complement_solver.cc.o [ 18%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/levenberg_marquardt_strategy.cc.o [ 18%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/line_search.cc.o [ 18%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/line_search_direction.cc.o [ 18%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/line_search_minimizer.cc.o [ 19%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/line_search_preprocessor.cc.o [ 19%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/linear_least_squares_problems.cc.o [ 19%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/linear_operator.cc.o [ 19%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/linear_solver.cc.o [ 19%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/low_rank_inverse_hessian.cc.o [ 19%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/minimizer.cc.o [ 20%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/parallel_utils.cc.o [ 20%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/parameter_block_ordering.cc.o [ 20%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/partitioned_matrix_view.cc.o [ 20%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/polynomial.cc.o [ 20%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/power_series_expansion_preconditioner.cc.o [ 21%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/preconditioner.cc.o [ 21%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/preprocessor.cc.o [ 21%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/problem_impl.cc.o [ 21%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/program.cc.o [ 21%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/reorder_program.cc.o [ 21%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/residual_block.cc.o [ 22%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/residual_block_utils.cc.o [ 22%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/schur_complement_solver.cc.o [ 22%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/schur_eliminator.cc.o [ 22%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/schur_jacobi_preconditioner.cc.o [ 22%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/schur_templates.cc.o [ 23%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/scratch_evaluate_preparer.cc.o [ 23%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/single_linkage_clustering.cc.o [ 23%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/solver_utils.cc.o [ 23%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/sparse_cholesky.cc.o [ 23%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/sparse_matrix.cc.o [ 23%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/sparse_normal_cholesky_solver.cc.o [ 24%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/stringprintf.cc.o [ 24%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/subset_preconditioner.cc.o [ 24%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/suitesparse.cc.o [ 24%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/thread_token_provider.cc.o [ 24%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/triplet_sparse_matrix.cc.o [ 25%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/trust_region_minimizer.cc.o [ 25%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/trust_region_preprocessor.cc.o [ 25%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/trust_region_step_evaluator.cc.o [ 25%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/trust_region_strategy.cc.o [ 25%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/visibility.cc.o [ 25%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/visibility_based_preconditioner.cc.o [ 26%] Building CXX object internal/ceres/CMakeFiles/ceres_internal.dir/wall_time.cc.o [ 26%] Built target ceres_internal make: *** [Makefile:141: all] Error 2

    `

    could you please tell me how to solve this problem?thank you very much

    bug 
    opened by yunfan258 11
  • make test fail on NVidea Jetson Nano 4Gb board

    make test fail on NVidea Jetson Nano 4Gb board

    Hello, I am trying to build Ceres 2.1.0 on a NVidea Jetson Nano 4Gb. This is the setup of my installation:

    NVIDIA NVIDIA Jetson Nano Developer Kit
     L4T 32.7.2 [ JetPack 4.6.2 ]
       Ubuntu 18.04.6 LTS
       Kernel Version: 4.9.253-tegra
     CUDA 10.2.300
       CUDA Architecture: 5.3
     OpenCV version: 4.1.1
       OpenCV Cuda: NO
     CUDNN: 8.2.1.32
     TensorRT: 8.2.1.8
     Vision Works: 1.6.0.501
     VPI: 1.2.3
     Vulcan: 1.2.70
    

    I have already put the cuda path in .bashrc file as the NVidea guide explain:

    export PATH=/usr/local/cuda-10.2/bin:/usr/local/cuda-10.2/NsightCompute-2019.1${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    

    And if I launch the command nvcc --version it returns:

    Cuda compilation tools, release 10.2.300, V10.2.300
    Build cuda_10.2_r400.TC440_70.29663091_0
    

    The compilation instruction Cmake and Make runs well, no warning and no error. But as previously say, if I launch make test some tests fail, this are the outputs:

    [email protected]:~/ceres-bin/ceres-solver$ make test
    Running tests...
    Test project /home/ctrazzi/ceres-bin/ceres-solver
            Start   1: cuda_memcheck_dense_qr_test
      1/183 Test   #1: cuda_memcheck_dense_qr_test ...................................***Failed    0.78 sec
            Start   2: cuda_memcheck_dense_cholesky_test
      2/183 Test   #2: cuda_memcheck_dense_cholesky_test .............................***Failed    4.71 sec
            Start   3: array_utils_test
      3/183 Test   #3: array_utils_test ..............................................   Passed    0.01 sec
            Start   4: array_selector_test
      4/183 Test   #4: array_selector_test ...........................................   Passed    0.01 sec
            Start   5: autodiff_test
      5/183 Test   #5: autodiff_test .................................................   Passed    0.01 sec
            Start   6: autodiff_first_order_function_test
      6/183 Test   #6: autodiff_first_order_function_test ............................   Passed    0.01 sec
            Start   7: autodiff_cost_function_test
      7/183 Test   #7: autodiff_cost_function_test ...................................   Passed    0.01 sec
            Start   8: autodiff_local_parameterization_test
      8/183 Test   #8: autodiff_local_parameterization_test ..........................   Passed    0.01 sec
            Start   9: autodiff_manifold_test
      9/183 Test   #9: autodiff_manifold_test ........................................   Passed    0.27 sec
            Start  10: block_jacobi_preconditioner_test
     10/183 Test  #10: block_jacobi_preconditioner_test ..............................   Passed    0.01 sec
            Start  11: block_random_access_dense_matrix_test
     11/183 Test  #11: block_random_access_dense_matrix_test .........................   Passed    0.01 sec
            Start  12: block_random_access_diagonal_matrix_test
     12/183 Test  #12: block_random_access_diagonal_matrix_test ......................   Passed    0.01 sec
            Start  13: block_random_access_sparse_matrix_test
     13/183 Test  #13: block_random_access_sparse_matrix_test ........................   Passed    0.01 sec
            Start  14: block_sparse_matrix_test
     14/183 Test  #14: block_sparse_matrix_test ......................................   Passed    0.01 sec
            Start  15: c_api_test
     15/183 Test  #15: c_api_test ....................................................   Passed    0.03 sec
            Start  16: canonical_views_clustering_test
     16/183 Test  #16: canonical_views_clustering_test ...............................   Passed    0.01 sec
            Start  17: compressed_col_sparse_matrix_utils_test
     17/183 Test  #17: compressed_col_sparse_matrix_utils_test .......................   Passed    0.01 sec
            Start  18: compressed_row_sparse_matrix_test
     18/183 Test  #18: compressed_row_sparse_matrix_test .............................   Passed    0.13 sec
            Start  19: concurrent_queue_test
     19/183 Test  #19: concurrent_queue_test .........................................   Passed    1.52 sec
            Start  20: conditioned_cost_function_test
     20/183 Test  #20: conditioned_cost_function_test ................................   Passed    0.02 sec
            Start  21: conjugate_gradients_solver_test
     21/183 Test  #21: conjugate_gradients_solver_test ...............................   Passed    0.03 sec
            Start  22: corrector_test
     22/183 Test  #22: corrector_test ................................................   Passed    1.04 sec
            Start  23: cost_function_to_functor_test
     23/183 Test  #23: cost_function_to_functor_test .................................   Passed    0.01 sec
            Start  24: covariance_test
     24/183 Test  #24: covariance_test ...............................................   Passed    1.17 sec
            Start  25: cubic_interpolation_test
     25/183 Test  #25: cubic_interpolation_test ......................................   Passed    0.14 sec
            Start  26: cuda_dense_cholesky_test
     26/183 Test  #26: cuda_dense_cholesky_test ......................................   Passed   93.00 sec
            Start  27: cuda_dense_qr_test
     27/183 Test  #27: cuda_dense_qr_test ............................................   Passed    8.78 sec
            Start  28: dense_linear_solver_test
     28/183 Test  #28: dense_linear_solver_test ......................................   Passed    0.03 sec
            Start  29: dense_cholesky_test
     29/183 Test  #29: dense_cholesky_test ...........................................   Passed    2.54 sec
            Start  30: dense_qr_test
     30/183 Test  #30: dense_qr_test .................................................   Passed    2.84 sec
            Start  31: dense_sparse_matrix_test
     31/183 Test  #31: dense_sparse_matrix_test ......................................   Passed    0.01 sec
            Start  32: detect_structure_test
     32/183 Test  #32: detect_structure_test .........................................   Passed    0.01 sec
            Start  33: dogleg_strategy_test
     33/183 Test  #33: dogleg_strategy_test ..........................................   Passed    0.03 sec
            Start  34: dynamic_autodiff_cost_function_test
     34/183 Test  #34: dynamic_autodiff_cost_function_test ...........................   Passed    0.01 sec
            Start  35: dynamic_compressed_row_sparse_matrix_test
     35/183 Test  #35: dynamic_compressed_row_sparse_matrix_test .....................   Passed    0.01 sec
            Start  36: dynamic_numeric_diff_cost_function_test
     36/183 Test  #36: dynamic_numeric_diff_cost_function_test .......................   Passed    0.01 sec
            Start  37: dynamic_sparse_normal_cholesky_solver_test
     37/183 Test  #37: dynamic_sparse_normal_cholesky_solver_test ....................   Passed    0.03 sec
            Start  38: dynamic_sparsity_test
     38/183 Test  #38: dynamic_sparsity_test .........................................   Passed    5.14 sec
            Start  39: evaluation_callback_test
     39/183 Test  #39: evaluation_callback_test ......................................   Passed    0.04 sec
            Start  40: evaluator_test
     40/183 Test  #40: evaluator_test ................................................   Passed    0.04 sec
            Start  41: fixed_array_test
     41/183 Test  #41: fixed_array_test ..............................................   Passed    0.42 sec
            Start  42: gradient_checker_test
     42/183 Test  #42: gradient_checker_test .........................................   Passed    0.03 sec
            Start  43: gradient_checking_cost_function_test
     43/183 Test  #43: gradient_checking_cost_function_test ..........................   Passed    0.02 sec
            Start  44: gradient_problem_test
     44/183 Test  #44: gradient_problem_test .........................................   Passed    0.01 sec
            Start  45: gradient_problem_solver_test
     45/183 Test  #45: gradient_problem_solver_test ..................................   Passed    0.03 sec
            Start  46: graph_test
     46/183 Test  #46: graph_test ....................................................   Passed    1.49 sec
            Start  47: graph_algorithms_test
     47/183 Test  #47: graph_algorithms_test .........................................   Passed    0.02 sec
            Start  48: householder_vector_test
     48/183 Test  #48: householder_vector_test .......................................   Passed    0.01 sec
            Start  49: implicit_schur_complement_test
     49/183 Test  #49: implicit_schur_complement_test ................................   Passed    0.02 sec
            Start  50: inner_product_computer_test
     50/183 Test  #50: inner_product_computer_test ...................................   Passed    0.38 sec
            Start  51: invert_psd_matrix_test
     51/183 Test  #51: invert_psd_matrix_test ........................................   Passed    0.01 sec
            Start  52: integer_sequence_algorithm_test
     52/183 Test  #52: integer_sequence_algorithm_test ...............................   Passed    0.01 sec
            Start  53: is_close_test
     53/183 Test  #53: is_close_test .................................................   Passed    0.01 sec
            Start  54: iterative_refiner_test
     54/183 Test  #54: iterative_refiner_test ........................................   Passed    0.01 sec
            Start  55: iterative_schur_complement_solver_test
     55/183 Test  #55: iterative_schur_complement_solver_test ........................   Passed    0.03 sec
            Start  56: jet_test
     56/183 Test  #56: jet_test ......................................................   Passed    0.01 sec
            Start  57: jet_traits_test
     57/183 Test  #57: jet_traits_test ...............................................   Passed    0.01 sec
            Start  58: levenberg_marquardt_strategy_test
     58/183 Test  #58: levenberg_marquardt_strategy_test .............................   Passed    0.03 sec
            Start  59: line_search_minimizer_test
     59/183 Test  #59: line_search_minimizer_test ....................................   Passed    0.03 sec
            Start  60: line_search_preprocessor_test
     60/183 Test  #60: line_search_preprocessor_test .................................   Passed    0.03 sec
            Start  61: local_parameterization_test
     61/183 Test  #61: local_parameterization_test ...................................   Passed    1.99 sec
            Start  62: loss_function_test
     62/183 Test  #62: loss_function_test ............................................   Passed    0.03 sec
            Start  63: manifold_test
     63/183 Test  #63: manifold_test .................................................   Passed    3.06 sec
            Start  64: minimizer_test
     64/183 Test  #64: minimizer_test ................................................   Passed    0.08 sec
            Start  65: normal_prior_test
     65/183 Test  #65: normal_prior_test .............................................   Passed    0.02 sec
            Start  66: numeric_diff_cost_function_test
     66/183 Test  #66: numeric_diff_cost_function_test ...............................   Passed    0.02 sec
            Start  67: numeric_diff_first_order_function_test
     67/183 Test  #67: numeric_diff_first_order_function_test ........................   Passed    0.02 sec
            Start  68: ordered_groups_test
     68/183 Test  #68: ordered_groups_test ...........................................   Passed    0.52 sec
            Start  69: parallel_for_test
     69/183 Test  #69: parallel_for_test .............................................   Passed    0.06 sec
            Start  70: parallel_utils_test
     70/183 Test  #70: parallel_utils_test ...........................................   Passed    0.07 sec
            Start  71: parameter_block_test
     71/183 Test  #71: parameter_block_test ..........................................   Passed    0.52 sec
            Start  72: parameter_block_ordering_test
     72/183 Test  #72: parameter_block_ordering_test .................................   Passed    0.06 sec
            Start  73: parameter_dims_test
     73/183 Test  #73: parameter_dims_test ...........................................   Passed    0.02 sec
            Start  74: partitioned_matrix_view_test
     74/183 Test  #74: partitioned_matrix_view_test ..................................   Passed    0.02 sec
            Start  75: polynomial_test
     75/183 Test  #75: polynomial_test ...............................................   Passed    0.02 sec
            Start  76: problem_test
     76/183 Test  #76: problem_test ..................................................   Passed   14.55 sec
            Start  77: program_test
     77/183 Test  #77: program_test ..................................................   Passed    0.05 sec
            Start  78: reorder_program_test
     78/183 Test  #78: reorder_program_test ..........................................   Passed    0.05 sec
            Start  79: residual_block_test
     79/183 Test  #79: residual_block_test ...........................................   Passed    0.02 sec
            Start  80: residual_block_utils_test
     80/183 Test  #80: residual_block_utils_test .....................................   Passed    0.02 sec
            Start  81: rotation_test
     81/183 Test  #81: rotation_test .................................................   Passed    4.66 sec
            Start  82: schur_complement_solver_test
     82/183 Test  #82: schur_complement_solver_test ..................................   Passed    0.07 sec
            Start  83: schur_eliminator_test
     83/183 Test  #83: schur_eliminator_test .........................................   Passed    0.06 sec
            Start  84: single_linkage_clustering_test
     84/183 Test  #84: single_linkage_clustering_test ................................   Passed    0.02 sec
            Start  85: small_blas_test
     85/183 Test  #85: small_blas_test ...............................................   Passed    1.93 sec
            Start  86: solver_test
     86/183 Test  #86: solver_test ...................................................   Passed    0.09 sec
            Start  87: sparse_cholesky_test
     87/183 Test  #87: sparse_cholesky_test ..........................................   Passed    0.27 sec
            Start  88: sparse_normal_cholesky_solver_test
     88/183 Test  #88: sparse_normal_cholesky_solver_test ............................   Passed    0.07 sec
            Start  89: subset_preconditioner_test
     89/183 Test  #89: subset_preconditioner_test ....................................   Passed    0.01 sec
            Start  90: system_test
     90/183 Test  #90: system_test ...................................................   Passed    0.08 sec
            Start  91: tiny_solver_test
     91/183 Test  #91: tiny_solver_test ..............................................   Passed    0.01 sec
            Start  92: tiny_solver_autodiff_function_test
     92/183 Test  #92: tiny_solver_autodiff_function_test ............................   Passed    0.01 sec
            Start  93: tiny_solver_cost_function_adapter_test
     93/183 Test  #93: tiny_solver_cost_function_adapter_test ........................   Passed    0.01 sec
            Start  94: thread_pool_test
     94/183 Test  #94: thread_pool_test ..............................................   Passed    0.53 sec
            Start  95: triplet_sparse_matrix_test
     95/183 Test  #95: triplet_sparse_matrix_test ....................................   Passed    0.52 sec
            Start  96: trust_region_minimizer_test
     96/183 Test  #96: trust_region_minimizer_test ...................................   Passed    0.11 sec
            Start  97: trust_region_preprocessor_test
     97/183 Test  #97: trust_region_preprocessor_test ................................   Passed    0.08 sec
            Start  98: visibility_test
     98/183 Test  #98: visibility_test ...............................................   Passed    0.02 sec
            Start  99: visibility_based_preconditioner_test
     99/183 Test  #99: visibility_based_preconditioner_test ..........................   Passed    0.02 sec
            Start 100: ba_denseschur_eigen_auto_test
    100/183 Test #100: ba_denseschur_eigen_auto_test .................................   Passed   12.35 sec
            Start 101: ba_denseschur_lapack_auto_test
    101/183 Test #101: ba_denseschur_lapack_auto_test ................................   Passed   12.37 sec
            Start 102: ba_denseschur_cuda_auto_test
    102/183 Test #102: ba_denseschur_cuda_auto_test ..................................   Passed   15.77 sec
            Start 103: ba_sparsecholesky_suitesparse_auto_test
    103/183 Test #103: ba_sparsecholesky_suitesparse_auto_test .......................   Passed   17.14 sec
            Start 104: ba_sparsecholesky_eigensparse_auto_test
    104/183 Test #104: ba_sparsecholesky_eigensparse_auto_test .......................   Passed   17.99 sec
            Start 105: ba_sparsecholesky_cxsparse_auto_test
    105/183 Test #105: ba_sparsecholesky_cxsparse_auto_test ..........................   Passed   17.45 sec
            Start 106: ba_sparsecholesky_acceleratesparse_auto_test
    106/183 Test #106: ba_sparsecholesky_acceleratesparse_auto_test ..................   Passed    0.01 sec
            Start 107: ba_sparseschur_suitesparse_auto_test
    107/183 Test #107: ba_sparseschur_suitesparse_auto_test ..........................   Passed   12.65 sec
            Start 108: ba_sparseschur_eigensparse_auto_test
    108/183 Test #108: ba_sparseschur_eigensparse_auto_test ..........................   Passed   12.63 sec
            Start 109: ba_sparseschur_cxsparse_auto_test
    109/183 Test #109: ba_sparseschur_cxsparse_auto_test .............................   Passed   12.42 sec
            Start 110: ba_sparseschur_acceleratesparse_auto_test
    110/183 Test #110: ba_sparseschur_acceleratesparse_auto_test .....................   Passed    0.01 sec
            Start 111: ba_iterschur_jacobi_auto_test
    111/183 Test #111: ba_iterschur_jacobi_auto_test .................................   Passed   15.55 sec
            Start 112: ba_iterschur_schurjacobi_auto_test
    112/183 Test #112: ba_iterschur_schurjacobi_auto_test ............................   Passed   14.43 sec
            Start 113: ba_iterschur_suitesparse_clustjacobi_auto_test
    113/183 Test #113: ba_iterschur_suitesparse_clustjacobi_auto_test ................   Passed   15.22 sec
            Start 114: ba_iterschur_eigensparse_clustjacobi_auto_test
    114/183 Test #114: ba_iterschur_eigensparse_clustjacobi_auto_test ................   Passed   15.28 sec
            Start 115: ba_iterschur_cxsparse_clustjacobi_auto_test
    115/183 Test #115: ba_iterschur_cxsparse_clustjacobi_auto_test ...................   Passed   15.22 sec
            Start 116: ba_iterschur_acceleratesparse_clustjacobi_auto_test
    116/183 Test #116: ba_iterschur_acceleratesparse_clustjacobi_auto_test ...........   Passed    0.01 sec
            Start 117: ba_iterschur_suitesparse_clusttri_auto_test
    117/183 Test #117: ba_iterschur_suitesparse_clusttri_auto_test ...................   Passed   16.16 sec
            Start 118: ba_iterschur_eigensparse_clusttri_auto_test
    118/183 Test #118: ba_iterschur_eigensparse_clusttri_auto_test ...................   Passed   15.40 sec
            Start 119: ba_iterschur_cxsparse_clusttri_auto_test
    119/183 Test #119: ba_iterschur_cxsparse_clusttri_auto_test ......................   Passed   16.12 sec
            Start 120: ba_iterschur_acceleratesparse_clusttri_auto_test
    120/183 Test #120: ba_iterschur_acceleratesparse_clusttri_auto_test ..............   Passed    0.01 sec
            Start 121: ba_denseschur_eigen_auto_threads_test
    121/183 Test #121: ba_denseschur_eigen_auto_threads_test .........................   Passed    9.66 sec
            Start 122: ba_denseschur_lapack_auto_threads_test
    122/183 Test #122: ba_denseschur_lapack_auto_threads_test ........................   Passed    9.67 sec
            Start 123: ba_denseschur_cuda_auto_threads_test
    123/183 Test #123: ba_denseschur_cuda_auto_threads_test ..........................   Passed   12.93 sec
            Start 124: ba_sparsecholesky_suitesparse_auto_threads_test
    124/183 Test #124: ba_sparsecholesky_suitesparse_auto_threads_test ...............   Passed   15.56 sec
            Start 125: ba_sparsecholesky_eigensparse_auto_threads_test
    125/183 Test #125: ba_sparsecholesky_eigensparse_auto_threads_test ...............   Passed   16.07 sec
            Start 126: ba_sparsecholesky_cxsparse_auto_threads_test
    126/183 Test #126: ba_sparsecholesky_cxsparse_auto_threads_test ..................   Passed   15.81 sec
            Start 127: ba_sparsecholesky_acceleratesparse_auto_threads_test
    127/183 Test #127: ba_sparsecholesky_acceleratesparse_auto_threads_test ..........   Passed    0.01 sec
            Start 128: ba_sparseschur_suitesparse_auto_threads_test
    128/183 Test #128: ba_sparseschur_suitesparse_auto_threads_test ..................   Passed    9.75 sec
            Start 129: ba_sparseschur_eigensparse_auto_threads_test
    129/183 Test #129: ba_sparseschur_eigensparse_auto_threads_test ..................   Passed    9.83 sec
            Start 130: ba_sparseschur_cxsparse_auto_threads_test
    130/183 Test #130: ba_sparseschur_cxsparse_auto_threads_test .....................   Passed    9.81 sec
            Start 131: ba_sparseschur_acceleratesparse_auto_threads_test
    131/183 Test #131: ba_sparseschur_acceleratesparse_auto_threads_test .............   Passed    0.01 sec
            Start 132: ba_iterschur_jacobi_auto_threads_test
    132/183 Test #132: ba_iterschur_jacobi_auto_threads_test .........................   Passed   13.02 sec
            Start 133: ba_iterschur_schurjacobi_auto_threads_test
    133/183 Test #133: ba_iterschur_schurjacobi_auto_threads_test ....................   Passed   11.89 sec
            Start 134: ba_iterschur_suitesparse_clustjacobi_auto_threads_test
    134/183 Test #134: ba_iterschur_suitesparse_clustjacobi_auto_threads_test ........   Passed   12.17 sec
            Start 135: ba_iterschur_eigensparse_clustjacobi_auto_threads_test
    135/183 Test #135: ba_iterschur_eigensparse_clustjacobi_auto_threads_test ........   Passed   12.09 sec
            Start 136: ba_iterschur_cxsparse_clustjacobi_auto_threads_test
    136/183 Test #136: ba_iterschur_cxsparse_clustjacobi_auto_threads_test ...........   Passed   12.11 sec
            Start 137: ba_iterschur_acceleratesparse_clustjacobi_auto_threads_test
    137/183 Test #137: ba_iterschur_acceleratesparse_clustjacobi_auto_threads_test ...   Passed    0.01 sec
            Start 138: ba_iterschur_suitesparse_clusttri_auto_threads_test
    138/183 Test #138: ba_iterschur_suitesparse_clusttri_auto_threads_test ...........   Passed   12.39 sec
            Start 139: ba_iterschur_eigensparse_clusttri_auto_threads_test
    139/183 Test #139: ba_iterschur_eigensparse_clusttri_auto_threads_test ...........   Passed   11.91 sec
            Start 140: ba_iterschur_cxsparse_clusttri_auto_threads_test
    140/183 Test #140: ba_iterschur_cxsparse_clusttri_auto_threads_test ..............   Passed   12.36 sec
            Start 141: ba_iterschur_acceleratesparse_clusttri_auto_threads_test
    141/183 Test #141: ba_iterschur_acceleratesparse_clusttri_auto_threads_test ......   Passed    0.01 sec
            Start 142: ba_denseschur_eigen_user_test
    142/183 Test #142: ba_denseschur_eigen_user_test .................................   Passed   11.98 sec
            Start 143: ba_denseschur_lapack_user_test
    143/183 Test #143: ba_denseschur_lapack_user_test ................................   Passed   12.09 sec
            Start 144: ba_denseschur_cuda_user_test
    144/183 Test #144: ba_denseschur_cuda_user_test ..................................   Passed   15.38 sec
            Start 145: ba_sparsecholesky_suitesparse_user_test
    145/183 Test #145: ba_sparsecholesky_suitesparse_user_test .......................   Passed   16.97 sec
            Start 146: ba_sparsecholesky_eigensparse_user_test
    146/183 Test #146: ba_sparsecholesky_eigensparse_user_test .......................   Passed   17.88 sec
            Start 147: ba_sparsecholesky_cxsparse_user_test
    147/183 Test #147: ba_sparsecholesky_cxsparse_user_test ..........................   Passed   17.51 sec
            Start 148: ba_sparsecholesky_acceleratesparse_user_test
    148/183 Test #148: ba_sparsecholesky_acceleratesparse_user_test ..................   Passed    0.01 sec
            Start 149: ba_sparseschur_suitesparse_user_test
    149/183 Test #149: ba_sparseschur_suitesparse_user_test ..........................   Passed   12.30 sec
            Start 150: ba_sparseschur_eigensparse_user_test
    150/183 Test #150: ba_sparseschur_eigensparse_user_test ..........................   Passed   12.26 sec
            Start 151: ba_sparseschur_cxsparse_user_test
    151/183 Test #151: ba_sparseschur_cxsparse_user_test .............................   Passed   12.19 sec
            Start 152: ba_sparseschur_acceleratesparse_user_test
    152/183 Test #152: ba_sparseschur_acceleratesparse_user_test .....................   Passed    0.01 sec
            Start 153: ba_iterschur_jacobi_user_test
    153/183 Test #153: ba_iterschur_jacobi_user_test .................................   Passed   15.05 sec
            Start 154: ba_iterschur_schurjacobi_user_test
    154/183 Test #154: ba_iterschur_schurjacobi_user_test ............................   Passed   14.11 sec
            Start 155: ba_iterschur_suitesparse_clustjacobi_user_test
    155/183 Test #155: ba_iterschur_suitesparse_clustjacobi_user_test ................   Passed   14.87 sec
            Start 156: ba_iterschur_eigensparse_clustjacobi_user_test
    156/183 Test #156: ba_iterschur_eigensparse_clustjacobi_user_test ................   Passed   14.77 sec
            Start 157: ba_iterschur_cxsparse_clustjacobi_user_test
    157/183 Test #157: ba_iterschur_cxsparse_clustjacobi_user_test ...................   Passed   14.78 sec
            Start 158: ba_iterschur_acceleratesparse_clustjacobi_user_test
    158/183 Test #158: ba_iterschur_acceleratesparse_clustjacobi_user_test ...........   Passed    0.01 sec
            Start 159: ba_iterschur_suitesparse_clusttri_user_test
    159/183 Test #159: ba_iterschur_suitesparse_clusttri_user_test ...................   Passed   15.83 sec
            Start 160: ba_iterschur_eigensparse_clusttri_user_test
    160/183 Test #160: ba_iterschur_eigensparse_clusttri_user_test ...................   Passed   15.13 sec
            Start 161: ba_iterschur_cxsparse_clusttri_user_test
    161/183 Test #161: ba_iterschur_cxsparse_clusttri_user_test ......................   Passed   15.94 sec
            Start 162: ba_iterschur_acceleratesparse_clusttri_user_test
    162/183 Test #162: ba_iterschur_acceleratesparse_clusttri_user_test ..............   Passed    0.01 sec
            Start 163: ba_denseschur_eigen_user_threads_test
    163/183 Test #163: ba_denseschur_eigen_user_threads_test .........................   Passed    9.30 sec
            Start 164: ba_denseschur_lapack_user_threads_test
    164/183 Test #164: ba_denseschur_lapack_user_threads_test ........................   Passed    9.38 sec
            Start 165: ba_denseschur_cuda_user_threads_test
    165/183 Test #165: ba_denseschur_cuda_user_threads_test ..........................   Passed   12.64 sec
            Start 166: ba_sparsecholesky_suitesparse_user_threads_test
    166/183 Test #166: ba_sparsecholesky_suitesparse_user_threads_test ...............   Passed   15.37 sec
            Start 167: ba_sparsecholesky_eigensparse_user_threads_test
    167/183 Test #167: ba_sparsecholesky_eigensparse_user_threads_test ...............   Passed   16.24 sec
            Start 168: ba_sparsecholesky_cxsparse_user_threads_test
    168/183 Test #168: ba_sparsecholesky_cxsparse_user_threads_test ..................   Passed   15.74 sec
            Start 169: ba_sparsecholesky_acceleratesparse_user_threads_test
    169/183 Test #169: ba_sparsecholesky_acceleratesparse_user_threads_test ..........   Passed    0.01 sec
            Start 170: ba_sparseschur_suitesparse_user_threads_test
    170/183 Test #170: ba_sparseschur_suitesparse_user_threads_test ..................   Passed    9.34 sec
            Start 171: ba_sparseschur_eigensparse_user_threads_test
    171/183 Test #171: ba_sparseschur_eigensparse_user_threads_test ..................   Passed    9.54 sec
            Start 172: ba_sparseschur_cxsparse_user_threads_test
    172/183 Test #172: ba_sparseschur_cxsparse_user_threads_test .....................   Passed    9.28 sec
            Start 173: ba_sparseschur_acceleratesparse_user_threads_test
    173/183 Test #173: ba_sparseschur_acceleratesparse_user_threads_test .............   Passed    0.01 sec
            Start 174: ba_iterschur_jacobi_user_threads_test
    174/183 Test #174: ba_iterschur_jacobi_user_threads_test .........................   Passed   12.62 sec
            Start 175: ba_iterschur_schurjacobi_user_threads_test
    175/183 Test #175: ba_iterschur_schurjacobi_user_threads_test ....................   Passed   11.59 sec
            Start 176: ba_iterschur_suitesparse_clustjacobi_user_threads_test
    176/183 Test #176: ba_iterschur_suitesparse_clustjacobi_user_threads_test ........   Passed   11.72 sec
            Start 177: ba_iterschur_eigensparse_clustjacobi_user_threads_test
    177/183 Test #177: ba_iterschur_eigensparse_clustjacobi_user_threads_test ........   Passed   11.69 sec
            Start 178: ba_iterschur_cxsparse_clustjacobi_user_threads_test
    178/183 Test #178: ba_iterschur_cxsparse_clustjacobi_user_threads_test ...........   Passed   11.80 sec
            Start 179: ba_iterschur_acceleratesparse_clustjacobi_user_threads_test
    179/183 Test #179: ba_iterschur_acceleratesparse_clustjacobi_user_threads_test ...   Passed    0.01 sec
            Start 180: ba_iterschur_suitesparse_clusttri_user_threads_test
    180/183 Test #180: ba_iterschur_suitesparse_clusttri_user_threads_test ...........   Passed   11.97 sec
            Start 181: ba_iterschur_eigensparse_clusttri_user_threads_test
    181/183 Test #181: ba_iterschur_eigensparse_clusttri_user_threads_test ...........   Passed   11.53 sec
            Start 182: ba_iterschur_cxsparse_clusttri_user_threads_test
    182/183 Test #182: ba_iterschur_cxsparse_clusttri_user_threads_test ..............   Passed   11.98 sec
            Start 183: ba_iterschur_acceleratesparse_clusttri_user_threads_test
    183/183 Test #183: ba_iterschur_acceleratesparse_clusttri_user_threads_test ......   Passed    0.01 sec
    
    99% tests passed, 2 tests failed out of 183
    
    Total Test time (real) = 1066.98 sec
    
    The following tests FAILED:
    	  1 - cuda_memcheck_dense_qr_test (Failed)
    	  2 - cuda_memcheck_dense_cholesky_test (Failed)
    Errors while running CTest
    Output from these tests are in: /home/ctrazzi/ceres-bin/ceres-solver/Testing/Temporary/LastTest.log
    Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
    Makefile:135: recipe for target 'test' failed
    make: *** [test] Error 8
    

    This is the output of LastTest.log, regarding the two tests failed:

    [email protected]:~/ceres-bin/ceres-solver$ cat /home/ctrazzi/ceres-bin/ceres-solver/Testing/Temporary/LastTest.log
    Start testing: Nov 08 09:39 CET
    ----------------------------------------------------------
    1/183 Testing: cuda_memcheck_dense_qr_test
    1/183 Test: cuda_memcheck_dense_qr_test
    Command: "/usr/local/cuda-10.2/bin/cuda-memcheck" "--leak-check" "full" "/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test"
    Directory: /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres
    "cuda_memcheck_dense_qr_test" start time: Nov 08 09:39 CET
    Output:
    ----------------------------------------------------------
    Running main() from gmock_main.cc
    [==========] Running 5 tests from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 5 tests from CUDADenseQR
    [ RUN      ] CUDADenseQR.InvalidOptionOnCreate
    [       OK ] CUDADenseQR.InvalidOptionOnCreate (0 ms)
    [ RUN      ] CUDADenseQR.QR4x4Matrix
    E1108 09:39:13.672349 19351 dense_qr.cc:472] CUDADenseQR::Init failed: cuBLAS::cublasCreate failed.
    /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres/cuda_dense_qr_test.cc:63: Failure
    Expected: (dense_cuda_solver) != (nullptr), actual: (nullptr) vs (nullptr)
    [  FAILED  ] CUDADenseQR.QR4x4Matrix (87 ms)
    [ RUN      ] CUDADenseQR.QR4x2Matrix
    E1108 09:39:13.721727 19351 dense_qr.cc:472] CUDADenseQR::Init failed: cuBLAS::cublasCreate failed.
    /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres/cuda_dense_qr_test.cc:94: Failure
    Expected: (dense_cuda_solver) != (nullptr), actual: (nullptr) vs (nullptr)
    [  FAILED  ] CUDADenseQR.QR4x2Matrix (48 ms)
    [ RUN      ] CUDADenseQR.MustFactorizeBeforeSolve
    ========= CUDA-MEMCHECK
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x61568]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64c80]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64eac]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x131f8]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x6098c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f25c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f3e0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4fb50]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x50304]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f494]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12000]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12258]
    =========
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x61568]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64c80]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64eac]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x13ef4]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x6098c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f25c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f3e0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4fb50]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x50304]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f494]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12000]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12258]
    =========
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x61568]
    =========     Host Frame:/home/ctraE1108 09:39:13.770776 19351 dense_qr.cc:472] CUDADenseQR::Init failed: cuBLAS::cublasCreate failed.
    /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres/cuda_dense_qr_test.cc:118: Failure
    Expected: (dense_cuda_solver) != (nullptr), actual: (nullptr) vs (nullptr)
    [  FAILED  ] CUDADenseQR.MustFactorizeBeforeSolve (49 ms)
    [ RUN      ] CUDADenseQR.Randomized1600x100Tests
    E1108 09:39:13.818823 19351 dense_qr.cc:472] CUDADenseQR::Init failed: cuBLAS::cublasCreate failed.
    zzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64c80]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64eac]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x14ac0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x6098c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f25c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f3e0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4fb50]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x50304]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f494]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12000]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12258]
    =========
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x61568]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64c80]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x64eac]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x15300]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x6098c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f25c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f3e0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4fb50]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x50304]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x4f494]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12000]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_qr_test [0x12258]
    =========
    ========= Error: process didn't terminate successfully
    =========        The application may have hit an error when dereferencing Unified Memory from the host. Please rerun the application under cuda-gdb or Nsight Eclipse Edition to catch host side errors.
    ========= No CUDA-MEMCHECK results found
    <end of output>
    Test time =   0.78 sec
    ----------------------------------------------------------
    Test Failed.
    "cuda_memcheck_dense_qr_test" end time: Nov 08 09:39 CET
    "cuda_memcheck_dense_qr_test" time elapsed: 00:00:00
    ----------------------------------------------------------
    
    2/183 Testing: cuda_memcheck_dense_cholesky_test
    2/183 Test: cuda_memcheck_dense_cholesky_test
    Command: "/usr/local/cuda-10.2/bin/cuda-memcheck" "--leak-check" "full" "/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test"
    Directory: /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres
    "cuda_memcheck_dense_cholesky_test" start time: Nov 08 09:39 CET
    Output:
    ----------------------------------------------------------
    Running main() from gmock_main.cc
    [==========] Running 6 tests from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 6 tests from CUDADenseCholesky
    [ RUN      ] CUDADenseCholesky.InvalidOptionOnCreate
    [       OK ] CUDADenseCholesky.InvalidOptionOnCreate (0 ms)
    [ RUN      ] CUDADenseCholesky.Cholesky4x4Matrix
    E1108 09:39:14.447407 19359 dense_cholesky.cc:320] CUDADenseCholesky::Init failed: cuBLAS::cublasCreate failed.
    /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres/cuda_dense_cholesky_test.cc:66: Failure
    Expected: (dense_cuda_solver) != (nullptr), actual: (nullptr) vs (nullptr)
    [  FAILED  ] CUDADenseCholesky.Cholesky4x4Matrix (83 ms)
    [ RUN      ] CUDADenseCholesky.SingularMatrix
    E1108 09:39:14.497035 19359 dense_cholesky.cc:320] CUDADenseCholesky::Init failed: cuBLAS::cublasCreate failed.
    /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres/cuda_dense_cholesky_test.cc:92: Failure
    Expected: (dense_cuda_solver) != (nullptr), actual: (nullptr) vs (nullptr)
    [  FAILED  ] CUDADenseCholesky.SingularMatrix (48 ms)
    [ RUN      ] CUDADenseCholesky.NegativeMatrix
    ========= CUDA-MEMCHECK
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x62b28]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64b7c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64d90]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x151c8]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x61f4c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x5181c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x519a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x52110]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x528c4]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x51a54]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x121d0]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x12428]
    =========
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x62b28]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64b7c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64d90]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x15dec]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x61f4c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x5181c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x519a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x52110]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x528c4]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x51a54]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x121d0]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x12428]
    =========
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2E1108 09:39:14.545812 19359 dense_cholesky.cc:320] CUDADenseCholesky::Init failed: cuBLAS::cublasCreate failed.
    /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres/cuda_dense_cholesky_test.cc:111: Failure
    Expected: (dense_cuda_solver) != (nullptr), actual: (nullptr) vs (nullptr)
    [  FAILED  ] CUDADenseCholesky.NegativeMatrix (48 ms)
    [ RUN      ] CUDADenseCholesky.MustFactorizeBeforeSolve
    E1108 09:39:14.594383 19359 dense_cholesky.cc:320] CUDADenseCholesky::Init failed: cuBLAS::cublasCreate failed.
    /home/ctrazzi/ceres-bin/ceres-solver/internal/ceres/cuda_dense_cholesky_test.cc:126: Failure
    Expected: (dense_cuda_solver) != (nullptr), actual: (nullptr) vs (nullptr)
    [  FAILED  ] CUDADenseCholesky.MustFactorizeBeforeSolve (48 ms)
    [ RUN      ] CUDADenseCholesky.Randomized1600x1600Tests
    c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x62b28]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64b7c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64d90]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x1657c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x61f4c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x5181c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x519a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x52110]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x528c4]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x51a54]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x121d0]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x12428]
    =========
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x62b28]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64b7c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64d90]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x16cf0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x61f4c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x5181c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x519a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x52110]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x528c4]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x51a54]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x121d0]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x12428]
    =========
    ========= Program hit cudaErrorDevicesUnavailable (error 46) due to "all CUDA-capable devices are busy or unavailable" on CUDA API call to cudaFree. 
    =========     Saved host backtrace up to driver entry point at error
    =========     Host Frame:/usr/lib/aarch64-linux-gnu/tegra/libcuda.so.1 [0x2fdb04]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 [0xaf0804]
    =========     Host Frame:/usr/local/cuda-10.2/lib64/libcublas.so.10 (cublasCreate_v2 + 0x2c) [0x1a3804]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x62b28]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64b7c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x64d90]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x17474]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_denseE1108 09:39:14.642648 19359 dense_cholesky.cc:320] CUDADenseCholesky::Init failed: cuBLAS::cublasCreate failed.
    _cholesky_test [0x61f4c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x5181c]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x519a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x52110]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x528c4]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x51a54]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x121d0]
    =========     Host Frame:/lib/aarch64-linux-gnu/libc.so.6 (__libc_start_main + 0xe0) [0x207a0]
    =========     Host Frame:/home/ctrazzi/ceres-bin/ceres-solver/bin/cuda_dense_cholesky_test [0x12428]
    =========
    ========= Error: process didn't terminate successfully
    =========        The application may have hit an error when dereferencing Unified Memory from the host. Please rerun the application under cuda-gdb or Nsight Eclipse Edition to catch host side errors.
    ========= No CUDA-MEMCHECK results found
    <end of output>
    Test time =   4.71 sec
    ----------------------------------------------------------
    Test Failed.
    "cuda_memcheck_dense_cholesky_test" end time: Nov 08 09:39 CET
    "cuda_memcheck_dense_cholesky_test" time elapsed: 00:00:04
    ----------------------------------------------------------
    

    I have try to rerun the test with the following command, but it did not work:

    [email protected]:~/ceres-bin/ceres-solver$ make test --rerun-failed --output-on-failure
    make: unrecognized option '--rerun-failed'
    make: unrecognized option '--output-on-failure'
    Usage: make [options] [target] ...
    Options:
      -b, -m                      Ignored for compatibility.
      -B, --always-make           Unconditionally make all targets.
      -C DIRECTORY, --directory=DIRECTORY
                                  Change to DIRECTORY before doing anything.
      -d                          Print lots of debugging information.
      --debug[=FLAGS]             Print various types of debugging information.
      -e, --environment-overrides
                                  Environment variables override makefiles.
      --eval=STRING               Evaluate STRING as a makefile statement.
      -f FILE, --file=FILE, --makefile=FILE
                                  Read FILE as a makefile.
      -h, --help                  Print this message and exit.
      -i, --ignore-errors         Ignore errors from recipes.
      -I DIRECTORY, --include-dir=DIRECTORY
                                  Search DIRECTORY for included makefiles.
      -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
      -k, --keep-going            Keep going when some targets can't be made.
      -l [N], --load-average[=N], --max-load[=N]
                                  Don't start multiple jobs unless load is below N.
      -L, --check-symlink-times   Use the latest mtime between symlinks and target.
      -n, --just-print, --dry-run, --recon
                                  Don't actually run any recipe; just print them.
      -o FILE, --old-file=FILE, --assume-old=FILE
                                  Consider FILE to be very old and don't remake it.
      -O[TYPE], --output-sync[=TYPE]
                                  Synchronize output of parallel jobs by TYPE.
      -p, --print-data-base       Print make's internal database.
      -q, --question              Run no recipe; exit status says if up to date.
      -r, --no-builtin-rules      Disable the built-in implicit rules.
      -R, --no-builtin-variables  Disable the built-in variable settings.
      -s, --silent, --quiet       Don't echo recipes.
      -S, --no-keep-going, --stop
                                  Turns off -k.
      -t, --touch                 Touch targets instead of remaking them.
      --trace                     Print tracing information.
      -v, --version               Print the version number of make and exit.
      -w, --print-directory       Print the current directory.
      --no-print-directory        Turn off -w, even if it was turned on implicitly.
      -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                                  Consider FILE to be infinitely new.
      --warn-undefined-variables  Warn when an undefined variable is referenced.
    
    This program built for aarch64-unknown-linux-gnu
    Report bugs to <[email protected]>
    
    

    I have already check the package with: dpkg -L cuda-memcheck-10-2

    [email protected]:~/ceres-bin/ceres-solver$ dpkg -L cuda-memcheck-10-2
    /.
    /usr
    /usr/local
    /usr/local/cuda-10.2
    /usr/local/cuda-10.2/bin
    /usr/local/cuda-10.2/bin/cuda-memcheck
    /usr/share
    /usr/share/doc
    /usr/share/doc/cuda-memcheck-10-2
    /usr/share/doc/cuda-memcheck-10-2/changelog.Debian.gz
    /usr/share/doc/cuda-memcheck-10-2/copyright
    

    Can someone help me to solve this problem please? Thank you in advance.

    opened by Cristian-wp 12
  • Active set method for BVLS

    Active set method for BVLS

    Hi @sandwichmaker! Thanks for open-sourcing ceras.

    Please excuse my limited experience. I was wondering if you have considered putting in an active set method for Bounded-Variable Least-Squares as done in scipy? This might be helpful in some problems with nonsmooth constraints as it can take larger steps, which can speed up the process.

    opened by s-a-n-d-y 6
C++ library for solving large sparse linear systems with algebraic multigrid method

AMGCL AMGCL is a header-only C++ library for solving large sparse linear systems with algebraic multigrid (AMG) method. AMG is one of the most effecti

Denis Demidov 574 Nov 30, 2022
A header-only C++ library for large scale eigenvalue problems

NOTE: Spectra 1.0.0 is released, with a lot of API-breaking changes. Please see the migration guide for a smooth transition to the new version. NOTE:

Yixuan Qiu 600 Nov 26, 2022
Seidel's Algorithm: Linear-Complexity Linear Programming for Small-Dimensional Variables

SDLP Seidel's Algorithm: Linear-Complexity Linear Programming (LP) for Small-Dimensions About This solver is super efficient for small-dimensional LP

ZJU FAST Lab 42 Dec 1, 2022
a lean linear math library, aimed at graphics programming. Supports vec3, vec4, mat4x4 and quaternions

linmath.h -- A small library for linear math as required for computer graphics linmath.h provides the most used types required for programming compute

datenwolf 717 Nov 23, 2022
nml is a simple matrix and linear algebra library written in standard C.

nml is a simple matrix and linear algebra library written in standard C.

Andrei Ciobanu 44 Nov 23, 2022
Library for nonconvex constrained optimization using the augmented Lagrangian method and the matrix-free PANOC algorithm.

alpaqa Alpaqa is an efficient implementation of the Augmented Lagrangian method for general nonlinear programming problems, which uses the first-order

OPTEC 19 Nov 16, 2022
Linear Algebra in C

Linear Algebra in C Quick Start Grab la.h and use it as an stb-style header-only library. For more info on such libraries see: https://github.com/noth

Tsoding 74 Nov 26, 2022
MIRACL Cryptographic SDK: Multiprecision Integer and Rational Arithmetic Cryptographic Library is a C software library that is widely regarded by developers as the gold standard open source SDK for elliptic curve cryptography (ECC).

MIRACL What is MIRACL? Multiprecision Integer and Rational Arithmetic Cryptographic Library – the MIRACL Crypto SDK – is a C software library that is

MIRACL 517 Nov 22, 2022
A C library for statistical and scientific computing

Apophenia is an open statistical library for working with data sets and statistical or simulation models. It provides functions on the same level as t

null 186 Sep 11, 2022
P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library

Klein ?? ?? Project Site ?? ?? Description Do you need to do any of the following? Quickly? Really quickly even? Projecting points onto lines, lines t

Jeremy Ong 628 Nov 18, 2022
linalg.h is a single header, public domain, short vector math library for C++

linalg.h linalg.h is a single header, public domain, short vector math library for C++. It is inspired by the syntax of popular shading and compute la

Sterling Orsten 754 Nov 24, 2022
LibTomMath is a free open source portable number theoretic multiple-precision integer library written entirely in C.

libtommath This is the git repository for LibTomMath, a free open source portable number theoretic multiple-precision integer (MPI) library written en

libtom 540 Nov 23, 2022
OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.

OpenBLAS Travis CI: AppVeyor: Drone CI: Introduction OpenBLAS is an optimized BLAS (Basic Linear Algebra Subprograms) library based on GotoBLAS2 1.13

Zhang Xianyi 4.9k Nov 23, 2022
The QuantLib C++ library

QuantLib: the free/open-source library for quantitative finance The QuantLib project (http://quantlib.org) is aimed at providing a comprehensive softw

Luigi Ballabio 3.5k Nov 29, 2022
A C++ header-only library of statistical distribution functions.

StatsLib StatsLib is a templated C++ library of statistical distribution functions, featuring unique compile-time computing capabilities and seamless

Keith O'Hara 418 Nov 23, 2022
SymEngine is a fast symbolic manipulation library, written in C++

SymEngine SymEngine is a standalone fast C++ symbolic manipulation library. Optional thin wrappers allow usage of the library from other languages, e.

null 912 Nov 24, 2022
RcppFastFloat: Rcpp Bindings for the fastfloat C++ Header-Only Library

Converting ascii text into (floating-point) numeric values is a very common problem. The fast_float header-only C++ library by Daniel Lemire does this very well, and very fast at up to or over to 1 gigabyte per second as described in more detail in a recent arXiv paper.

Dirk Eddelbuettel 18 Nov 15, 2022
📽 Highly optimized 2D|3D math library, also known as OpenGL Mathematics (glm) for `C

Highly optimized 2D|3D math library, also known as OpenGL Mathematics (glm) for `C`. cglm provides lot of utils to help math operations to be fast and quick to write. It is community friendly, feel free to bring any issues, bugs you faced.

Recep Aslantas 1.5k Nov 30, 2022
✨sigmatch - Modern C++ 20 Signature Match / Search Library

sigmatch Modern C++ 20 Signature Match / Search Library ✨ Features ?? Header-only, no dependencies, no exceptions. ☕ Compile-time literal signature st

Sprite 52 Oct 23, 2022