2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 разпараллелить метод Гаусса
Сообщение04.10.2009, 22:05 
Выскажите ваше мнение о параллельной версии кода. Будет ли работать? Можно ли осуществить более эффективное распараллеливание?

Прямой ход
Код:
for( k=0; k<n; ++k ) {
      #pragma omp parallel for private(i,j,koef) shared(n,k)
      for( i=k+1; i<n; ++i){
           koef = -a[i][k]/a[k][k];
           for( j=k; j<=n; ++j ){
                a[i][j] += koef*a[k][j];
           }
      }
  }



Обратный
Код:
  x[n-1]=a[n-1][n]/a[n-1][n-1];
  for( k=n-2; k>=0; k-- )   {
      x[k] = a[k][n];
      #pragma omp parallel for shared(n,k) private(j)
      for( j=k+1; j<n; ++j ){
           x[k] -= a[k][j]*x[j];
      }
      x[k] /= a[k][k];
  }

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group