Commit d269824d authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Changed OpenMP pragmas to be compatible with g++ (SMP version is slower then sequential!!!)

parent 342a24f0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ template< class GRID, class SCHEME, typename T = double > class tnlEulerSolver :
         double last_residue = _residue;
         double loc_residue = 0.0;
#ifdef HAVE_OPENMP
#pragma omp parallel for reduction(+:loc_residue) firstprivate( size, _u, _k1,_tau )
#pragma omp parallel for reduction(+:loc_residue) firstprivate( _u, _k1,_tau )
#endif
         for( i = 0; i < size; i ++ )
         {
+4 −4
Original line number Diff line number Diff line
@@ -122,12 +122,12 @@ template< typename T > class tnlGMRESSolver : public tnlMatrixSolver< T >
      {
         const int m = restarting;
#ifdef HAVE_OPENMP
#pragma omp parallel for private( i ) firstprivate( m, H, s, cs, sn )
#pragma omp parallel for private( i ) firstprivate( H, s, cs, sn )
#endif
         for( i = 0; i < m + 1; i ++ )
            H[ i ] = s[ i ] = cs[ i ] = sn[ i ] = 0.0;
#ifdef HAVE_OPENMP
#pragma omp parallel for private( i ) firstprivate( m, _size, v )
#pragma omp parallel for private( i ) firstprivate( _size, v )
#endif
         for( i = 0; i < _size * ( m + 1 ); i ++ )
            v[ i ] = 0;
@@ -142,7 +142,7 @@ template< typename T > class tnlGMRESSolver : public tnlMatrixSolver< T >
            v[ i ] = r[ i ] / beta;    // ??? r / beta
         // s = |r| e_1
#ifdef HAVE_OPENMP
#pragma omp parallel for private( i ) firstprivate( m, s )
#pragma omp parallel for private( i ) firstprivate( s )
#endif
         for( i = 1; i <= m; i ++ )
            s[ i ] = 0.0;
@@ -333,7 +333,7 @@ template< typename T > class tnlGMRESSolver : public tnlMatrixSolver< T >
      const int _size = size;
      for( i = 0; i <= k; i++)
#ifdef HAVE_OPENMP
#pragma omp parallel for private( j ) firstprivate( i , _size )
#pragma omp parallel for private( j ) firstprivate( i )
#endif
         for( j = 0; j < _size; j ++ )
            x[ j ] += v[ i * _size + j ] * y[ i ];