From 181e7f98b22dcbf70b4e7f5398c156ec24be8362 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 24 Sep 2014 16:57:31 +0600 Subject: Tracking: Enable Schur specializations This would give some performance boost when solving huge scenes, amount of boost depends on particular scene. For now enable all of the specializations, in the future we might add some local patches and restrict only unneeded ones. --- extern/libmv/third_party/ceres/CMakeLists.txt | 81 +++++++++++++-------------- extern/libmv/third_party/ceres/SConscript | 3 +- extern/libmv/third_party/ceres/bundle.sh | 6 +- 3 files changed, 43 insertions(+), 47 deletions(-) (limited to 'extern') diff --git a/extern/libmv/third_party/ceres/CMakeLists.txt b/extern/libmv/third_party/ceres/CMakeLists.txt index 770803868cc..8e80352370e 100644 --- a/extern/libmv/third_party/ceres/CMakeLists.txt +++ b/extern/libmv/third_party/ceres/CMakeLists.txt @@ -245,46 +245,46 @@ set(SRC internal/ceres/wall_time.h ) -#if(FALSE) -# list(APPEND SRC -# internal/ceres/generated/partitioned_matrix_view_2_2_2.cc -# internal/ceres/generated/partitioned_matrix_view_2_2_3.cc -# internal/ceres/generated/partitioned_matrix_view_2_2_4.cc -# internal/ceres/generated/partitioned_matrix_view_2_2_d.cc -# internal/ceres/generated/partitioned_matrix_view_2_3_3.cc -# internal/ceres/generated/partitioned_matrix_view_2_3_4.cc -# internal/ceres/generated/partitioned_matrix_view_2_3_9.cc -# internal/ceres/generated/partitioned_matrix_view_2_3_d.cc -# internal/ceres/generated/partitioned_matrix_view_2_4_3.cc -# internal/ceres/generated/partitioned_matrix_view_2_4_4.cc -# internal/ceres/generated/partitioned_matrix_view_2_4_8.cc -# internal/ceres/generated/partitioned_matrix_view_2_4_9.cc -# internal/ceres/generated/partitioned_matrix_view_2_4_d.cc -# internal/ceres/generated/partitioned_matrix_view_2_d_d.cc -# internal/ceres/generated/partitioned_matrix_view_4_4_2.cc -# internal/ceres/generated/partitioned_matrix_view_4_4_3.cc -# internal/ceres/generated/partitioned_matrix_view_4_4_4.cc -# internal/ceres/generated/partitioned_matrix_view_4_4_d.cc -# internal/ceres/generated/schur_eliminator_2_2_2.cc -# internal/ceres/generated/schur_eliminator_2_2_3.cc -# internal/ceres/generated/schur_eliminator_2_2_4.cc -# internal/ceres/generated/schur_eliminator_2_2_d.cc -# internal/ceres/generated/schur_eliminator_2_3_3.cc -# internal/ceres/generated/schur_eliminator_2_3_4.cc -# internal/ceres/generated/schur_eliminator_2_3_9.cc -# internal/ceres/generated/schur_eliminator_2_3_d.cc -# internal/ceres/generated/schur_eliminator_2_4_3.cc -# internal/ceres/generated/schur_eliminator_2_4_4.cc -# internal/ceres/generated/schur_eliminator_2_4_8.cc -# internal/ceres/generated/schur_eliminator_2_4_9.cc -# internal/ceres/generated/schur_eliminator_2_4_d.cc -# internal/ceres/generated/schur_eliminator_2_d_d.cc -# internal/ceres/generated/schur_eliminator_4_4_2.cc -# internal/ceres/generated/schur_eliminator_4_4_3.cc -# internal/ceres/generated/schur_eliminator_4_4_4.cc -# internal/ceres/generated/schur_eliminator_4_4_d.cc -# ) -#endif() +if(TRUE) + list(APPEND SRC + internal/ceres/generated/partitioned_matrix_view_2_2_2.cc + internal/ceres/generated/partitioned_matrix_view_2_2_3.cc + internal/ceres/generated/partitioned_matrix_view_2_2_4.cc + internal/ceres/generated/partitioned_matrix_view_2_2_d.cc + internal/ceres/generated/partitioned_matrix_view_2_3_3.cc + internal/ceres/generated/partitioned_matrix_view_2_3_4.cc + internal/ceres/generated/partitioned_matrix_view_2_3_9.cc + internal/ceres/generated/partitioned_matrix_view_2_3_d.cc + internal/ceres/generated/partitioned_matrix_view_2_4_3.cc + internal/ceres/generated/partitioned_matrix_view_2_4_4.cc + internal/ceres/generated/partitioned_matrix_view_2_4_8.cc + internal/ceres/generated/partitioned_matrix_view_2_4_9.cc + internal/ceres/generated/partitioned_matrix_view_2_4_d.cc + internal/ceres/generated/partitioned_matrix_view_2_d_d.cc + internal/ceres/generated/partitioned_matrix_view_4_4_2.cc + internal/ceres/generated/partitioned_matrix_view_4_4_3.cc + internal/ceres/generated/partitioned_matrix_view_4_4_4.cc + internal/ceres/generated/partitioned_matrix_view_4_4_d.cc + internal/ceres/generated/schur_eliminator_2_2_2.cc + internal/ceres/generated/schur_eliminator_2_2_3.cc + internal/ceres/generated/schur_eliminator_2_2_4.cc + internal/ceres/generated/schur_eliminator_2_2_d.cc + internal/ceres/generated/schur_eliminator_2_3_3.cc + internal/ceres/generated/schur_eliminator_2_3_4.cc + internal/ceres/generated/schur_eliminator_2_3_9.cc + internal/ceres/generated/schur_eliminator_2_3_d.cc + internal/ceres/generated/schur_eliminator_2_4_3.cc + internal/ceres/generated/schur_eliminator_2_4_4.cc + internal/ceres/generated/schur_eliminator_2_4_8.cc + internal/ceres/generated/schur_eliminator_2_4_9.cc + internal/ceres/generated/schur_eliminator_2_4_d.cc + internal/ceres/generated/schur_eliminator_2_d_d.cc + internal/ceres/generated/schur_eliminator_4_4_2.cc + internal/ceres/generated/schur_eliminator_4_4_3.cc + internal/ceres/generated/schur_eliminator_4_4_4.cc + internal/ceres/generated/schur_eliminator_4_4_d.cc + ) +endif() if(WIN32) list(APPEND INC @@ -307,7 +307,6 @@ add_definitions( -DCERES_NO_SUITESPARSE -DCERES_NO_CXSPARSE -DCERES_NO_LAPACK - -DCERES_RESTRICT_SCHUR_SPECIALIZATION -DCERES_HAVE_RWLOCK ) diff --git a/extern/libmv/third_party/ceres/SConscript b/extern/libmv/third_party/ceres/SConscript index 573157cb770..a8a50dbbf7d 100644 --- a/extern/libmv/third_party/ceres/SConscript +++ b/extern/libmv/third_party/ceres/SConscript @@ -15,13 +15,12 @@ defs = [] src += env.Glob('internal/ceres/*.cc') src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc') src += env.Glob('internal/ceres/generated/partitioned_matrix_view_d_d_d.cc') -#src += env.Glob('internal/ceres/generated/*.cc') +src += env.Glob('internal/ceres/generated/*.cc') defs.append('CERES_HAVE_PTHREAD') defs.append('CERES_NO_SUITESPARSE') defs.append('CERES_NO_CXSPARSE') defs.append('CERES_NO_LAPACK') -defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION') defs.append('CERES_HAVE_RWLOCK') if env['WITH_BF_OPENMP']: diff --git a/extern/libmv/third_party/ceres/bundle.sh b/extern/libmv/third_party/ceres/bundle.sh index e7239d9a823..ec17ae24e30 100755 --- a/extern/libmv/third_party/ceres/bundle.sh +++ b/extern/libmv/third_party/ceres/bundle.sh @@ -138,7 +138,7 @@ ${sources} ${headers} ) -#if(FALSE) +#if(TRUE) # list(APPEND SRC ${generated_sources} # ) @@ -165,7 +165,6 @@ add_definitions( -DCERES_NO_SUITESPARSE -DCERES_NO_CXSPARSE -DCERES_NO_LAPACK - -DCERES_RESTRICT_SCHUR_SPECIALIZATION -DCERES_HAVE_RWLOCK ) @@ -217,13 +216,12 @@ defs = [] $src src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc') src += env.Glob('internal/ceres/generated/partitioned_matrix_view_d_d_d.cc') -#src += env.Glob('internal/ceres/generated/*.cc') +src += env.Glob('internal/ceres/generated/*.cc') defs.append('CERES_HAVE_PTHREAD') defs.append('CERES_NO_SUITESPARSE') defs.append('CERES_NO_CXSPARSE') defs.append('CERES_NO_LAPACK') -defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION') defs.append('CERES_HAVE_RWLOCK') if env['WITH_BF_OPENMP']: -- cgit v1.2.3