Skip to content
Snippets Groups Projects
Commit fc957460 authored by Tom Fischer's avatar Tom Fischer
Browse files

Merge branch 'master' into NestedDissectionPerm

parents 971bc334 5bb25510
No related branches found
No related tags found
No related merge requests found
...@@ -66,7 +66,7 @@ unsigned CGParallel(CRSMatrix<double,unsigned> const * mat, double const * const ...@@ -66,7 +66,7 @@ unsigned CGParallel(CRSMatrix<double,unsigned> const * mat, double const * const
return 0; return 0;
} }
unsigned k; OPENMP_LOOP_TYPE k;
for (unsigned l = 1; l <= nsteps; ++l) { for (unsigned l = 1; l <= nsteps; ++l) {
#ifndef NDEBUG #ifndef NDEBUG
std::cout << "Step " << l << ", resid=" << resid / nrmb << std::endl; std::cout << "Step " << l << ", resid=" << resid / nrmb << std::endl;
......
...@@ -72,7 +72,7 @@ public: ...@@ -72,7 +72,7 @@ public:
void precondApply(double* x) const void precondApply(double* x) const
{ {
{ {
unsigned k; OPENMP_LOOP_TYPE k;
// #pragma omp parallel for // #pragma omp parallel for
for (k=0; k<_n_rows; ++k) { for (k=0; k<_n_rows; ++k) {
x[k] = _inv_diag[k]*x[k]; x[k] = _inv_diag[k]*x[k];
......
...@@ -28,7 +28,7 @@ void amuxCRSParallelOpenMP (FP_TYPE a, ...@@ -28,7 +28,7 @@ void amuxCRSParallelOpenMP (FP_TYPE a,
unsigned n, IDX_TYPE const * const __restrict__ iA, IDX_TYPE const * const __restrict__ jA, unsigned n, IDX_TYPE const * const __restrict__ iA, IDX_TYPE const * const __restrict__ jA,
FP_TYPE const * const A, FP_TYPE const * const __restrict__ x, FP_TYPE* __restrict__ y) FP_TYPE const * const A, FP_TYPE const * const __restrict__ x, FP_TYPE* __restrict__ y)
{ {
unsigned i; OPENMP_LOOP_TYPE i;
{ {
#pragma omp parallel for #pragma omp parallel for
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
......
...@@ -13,7 +13,7 @@ namespace MathLib { ...@@ -13,7 +13,7 @@ namespace MathLib {
double scpr(double const * const v, double const * const w, unsigned n) double scpr(double const * const v, double const * const w, unsigned n)
{ {
long double res (v[0]*w[0]); long double res (v[0]*w[0]);
unsigned k; OPENMP_LOOP_TYPE k;
#pragma omp parallel for reduction (+:res) #pragma omp parallel for reduction (+:res)
for (k = 1; k<n; k++) { for (k = 1; k<n; k++) {
......
...@@ -49,8 +49,12 @@ ENDIF (OGS_PROFILE) ...@@ -49,8 +49,12 @@ ENDIF (OGS_PROFILE)
IF (WIN32) IF (WIN32)
## For Visual Studio compiler ## For Visual Studio compiler
IF (MSVC) IF (MSVC)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS ADD_DEFINITIONS(
-D_CRT_XNONSTDC_NO_WARNINGS) -D_CRT_SECURE_NO_WARNINGS
-D_CRT_NONSTDC_NO_WARNINGS
-D_CRT_XNONSTDC_NO_WARNINGS
-D__restrict__=__restrict # this fixes #5
)
# Sets warning level 3 and ignores some warnings # Sets warning level 3 and ignores some warnings
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /wd4290 /wd4267") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /wd4290 /wd4267")
# cygwin # cygwin
...@@ -59,3 +63,10 @@ IF (WIN32) ...@@ -59,3 +63,10 @@ IF (WIN32)
ADD_DEFINITIONS( -DGCC ) ADD_DEFINITIONS( -DGCC )
ENDIF (MSVC) ENDIF (MSVC)
ENDIF (WIN32) ENDIF (WIN32)
# Missing OpenMP 3.0 implementation fix for Windows, this fixes #6
IF(MSVC)
ADD_DEFINITIONS(-DOPENMP_LOOP_TYPE=int)
ELSE()
ADD_DEFINITIONS(-DOPENMP_LOOP_TYPE=unsigned)
ENDIF()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment