[mlpack-svn] r13867 - mlpack/trunk
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Thu Nov 15 16:07:14 EST 2012
Author: rcurtin
Date: 2012-11-15 16:07:13 -0500 (Thu, 15 Nov 2012)
New Revision: 13867
Modified:
mlpack/trunk/CMakeLists.txt
Log:
Check for a 64-bit system where ARMA_64BIT_WORD is not enabled, and warn the
user if that is the case. MLPACK still works fine without ARMA_64BIT_WORD, but
it is not a bad idea to ensure size_t == uword (by defining ARMA_64BIT_WORD on
64-bit systems).
Modified: mlpack/trunk/CMakeLists.txt
===================================================================
--- mlpack/trunk/CMakeLists.txt 2012-11-15 20:20:30 UTC (rev 13866)
+++ mlpack/trunk/CMakeLists.txt 2012-11-15 21:07:13 UTC (rev 13867)
@@ -58,6 +58,28 @@
find_package(Armadillo 2.4.0 REQUIRED)
+# If Armadillo was compiled without ARMA_64BIT_WORD and we are on a 64-bit
+# system (where size_t will be 64 bits), suggest to the user that they should
+# compile Armadillo with 64-bit words.
+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+ # We are on a 64-bit system. Does Armadillo have ARMA_64BIT_WORD enabled?
+ file(READ "${ARMADILLO_INCLUDE_DIRS}/armadillo_bits/config.hpp" ARMA_CONFIG)
+ string(REGEX MATCH
+ "[\r\n][ ]*#define ARMA_64BIT_WORD"
+ ARMA_HAS_64BIT_WORD_PRE
+ "${ARMA_CONFIG}")
+
+ string(LENGTH "${ARMA_HAS_64BIT_WORD_PRE}" ARMA_HAS_64BIT_WORD)
+
+ if(ARMA_HAS_64BIT_WORD EQUAL 0)
+ message(WARNING "This is a 64-bit system, but Armadillo was compiled "
+ "without 64-bit index support. Consider recompiling Armadillo with "
+ "ARMA_64BIT_WORD to enable 64-bit indices (large matrix support). "
+ "MLPACK will still work without ARMA_64BIT_WORD defined, but will not "
+ "scale to matrices with more than 4 billion elements.")
+ endif(ARMA_HAS_64BIT_WORD EQUAL 0)
+endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
+
# On Windows, Armadillo should be using LAPACK and BLAS but we still need to
# link against it. We don't want to use the FindLAPACK or FindBLAS modules
# because then we are required to have a FORTRAN compiler (argh!) so we will try
More information about the mlpack-svn
mailing list