Fixed a bug in the l1-GS smoother with OpenMP.

This commit is contained in:
kolev1 2012-09-25 21:23:47 +00:00
parent 8531b1213c
commit 2469fbf2f4
2 changed files with 4 additions and 4 deletions

View File

@ -3270,7 +3270,7 @@ HYPRE_Int hypre_ParCSRComputeL1NormsThreads(hypre_ParCSRMatrix *A,
} }
#ifdef HYPRE_USING_OPENMP #ifdef HYPRE_USING_OPENMP
#pragma omp parallel for private(i,ii,j,k,ns,ne,rest,size,diag) HYPRE_SMP_SCHEDULE #pragma omp parallel for private(i,ii,j,k,ns,ne,rest,size,diag,cf_diag) HYPRE_SMP_SCHEDULE
#endif #endif
for (k = 0; k < num_threads; k++) for (k = 0; k < num_threads; k++)
{ {
@ -3350,7 +3350,7 @@ HYPRE_Int hypre_ParCSRComputeL1NormsThreads(hypre_ParCSRMatrix *A,
{ {
ii = A_diag_J[j]; ii = A_diag_J[j];
if ((ii == i || ii < ns || ii >= ne) && if ((ii == i || ii < ns || ii >= ne) &&
(cf_diag == cf_marker_offd[A_offd_J[j]])) (cf_diag == cf_marker[A_diag_J[j]]))
l1_norm[i] += fabs(A_diag_data[j]); l1_norm[i] += fabs(A_diag_data[j]);
} }
/* Add the CF l1 norm of the offd part of the ith row */ /* Add the CF l1 norm of the offd part of the ith row */
@ -3412,7 +3412,7 @@ HYPRE_Int hypre_ParCSRComputeL1NormsThreads(hypre_ParCSRMatrix *A,
{ {
ii = A_diag_J[j]; ii = A_diag_J[j];
if ((ii == i || ii < ns || ii >= ne) && if ((ii == i || ii < ns || ii >= ne) &&
(cf_diag == cf_marker_offd[A_offd_J[j]])) (cf_diag == cf_marker[A_diag_J[j]]))
{ {
if (ii == i) if (ii == i)
{ {

View File

@ -513,7 +513,7 @@ hypre_BoomerAMGSetup( void *amg_vdata,
* using threading */ * using threading */
for (j = 0; j < 4; j++) for (j = 0; j < 4; j++)
{ {
if (grid_relax_type[j] ==3 || grid_relax_type[j] == 6) if (grid_relax_type[j] == 3 || grid_relax_type[j] == 6 || grid_relax_type[j] == 8)
{ {
Ztemp = hypre_ParVectorCreate(hypre_ParCSRMatrixComm(A_array[0]), Ztemp = hypre_ParVectorCreate(hypre_ParCSRMatrixComm(A_array[0]),
hypre_ParCSRMatrixGlobalNumRows(A_array[0]), hypre_ParCSRMatrixGlobalNumRows(A_array[0]),