removed threading from the block routimes (interp, rap and relax)
This commit is contained in:
parent
aee8513efc
commit
7646a0be56
@ -151,7 +151,8 @@ hypre_BoomerAMGBuildBlockInterp( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
hypre_MPI_Comm_size(comm, &num_procs);
|
||||
hypre_MPI_Comm_rank(comm,&my_id);
|
||||
num_threads = hypre_NumThreads();
|
||||
/* num_threads = hypre_NumThreads(); */
|
||||
num_threads = 1;
|
||||
|
||||
|
||||
#ifdef HYPRE_NO_GLOBAL_PARTITION
|
||||
@ -283,8 +284,7 @@ hypre_BoomerAMGBuildBlockInterp( hypre_ParCSRBlockMatrix *A,
|
||||
jj_count_offd = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
|
||||
fine_to_coarse = hypre_CTAlloc(HYPRE_Int, n_fine);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] = -1;
|
||||
|
||||
jj_counter = start_indexing;
|
||||
@ -294,9 +294,7 @@ hypre_BoomerAMGBuildBlockInterp( hypre_ParCSRBlockMatrix *A,
|
||||
* Loop over fine grid.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
/* RDF: this looks a little tricky, but doable */
|
||||
#define HYPRE_SMP_PRIVATE i,j,i1,jj,ns,ne,size,rest
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -443,8 +441,6 @@ hypre_BoomerAMGBuildBlockInterp( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
fine_to_coarse_offd = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,ns,ne,size,rest,coarse_shift
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
coarse_shift = 0;
|
||||
@ -491,16 +487,12 @@ hypre_BoomerAMGBuildBlockInterp( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
if (debug_flag==4) wall_time = time_getWallclockSeconds();
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] -= my_first_cpt;
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Loop over fine grid points.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,jl,i1,i2,jj1,jj,ns,ne,size,rest,sum_block,diagonal_block,distribute_block,P_marker,P_marker_offd,strong_f_marker,jj_counter,jj_counter_offd,c_num,jj_begin_row,jj_end_row,jj_begin_row_offd,jj_end_row_offd
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (jl = 0; jl < num_threads; jl++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -1120,8 +1112,6 @@ hypre_BoomerAMGBuildBlockInterp( hypre_ParCSRBlockMatrix *A,
|
||||
{
|
||||
P_marker = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < num_cols_A_offd; i++)
|
||||
P_marker[i] = 0;
|
||||
|
||||
@ -1145,8 +1135,6 @@ hypre_BoomerAMGBuildBlockInterp( hypre_ParCSRBlockMatrix *A,
|
||||
col_map_offd_P[i] = index++;
|
||||
}
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < P_offd_size; i++)
|
||||
P_offd_j[i] = hypre_BinarySearch(col_map_offd_P,
|
||||
P_offd_j[i],
|
||||
@ -1927,8 +1915,7 @@ hypre_BoomerAMGBuildBlockInterpDiag( hypre_ParCSRBlockMatrix *A,
|
||||
jj_count_offd = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
|
||||
fine_to_coarse = hypre_CTAlloc(HYPRE_Int, n_fine);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] = -1;
|
||||
|
||||
jj_counter = start_indexing;
|
||||
@ -1938,9 +1925,7 @@ hypre_BoomerAMGBuildBlockInterpDiag( hypre_ParCSRBlockMatrix *A,
|
||||
* Loop over fine grid.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
/* RDF: this looks a little tricky, but doable */
|
||||
#define HYPRE_SMP_PRIVATE i,j,i1,jj,ns,ne,size,rest
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -2092,8 +2077,6 @@ hypre_BoomerAMGBuildBlockInterpDiag( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
fine_to_coarse_offd = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,ns,ne,size,rest,coarse_shift
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
coarse_shift = 0;
|
||||
@ -2140,16 +2123,12 @@ hypre_BoomerAMGBuildBlockInterpDiag( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
if (debug_flag==4) wall_time = time_getWallclockSeconds();
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] -= my_first_cpt;
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Loop over fine grid points.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,jl,i1,i2,jj1,jj,ns,ne,size,rest,sum_block,diagonal_block,distribute_block,P_marker,P_marker_offd,strong_f_marker,jj_counter,jj_counter_offd,c_num,jj_begin_row,jj_end_row,jj_begin_row_offd,jj_end_row_offd
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (jl = 0; jl < num_threads; jl++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -2816,8 +2795,6 @@ hypre_BoomerAMGBuildBlockInterpDiag( hypre_ParCSRBlockMatrix *A,
|
||||
{
|
||||
P_marker = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < num_cols_A_offd; i++)
|
||||
P_marker[i] = 0;
|
||||
|
||||
@ -2841,8 +2818,6 @@ hypre_BoomerAMGBuildBlockInterpDiag( hypre_ParCSRBlockMatrix *A,
|
||||
col_map_offd_P[i] = index++;
|
||||
}
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < P_offd_size; i++)
|
||||
P_offd_j[i] = hypre_BinarySearch(col_map_offd_P,
|
||||
P_offd_j[i],
|
||||
@ -3155,8 +3130,7 @@ hypre_BoomerAMGBuildBlockInterpRV( hypre_ParCSRBlockMatrix *A,
|
||||
jj_count_offd = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
|
||||
fine_to_coarse = hypre_CTAlloc(HYPRE_Int, n_fine);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] = -1;
|
||||
|
||||
jj_counter = start_indexing;
|
||||
@ -3166,9 +3140,6 @@ hypre_BoomerAMGBuildBlockInterpRV( hypre_ParCSRBlockMatrix *A,
|
||||
* Loop over fine grid.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
/* RDF: this looks a little tricky, but doable */
|
||||
#define HYPRE_SMP_PRIVATE i,j,i1,jj,ns,ne,size,rest
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -3315,8 +3286,6 @@ hypre_BoomerAMGBuildBlockInterpRV( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
fine_to_coarse_offd = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,ns,ne,size,rest,coarse_shift
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
coarse_shift = 0;
|
||||
@ -3363,16 +3332,12 @@ hypre_BoomerAMGBuildBlockInterpRV( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
if (debug_flag==4) wall_time = time_getWallclockSeconds();
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] -= my_first_cpt;
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Loop over fine grid points.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,jl,i1,i2,jj1,jj,ns,ne,size,rest,sum_block,diagonal_block,distribute_block,P_marker,P_marker_offd,strong_f_marker,jj_counter,jj_counter_offd,c_num,jj_begin_row,jj_end_row,jj_begin_row_offd,jj_end_row_offd
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (jl = 0; jl < num_threads; jl++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -3954,8 +3919,7 @@ hypre_BoomerAMGBuildBlockInterpRV( hypre_ParCSRBlockMatrix *A,
|
||||
{
|
||||
P_marker = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i=0; i < num_cols_A_offd; i++)
|
||||
P_marker[i] = 0;
|
||||
|
||||
@ -3979,8 +3943,6 @@ hypre_BoomerAMGBuildBlockInterpRV( hypre_ParCSRBlockMatrix *A,
|
||||
col_map_offd_P[i] = index++;
|
||||
}
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < P_offd_size; i++)
|
||||
P_offd_j[i] = hypre_BinarySearch(col_map_offd_P,
|
||||
P_offd_j[i],
|
||||
@ -4288,8 +4250,7 @@ hypre_BoomerAMGBuildBlockInterpRV2( hypre_ParCSRBlockMatrix *A,
|
||||
jj_count_offd = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
|
||||
fine_to_coarse = hypre_CTAlloc(HYPRE_Int, n_fine);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] = -1;
|
||||
|
||||
jj_counter = start_indexing;
|
||||
@ -4299,9 +4260,7 @@ hypre_BoomerAMGBuildBlockInterpRV2( hypre_ParCSRBlockMatrix *A,
|
||||
* Loop over fine grid.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
/* RDF: this looks a little tricky, but doable */
|
||||
#define HYPRE_SMP_PRIVATE i,j,i1,jj,ns,ne,size,rest
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -4448,8 +4407,6 @@ hypre_BoomerAMGBuildBlockInterpRV2( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
fine_to_coarse_offd = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,ns,ne,size,rest,coarse_shift
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
coarse_shift = 0;
|
||||
@ -4496,16 +4453,14 @@ hypre_BoomerAMGBuildBlockInterpRV2( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
if (debug_flag==4) wall_time = time_getWallclockSeconds();
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] -= my_first_cpt;
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Loop over fine grid points.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,jl,i1,i2,jj,jj1,ns,ne,size,rest,sum_block,diagonal_block,distribute_block,P_marker,P_marker_offd,strong_f_marker,jj_counter,jj_counter_offd,c_num,jj_begin_row,jj_end_row,jj_begin_row_offd,jj_end_row_offd
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (jl = 0; jl < num_threads; jl++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -5087,8 +5042,6 @@ hypre_BoomerAMGBuildBlockInterpRV2( hypre_ParCSRBlockMatrix *A,
|
||||
{
|
||||
P_marker = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < num_cols_A_offd; i++)
|
||||
P_marker[i] = 0;
|
||||
|
||||
@ -5112,8 +5065,6 @@ hypre_BoomerAMGBuildBlockInterpRV2( hypre_ParCSRBlockMatrix *A,
|
||||
col_map_offd_P[i] = index++;
|
||||
}
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < P_offd_size; i++)
|
||||
P_offd_j[i] = hypre_BinarySearch(col_map_offd_P,
|
||||
P_offd_j[i],
|
||||
@ -5332,8 +5283,7 @@ hypre_BoomerAMGBuildBlockDirInterp( hypre_ParCSRBlockMatrix *A,
|
||||
jj_count_offd = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
|
||||
fine_to_coarse = hypre_CTAlloc(HYPRE_Int, n_fine);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] = -1;
|
||||
|
||||
jj_counter = start_indexing;
|
||||
@ -5343,9 +5293,7 @@ hypre_BoomerAMGBuildBlockDirInterp( hypre_ParCSRBlockMatrix *A,
|
||||
* Loop over fine grid.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
/* RDF: this looks a little tricky, but doable */
|
||||
#define HYPRE_SMP_PRIVATE i,j,i1,jj,ns,ne,size,rest
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -5491,8 +5439,6 @@ hypre_BoomerAMGBuildBlockDirInterp( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
fine_to_coarse_offd = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,ns,ne,size,rest,coarse_shift
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
coarse_shift = 0;
|
||||
@ -5536,16 +5482,13 @@ hypre_BoomerAMGBuildBlockDirInterp( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
if (debug_flag==4) wall_time = time_getWallclockSeconds();
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n_fine; i++) fine_to_coarse[i] -= my_first_cpt;
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Loop over fine grid points.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,jl,i1,jj,ns,ne,size,rest,P_marker,P_marker_offd,jj_counter,jj_counter_offd,jj_begin_row,jj_end_row,jj_begin_row_offd,jj_end_row_offd
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (jl = 0; jl < num_threads; jl++)
|
||||
{
|
||||
size = n_fine/num_threads;
|
||||
@ -5900,8 +5843,6 @@ hypre_BoomerAMGBuildBlockDirInterp( hypre_ParCSRBlockMatrix *A,
|
||||
{
|
||||
P_marker = hypre_CTAlloc(HYPRE_Int, num_cols_A_offd);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < num_cols_A_offd; i++)
|
||||
P_marker[i] = 0;
|
||||
|
||||
@ -5925,8 +5866,6 @@ hypre_BoomerAMGBuildBlockDirInterp( hypre_ParCSRBlockMatrix *A,
|
||||
col_map_offd_P[i] = index++;
|
||||
}
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i=0; i < P_offd_size; i++)
|
||||
P_offd_j[i] = hypre_BinarySearch(col_map_offd_P,
|
||||
P_offd_j[i],
|
||||
|
||||
@ -331,7 +331,9 @@ hypre_ParCSRBlockMatrixRAP(hypre_ParCSRBlockMatrix *RT,
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
hypre_MPI_Comm_size(comm,&num_procs);
|
||||
num_threads = hypre_NumThreads();
|
||||
/* num_threads = hypre_NumThreads(); */
|
||||
num_threads = 1;
|
||||
|
||||
bnnz = block_size * block_size;
|
||||
r_a_products = (double *) malloc(bnnz * sizeof(double));
|
||||
r_a_p_products = (double *) malloc(bnnz * sizeof(double));
|
||||
@ -496,8 +498,6 @@ hypre_ParCSRBlockMatrixRAP(hypre_ParCSRBlockMatrix *RT,
|
||||
{
|
||||
jj_count = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,ii,ic,i1,i2,i3,jj1,jj2,jj3,ns,ne,size,rest,jj_counter,jj_row_begining,A_marker,P_marker
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (ii = 0; ii < num_threads; ii++)
|
||||
{
|
||||
size = num_cols_offd_RT/num_threads;
|
||||
@ -703,8 +703,6 @@ hypre_ParCSRBlockMatrixRAP(hypre_ParCSRBlockMatrix *RT,
|
||||
* Second Pass: Fill in RAP_int_data and RAP_int_j.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,ii,ic,i1,i2,i3,jj1,jj2,jj3,ns,ne,size,rest,jj_counter,jj_row_begining,A_marker,P_marker
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (ii = 0; ii < num_threads; ii++)
|
||||
{
|
||||
size = num_cols_offd_RT/num_threads;
|
||||
@ -1118,8 +1116,6 @@ hypre_ParCSRBlockMatrixRAP(hypre_ParCSRBlockMatrix *RT,
|
||||
jj_cnt_diag = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
jj_cnt_offd = hypre_CTAlloc(HYPRE_Int, num_threads);
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,k,jcol,ii,ic,i1,i2,i3,jj1,jj2,jj3,ns,ne,size,rest,jj_count_diag,jj_count_offd,jj_row_begin_diag,jj_row_begin_offd,A_marker,P_marker
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (ii = 0; ii < num_threads; ii++)
|
||||
{
|
||||
size = num_cols_diag_P/num_threads;
|
||||
@ -1386,8 +1382,6 @@ hypre_ParCSRBlockMatrixRAP(hypre_ParCSRBlockMatrix *RT,
|
||||
* Second Pass: Fill in RAP_offd_data and RAP_offd_j.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i,j,k,jcol,ii,ic,i1,i2,i3,jj1,jj2,jj3,ns,ne,size,rest,jj_count_diag,jj_count_offd,jj_row_begin_diag,jj_row_begin_offd,A_marker,P_marker
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (ii = 0; ii < num_threads; ii++)
|
||||
{
|
||||
size = num_cols_diag_P/num_threads;
|
||||
|
||||
@ -185,7 +185,8 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
one_minus_omega = 1.0 - omega;
|
||||
hypre_MPI_Comm_size(comm, &num_procs);
|
||||
hypre_MPI_Comm_rank(comm, &my_id);
|
||||
num_threads = hypre_NumThreads();
|
||||
/* num_threads = hypre_NumThreads(); */
|
||||
num_threads = 1;
|
||||
|
||||
res_vec = hypre_CTAlloc(double, block_size);
|
||||
out_vec = hypre_CTAlloc(double, block_size);
|
||||
@ -247,8 +248,6 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
* Copy current approximation into temporary vector.
|
||||
*-----------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n*block_size; i++)
|
||||
{
|
||||
Vtemp_data[i] = u_data[i];
|
||||
@ -265,8 +264,6 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
if (relax_points == 0)
|
||||
{
|
||||
#define HYPRE_SMP_PRIVATE i,ii,jj,res_vec
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
|
||||
@ -315,8 +312,6 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
|
||||
else
|
||||
{
|
||||
#define HYPRE_SMP_PRIVATE i,ii,jj,res_vec
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
|
||||
@ -413,8 +408,7 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
* Copy current approximation into temporary vector.
|
||||
*-----------------------------------------------------------------*/
|
||||
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n*block_size; i++)
|
||||
{
|
||||
Vtemp_data[i] = u_data[i];
|
||||
@ -443,12 +437,10 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
@ -563,12 +555,10 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
@ -701,12 +691,8 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
@ -843,12 +829,8 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
@ -1070,12 +1052,8 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
@ -1285,12 +1263,8 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
@ -1515,8 +1489,6 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
prod = (1.0-relax_weight*omega);
|
||||
res0_vec = hypre_CTAlloc(double, block_size);
|
||||
res2_vec = hypre_CTAlloc(double, block_size);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
Vtemp_data[i] = u_data[i];
|
||||
@ -1527,12 +1499,8 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
@ -1787,12 +1755,8 @@ HYPRE_Int hypre_BoomerAMGBlockRelax( hypre_ParCSRBlockMatrix *A,
|
||||
if (num_threads > 1)
|
||||
{
|
||||
tmp_data = hypre_CTAlloc(double,n);
|
||||
#define HYPRE_SMP_PRIVATE i
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (i = 0; i < n; i++)
|
||||
tmp_data[i] = u_data[i];
|
||||
#define HYPRE_SMP_PRIVATE i,ii,j,jj,ns,ne,res_vec,rest,size
|
||||
#include "../utilities/hypre_smp_forloop.h"
|
||||
for (j = 0; j < num_threads; j++)
|
||||
{
|
||||
size = n/num_threads;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user