Try OMP parallelism

This commit is contained in:
Shikhar Kumar 2019-07-09 19:54:40 -04:00
parent e05dec4234
commit 0da3bf3381

View file

@ -101,6 +101,7 @@ int cmfd_linsolver_1g(const double* A_data, const double* b, double* x,
for (int irb = 0; irb < 2; irb++) {
// Loop around matrix rows
#pragma omp parallel for
for (int irow = 0; irow < cmfd::dim; irow++) {
int g, i, j, k;
matrix_to_indices(irow, g, i, j, k);
@ -167,6 +168,7 @@ int cmfd_linsolver_2g(const double* A_data, const double* b, double* x,
for (int irb = 0; irb < 2; irb++) {
// Loop around matrix rows
#pragma omp parallel for
for (int irow = 0; irow < cmfd::dim; irow+=2) {
int g, i, j, k;
matrix_to_indices(irow, g, i, j, k);
@ -255,6 +257,7 @@ int cmfd_linsolver_ng(const double* A_data, const double* b, double* x,
std::vector<double> tmpx {x, x+cmfd::dim};
// Loop around matrix rows
#pragma omp parallel for
for (int irow = 0; irow < cmfd::dim; irow++) {
// Get index of diagonal for current row
int didx = get_diagonal_index(irow);