[mlpack-git] master: CMake trickery to maybe make travis not crash (a6aca41)
gitdub at mlpack.org
gitdub at mlpack.org
Mon Jun 27 08:56:13 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/34cf8d94f79c9a72ff4199676033b060cd039fcd...425324bf7fb7c86c85d10a909d8a59d4f69b7164
>---------------------------------------------------------------
commit a6aca410001a4161018de08d4ff4322f68bf1dce
Author: Yannis Mentekidis <mentekid at gmail.com>
Date: Mon Jun 27 13:56:13 2016 +0100
CMake trickery to maybe make travis not crash
>---------------------------------------------------------------
a6aca410001a4161018de08d4ff4322f68bf1dce
CMakeLists.txt | 18 +++++++++++-------
src/mlpack/methods/lsh/lsh_search_impl.hpp | 28 ++++++++++++----------------
2 files changed, 23 insertions(+), 23 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2dba9e5..ad26771 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -235,13 +235,17 @@ add_definitions(-DBOOST_TEST_DYN_LINK)
# Detect OpenMP support in a compiler. If the compiler supports OpenMP, the
# flags to compile with OpenMP are returned and added.
if (HAS_OPENMP)
- find_package(OpenMP)
- if (OPENMP_FOUND)
- add_definitions(-DOPENMP_FOUND)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- endif ()
-endif ()
+ add_definitions(-DHAS_OPENMP)
+ find_package(OpenMP)
+ if (OPENMP_FOUND)
+ add_definitions(-DOPENMP_FOUND)
+ set(HAS_OPENMP "1")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ else ()
+ set(HAS_OPENMP "0")
+ endif ()
+endif()
# Create a 'distclean' target in case the user is using an in-source build for
# some reason.
diff --git a/src/mlpack/methods/lsh/lsh_search_impl.hpp b/src/mlpack/methods/lsh/lsh_search_impl.hpp
index 17886dc..0e8b11f 100644
--- a/src/mlpack/methods/lsh/lsh_search_impl.hpp
+++ b/src/mlpack/methods/lsh/lsh_search_impl.hpp
@@ -12,6 +12,15 @@
namespace mlpack {
namespace neighbor {
+inline size_t CalculateMaxThreads()
+{
+ #ifdef OPENMP_FOUND
+ if (HAS_OPENMP)
+ return omp_get_max_threads();
+ return 1;
+ #endif
+ return 1;
+}
// Construct the object with random tables
template<typename SortPolicy>
@@ -31,12 +40,7 @@ LSHSearch(const arma::mat& referenceSet,
bucketSize(bucketSize),
distanceEvaluations(0)
{
-
- #ifdef OPENMP_FOUND
- maxThreads = omp_get_max_threads();
- #else
- maxThreads = 1;
- #endif
+ maxThreads = CalculateMaxThreads();
// Pass work to training function.
Train(referenceSet, numProj, numTables, hashWidthIn, secondHashSize,
bucketSize);
@@ -59,11 +63,7 @@ LSHSearch(const arma::mat& referenceSet,
bucketSize(bucketSize),
distanceEvaluations(0)
{
- #ifdef OPENMP_FOUND
- maxThreads = omp_get_max_threads();
- #else
- maxThreads = 1;
- #endif
+ maxThreads = CalculateMaxThreads();
// Pass work to training function
Train(referenceSet, numProj, numTables, hashWidthIn, secondHashSize,
bucketSize, projections);
@@ -82,11 +82,7 @@ LSHSearch<SortPolicy>::LSHSearch() :
distanceEvaluations(0)
{
// Only define maxThreads. Nothing else to do.
- #ifdef OPENMP_FOUND
- maxThreads = omp_get_max_threads();
- #else
- maxThreads = 1;
- #endif
+ maxThreads = CalculateMaxThreads();
}
// Destructor.
More information about the mlpack-git
mailing list