From c3e43dda67bc4f2ecdb3a024b896faa65b72924d Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Fri, 6 Jan 2012 10:23:49 +0100
Subject: [PATCH] some changes in programming settings for test purposes fixed
 a small issue concerning compiling with OpenMP support

---
 CMakeLists.txt                        | 2 +-
 MathLib/LinAlg/Solvers/CGParallel.cpp | 1 -
 SimpleTests/MatrixTests/MatMult.cpp   | 3 +--
 3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 50986d0a927..ca6d0df1c8b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,7 +28,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC)
 					# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33144
 					SET(CMAKE_CXX_FLAGS "-O3 -mtune=native -msse4.2 -DNDEBUG")
 				ELSE()
-                	SET(CMAKE_CXX_FLAGS "-O3 -march=native -mtune=native -msse4.2 -DNDEBUG")
+                	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -march=native -mtune=native -msse4.2 -DNDEBUG")
 				ENDIF()
         ENDIF()
         # -g
diff --git a/MathLib/LinAlg/Solvers/CGParallel.cpp b/MathLib/LinAlg/Solvers/CGParallel.cpp
index bdfa4cfb32c..dc689053b2d 100644
--- a/MathLib/LinAlg/Solvers/CGParallel.cpp
+++ b/MathLib/LinAlg/Solvers/CGParallel.cpp
@@ -35,7 +35,6 @@ namespace MathLib {
 unsigned CGParallel(CRSMatrix<double,unsigned> const * mat, double const * const b,
 		double* const x, double& eps, unsigned& nsteps, unsigned num_threads)
 {
-	omp_set_num_threads(num_threads);
 	unsigned N = mat->getNRows();
 	double * __restrict__ p(new double[N]);
 	double * __restrict__ q(new double[N]);
diff --git a/SimpleTests/MatrixTests/MatMult.cpp b/SimpleTests/MatrixTests/MatMult.cpp
index c134f67459a..4b7f5d4cff5 100644
--- a/SimpleTests/MatrixTests/MatMult.cpp
+++ b/SimpleTests/MatrixTests/MatMult.cpp
@@ -57,11 +57,10 @@ int main(int argc, char *argv[])
 	}
 
 #ifdef _OPENMP
+	omp_set_num_threads(n_threads);
 	MathLib::CRSMatrixOpenMP<double, unsigned> mat (n, iA, jA, A, n_threads);
-	std::cout << "OpenMP matrix class used" << std::endl;
 #else
 	MathLib::CRSMatrix<double, unsigned> mat (n, iA, jA, A);
-	std::cout << "matrix class without OpenMP used" << std::endl;
 #endif
 //	CRSMatrixPThreads<double> mat (n, iA, jA, A, n_threads);
 	std::cout << mat.getNRows() << " x " << mat.getNCols() << std::endl;
-- 
GitLab