[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47898] trunk/blender/extern/libmv/ third_party/ceres: Disable fixed-sized specializations for schur solver

Sergey Sharybin sergey.vfx at gmail.com
Thu Jun 14 15:33:50 CEST 2012


Revision: 47898
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47898
Author:   nazgul
Date:     2012-06-14 13:33:37 +0000 (Thu, 14 Jun 2012)
Log Message:
-----------
Disable fixed-sized specializations for schur solver

As far as i remember Keir, this should be safe for our usages of ceres
and it should save noticeable amount of time and used memory when
compiling blender with libmv support.

Quick tests with tracking went smooth after this.

Modified Paths:
--------------
    trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt
    trunk/blender/extern/libmv/third_party/ceres/SConscript
    trunk/blender/extern/libmv/third_party/ceres/bundle.sh

Modified: trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt
===================================================================
--- trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt	2012-06-14 12:56:38 UTC (rev 47897)
+++ trunk/blender/extern/libmv/third_party/ceres/CMakeLists.txt	2012-06-14 13:33:37 UTC (rev 47898)
@@ -58,21 +58,6 @@
 	internal/ceres/detect_structure.cc
 	internal/ceres/evaluator.cc
 	internal/ceres/file.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_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
 	internal/ceres/generated/schur_eliminator_d_d_d.cc
 	internal/ceres/gradient_checking_cost_function.cc
 	internal/ceres/implicit_schur_complement.cc
@@ -191,6 +176,26 @@
 	internal/ceres/visibility.h
 )
 
+#if(FALSE)
+#	list(APPEND SRC
+#		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_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
 		../glog/src/windows
@@ -213,6 +218,7 @@
 	-D"CERES_HASH_NAMESPACE_END=}}"
 	-DCERES_NO_SUITESPARSE
 	-DCERES_DONT_HAVE_PROTOCOL_BUFFERS
+	-DCERES_RESTRICT_SCHUR_SPECIALIZATION
 )
 
 blender_add_lib(extern_ceres "${SRC}" "${INC}" "${INC_SYS}")

Modified: trunk/blender/extern/libmv/third_party/ceres/SConscript
===================================================================
--- trunk/blender/extern/libmv/third_party/ceres/SConscript	2012-06-14 12:56:38 UTC (rev 47897)
+++ trunk/blender/extern/libmv/third_party/ceres/SConscript	2012-06-14 13:33:37 UTC (rev 47898)
@@ -13,13 +13,15 @@
 defs = []
 
 src += env.Glob('internal/ceres/*.cc')
-src += env.Glob('internal/ceres/generated/*.cc')
+src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc')
+#src += env.Glob('internal/ceres/generated/*.cc')
 
 defs.append('CERES_HAVE_PTHREAD')
 defs.append('CERES_HASH_NAMESPACE_START=namespace std { namespace tr1 {')
 defs.append('CERES_HASH_NAMESPACE_END=}}')
 defs.append('CERES_NO_SUITESPARSE')
 defs.append('CERES_DONT_HAVE_PROTOCOL_BUFFERS')
+defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION')
 
 incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags'
 

Modified: trunk/blender/extern/libmv/third_party/ceres/bundle.sh
===================================================================
--- trunk/blender/extern/libmv/third_party/ceres/bundle.sh	2012-06-14 12:56:38 UTC (rev 47897)
+++ trunk/blender/extern/libmv/third_party/ceres/bundle.sh	2012-06-14 13:33:37 UTC (rev 47898)
@@ -1,5 +1,6 @@
 #!/bin/sh
 
+if false; then
 if [ "x$1" = "x--i-really-know-what-im-doing" ] ; then
   echo Proceeding as requested by command line ...
 else
@@ -36,7 +37,10 @@
 
 rm -rf $tmp
 
-sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//\t/' | sort -d`
+fi
+
+sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//\t/' | grep -v -E 'schur_eliminator_[0-9]_[0-9]_[0-9d].cc' | sort -d`
+generated_sources=`find ./include ./internal -type f -iname '*.cc' -or -iname '*.cpp' -or -iname '*.c' | sed -r 's/^\.\//#\t\t/' | grep -E 'schur_eliminator_[0-9]_[0-9]_[0-9d].cc' | sort -d`
 headers=`find ./include ./internal -type f -iname '*.h' | sed -r 's/^\.\//\t/' | sort -d`
 
 src_dir=`find ./internal -type f -iname '*.cc' -exec dirname {} \; -or -iname '*.cpp' -exec dirname {} \; -or -iname '*.c' -exec dirname {} \; | sed -r 's/^\.\//\t/' | sort -d | uniq`
@@ -48,6 +52,10 @@
     continue;
   fi
 
+  if test  `echo "$x" | grep -c generated` -eq 1; then
+    continue;
+  fi
+
   if stat $x/*.cpp > /dev/null 2>&1; then
     t="src += env.Glob('`echo $x'/*.cpp'`')"
   fi
@@ -121,6 +129,12 @@
 ${headers}
 )
 
+#if(FALSE)
+#	list(APPEND SRC
+${generated_sources}
+#	)
+#endif()
+
 if(WIN32)
 	list(APPEND INC
 		../glog/src/windows
@@ -143,6 +157,7 @@
 	-D"CERES_HASH_NAMESPACE_END=}}"
 	-DCERES_NO_SUITESPARSE
 	-DCERES_DONT_HAVE_PROTOCOL_BUFFERS
+	-DCERES_RESTRICT_SCHUR_SPECIALIZATION
 )
 
 blender_add_lib(extern_ceres "\${SRC}" "\${INC}" "\${INC_SYS}")
@@ -164,12 +179,15 @@
 defs = []
 
 $src
+src += env.Glob('internal/ceres/generated/schur_eliminator_d_d_d.cc')
+#src += env.Glob('internal/ceres/generated/*.cc')
 
 defs.append('CERES_HAVE_PTHREAD')
 defs.append('CERES_HASH_NAMESPACE_START=namespace std { namespace tr1 {')
 defs.append('CERES_HASH_NAMESPACE_END=}}')
 defs.append('CERES_NO_SUITESPARSE')
 defs.append('CERES_DONT_HAVE_PROTOCOL_BUFFERS')
+defs.append('CERES_RESTRICT_SCHUR_SPECIALIZATION')
 
 incs = '. ../../ ../../../Eigen3 ./include ./internal ../gflags'
 




More information about the Bf-blender-cvs mailing list