[Bf-blender-cvs] [181e7f9] master: Tracking: Enable Schur specializations

Sergey Sharybin noreply at git.blender.org
Thu Sep 25 09:18:45 CEST 2014


Commit: 181e7f98b22dcbf70b4e7f5398c156ec24be8362
Author: Sergey Sharybin
Date:   Wed Sep 24 16:57:31 2014 +0600
Branches: master
https://developer.blender.org/rB181e7f98b22dcbf70b4e7f5398c156ec24be8362

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.

===================================================================

M	extern/libmv/third_party/ceres/CMakeLists.txt
M	extern/libmv/third_party/ceres/SConscript
M	extern/libmv/third_party/ceres/bundle.sh

===================================================================

diff --git a/extern/libmv/third_party/ceres/CMakeLists.txt b/extern/libmv/third_party/ceres/CMakeLists.txt
index 7708038..8e80352 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 573157c..a8a50db 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 e7239d9..ec17ae2 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']:




More information about the Bf-blender-cvs mailing list