diff --git a/CMakeLists.txt b/CMakeLists.txt index 50986d0a927c0d890d300be952a458f552bb0ed8..ca6d0df1c8b00617041e5994e9bf4a2903ddbf12 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 bdfa4cfb32ca3967c03b9ca0b115ab1ea66b0b7c..dc689053b2d30ea328f741e8545c981d839ef12e 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 c134f67459a5ab544a953f1d3520b1d96414e5ff..4b7f5d4cff519a7864a5010e6e5cc33b6afc90ce 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;