Merge branch 'spgemm' of github.com:hypre-space/hypre into spgemm

This commit is contained in:
Wayne Mitchell 2022-06-08 18:32:56 +00:00
commit d80c0f3550
12 changed files with 312 additions and 123 deletions

View File

@ -468,6 +468,8 @@ hypre_ConcatDiagOffdAndExtDevice(hypre_ParCSRMatrix *A,
}
#endif
/* The input B_ext is a BigJ matrix, so is the output */
/* RL: TODO FIX the num of columns of the output (from B_ext 'big' num cols) */
HYPRE_Int
hypre_ExchangeExternalRowsDeviceInit( hypre_CSRMatrix *B_ext,
hypre_ParCSRCommPkg *comm_pkg_A,

View File

@ -472,6 +472,8 @@ hypre_ParCSRTMatMatKTDevice( hypre_ParCSRMatrix *A,
thrust::minus<HYPRE_Int>() );
#endif
// Change Cint into a BigJ matrix
// RL: TODO FIX the 'big' num of columns to global size
hypre_CSRMatrixBigJ(Cint) = hypre_TAlloc(HYPRE_BigInt, hypre_CSRMatrixNumNonzeros(Cint),
HYPRE_MEMORY_DEVICE);
@ -922,6 +924,7 @@ hypre_ParCSRTMatMatPartialAddDevice( hypre_ParCSRCommPkg *comm_pkg,
HYPRE_Int *work = hypre_TAlloc(HYPRE_Int, Cext_nnz, HYPRE_MEMORY_DEVICE);
HYPRE_Int *map_offd_to_C;
// Convert Cext from BigJ to J
// Cext offd
#if defined(HYPRE_USING_SYCL)
auto off_end = hypreSycl_copy_if( oneapi::dpl::make_zip_iterator(oneapi::dpl::counting_iterator(0),
@ -1017,6 +1020,8 @@ hypre_ParCSRTMatMatPartialAddDevice( hypre_ParCSRCommPkg *comm_pkg,
thrust::minus<HYPRE_BigInt>());
#endif
hypre_CSRMatrixNumCols(Cext) = num_cols + num_cols_offd_C;
// transform Cbar_local J index
RAP_functor<2, HYPRE_Int> func2(num_cols, 0, map_offd_to_C);
#if defined(HYPRE_USING_SYCL)
@ -1033,6 +1038,8 @@ hypre_ParCSRTMatMatPartialAddDevice( hypre_ParCSRCommPkg *comm_pkg,
func2 );
#endif
hypre_CSRMatrixNumCols(Cbar_local) = num_cols + num_cols_offd_C;
hypre_TFree(big_work, HYPRE_MEMORY_DEVICE);
hypre_TFree(work, HYPRE_MEMORY_DEVICE);
hypre_TFree(map_offd_to_C, HYPRE_MEMORY_DEVICE);
@ -1082,7 +1089,6 @@ hypre_ParCSRTMatMatPartialAddDevice( hypre_ParCSRCommPkg *comm_pkg,
hypre_CSRMatrixI(IE) = ie_i;
hypre_CSRMatrixJ(IE) = ie_j;
//hypre_CSRMatrixData(IE) = ie_a;
// CC = [Cbar_local; Cext]
hypre_CSRMatrix *CC = hypre_CSRMatrixStack2Device(Cbar_local, Cext);

View File

@ -19,9 +19,13 @@
*- - - - - - - - - - - - - - - - - - - - - - - - - - */
template <char type>
static __device__ __forceinline__
void rownnz_naive_rowi(HYPRE_Int rowi, HYPRE_Int lane_id, HYPRE_Int *ia, HYPRE_Int *ja,
void rownnz_naive_rowi(HYPRE_Int rowi,
HYPRE_Int lane_id,
HYPRE_Int *ia,
HYPRE_Int *ja,
HYPRE_Int *ib,
HYPRE_Int &row_nnz_sum, HYPRE_Int &row_nnz_max)
HYPRE_Int &row_nnz_sum,
HYPRE_Int &row_nnz_max)
{
/* load the start and end position of row i of A */
HYPRE_Int j = -1;
@ -57,8 +61,14 @@ void rownnz_naive_rowi(HYPRE_Int rowi, HYPRE_Int lane_id, HYPRE_Int *ia, HYPRE_I
template <char type, HYPRE_Int NUM_WARPS_PER_BLOCK>
__global__
void csr_spmm_rownnz_naive(HYPRE_Int M, /*HYPRE_Int K,*/ HYPRE_Int N, HYPRE_Int *ia, HYPRE_Int *ja,
HYPRE_Int *ib, HYPRE_Int *jb, HYPRE_Int *rcL, HYPRE_Int *rcU)
void csr_spmm_rownnz_naive(HYPRE_Int M,
HYPRE_Int N,
HYPRE_Int *ia,
HYPRE_Int *ja,
HYPRE_Int *ib,
HYPRE_Int *jb,
HYPRE_Int *rcL,
HYPRE_Int *rcU)
{
const HYPRE_Int num_warps = NUM_WARPS_PER_BLOCK * gridDim.x;
/* warp id inside the block */
@ -106,7 +116,8 @@ void csr_spmm_rownnz_naive(HYPRE_Int M, /*HYPRE_Int K,*/ HYPRE_Int N, HYPRE_Int
COHEN
*- - - - - - - - - - - - - - - - - - - - - - - - - - */
__global__
void expdistfromuniform(HYPRE_Int n, float *x)
void expdistfromuniform(HYPRE_Int n,
float *x)
{
const HYPRE_Int global_thread_id = blockIdx.x * get_block_size() + get_thread_id();
const HYPRE_Int total_num_threads = gridDim.x * get_block_size();
@ -122,8 +133,16 @@ void expdistfromuniform(HYPRE_Int n, float *x)
/* T = float: single precision should be enough */
template <typename T, HYPRE_Int NUM_WARPS_PER_BLOCK, HYPRE_Int SHMEM_SIZE_PER_WARP, HYPRE_Int layer>
__global__
void cohen_rowest_kernel(HYPRE_Int nrow, HYPRE_Int *rowptr, HYPRE_Int *colidx, T *V_in, T *V_out,
HYPRE_Int *rc, HYPRE_Int nsamples, HYPRE_Int *low, HYPRE_Int *upp, T mult)
void cohen_rowest_kernel(HYPRE_Int nrow,
HYPRE_Int *rowptr,
HYPRE_Int *colidx,
T *V_in,
T *V_out,
HYPRE_Int *rc,
HYPRE_Int nsamples,
HYPRE_Int *low,
HYPRE_Int *upp,
T mult)
{
const HYPRE_Int num_warps = NUM_WARPS_PER_BLOCK * gridDim.x;
/* warp id inside the block */
@ -268,9 +287,19 @@ void cohen_rowest_kernel(HYPRE_Int nrow, HYPRE_Int *rowptr, HYPRE_Int *colidx, T
}
template <typename T, HYPRE_Int BDIMX, HYPRE_Int BDIMY, HYPRE_Int NUM_WARPS_PER_BLOCK, HYPRE_Int SHMEM_SIZE_PER_WARP>
void csr_spmm_rownnz_cohen(HYPRE_Int M, HYPRE_Int K, HYPRE_Int N, HYPRE_Int *d_ia, HYPRE_Int *d_ja,
HYPRE_Int *d_ib, HYPRE_Int *d_jb, HYPRE_Int *d_low, HYPRE_Int *d_upp, HYPRE_Int *d_rc,
HYPRE_Int nsamples, T mult_factor, T *work)
void csr_spmm_rownnz_cohen(HYPRE_Int M,
HYPRE_Int K,
HYPRE_Int N,
HYPRE_Int *d_ia,
HYPRE_Int *d_ja,
HYPRE_Int *d_ib,
HYPRE_Int *d_jb,
HYPRE_Int *d_low,
HYPRE_Int *d_upp,
HYPRE_Int *d_rc,
HYPRE_Int nsamples,
T mult_factor,
T *work)
{
dim3 bDim(BDIMX, BDIMY, NUM_WARPS_PER_BLOCK);
hypre_assert(bDim.x * bDim.y == HYPRE_WARP_SIZE);
@ -355,8 +384,8 @@ hypreDevice_CSRSpGemmRownnzEstimate( HYPRE_Int m,
// for cases where one WARP works on a row
dim3 gDim( (m + bDim.z - 1) / bDim.z );
size_t cohen_nsamples = hypre_HandleSpgemmRownnzEstimateNsamples(hypre_handle());
float cohen_mult = hypre_HandleSpgemmRownnzEstimateMultFactor(hypre_handle());
size_t cohen_nsamples = hypre_HandleSpgemmRownnzEstimateNsamples(hypre_handle());
float cohen_mult = hypre_HandleSpgemmRownnzEstimateMultFactor(hypre_handle());
//hypre_printf("Cohen Nsamples %d, mult %f\n", cohen_nsamples, cohen_mult);
@ -377,7 +406,7 @@ hypreDevice_CSRSpGemmRownnzEstimate( HYPRE_Int m,
/* [optional] first run naive estimate for naive lower and upper bounds,
which will be given to Cohen's alg as corrections */
char *work_mem = hypre_TAlloc(char,
cohen_nsamples * (n + k) * sizeof(float) +2 * m * sizeof(HYPRE_Int),
cohen_nsamples * (n + k) * sizeof(float) + 2 * m * sizeof(HYPRE_Int),
HYPRE_MEMORY_DEVICE);
char *work_mem_saved = work_mem;

View File

@ -2,7 +2,7 @@
Iterations = 10
Final Relative Residual Norm = 4.534816e-09
Final Relative Residual Norm = 4.534699e-09
# Output file: agg_interp.out.2
@ -38,7 +38,7 @@ Final Relative Residual Norm = 9.962426e-09
Iterations = 11
Final Relative Residual Norm = 3.901126e-09
Final Relative Residual Norm = 3.901081e-09
# Output file: agg_interp.out.6
@ -74,7 +74,7 @@ Final Relative Residual Norm = 8.359411e-09
Iterations = 11
Final Relative Residual Norm = 7.761156e-09
Final Relative Residual Norm = 7.379258e-09
# Output file: agg_interp.out.10
@ -86,7 +86,7 @@ Final Relative Residual Norm = 8.200302e-09
Iterations = 25
Final Relative Residual Norm = 8.671776e-09
Final Relative Residual Norm = 8.656740e-09
# Output file: agg_interp.out.10.2
@ -97,8 +97,8 @@ Final Relative Residual Norm = 8.200302e-09
# Output file: agg_interp.out.11
Iterations = 19
Final Relative Residual Norm = 4.085208e-09
Iterations = 18
Final Relative Residual Norm = 6.550841e-09
# Output file: agg_interp.out.12
@ -122,13 +122,13 @@ Final Relative Residual Norm = 4.656670e-09
Iterations = 17
Final Relative Residual Norm = 3.479761e-09
Final Relative Residual Norm = 4.353028e-09
# Output file: agg_interp.out.14
Iterations = 11
Final Relative Residual Norm = 4.065039e-09
Final Relative Residual Norm = 4.066601e-09
# Output file: agg_interp.out.15
@ -140,19 +140,19 @@ Final Relative Residual Norm = 6.606006e-09
Iterations = 10
Final Relative Residual Norm = 3.954075e-09
Final Relative Residual Norm = 3.942009e-09
# Output file: agg_interp.out.17
Iterations = 20
Final Relative Residual Norm = 8.245507e-09
Final Relative Residual Norm = 8.023623e-09
# Output file: agg_interp.out.18
Iterations = 18
Final Relative Residual Norm = 5.326617e-09
Final Relative Residual Norm = 5.319636e-09
# Output file: agg_interp.out.19
@ -164,7 +164,7 @@ Final Relative Residual Norm = 6.953719e-09
Iterations = 11
Final Relative Residual Norm = 9.106706e-09
Final Relative Residual Norm = 7.420358e-09
# Output file: agg_interp.out.21

View File

@ -4,11 +4,11 @@ Final Relative Residual Norm = 9.312591e-09
# Output file: air.out.21
BoomerAMG Iterations = 18
Final Relative Residual Norm = 7.892897e-09
Final Relative Residual Norm = 7.891369e-09
# Output file: air.out.22
BoomerAMG Iterations = 16
Final Relative Residual Norm = 6.453441e-09
Final Relative Residual Norm = 6.453580e-09
# Output file: air.out.23
GMRES Iterations = 14
@ -16,11 +16,11 @@ Final GMRES Relative Residual Norm = 3.144844e-09
# Output file: air.out.24
GMRES Iterations = 11
Final GMRES Relative Residual Norm = 9.682026e-09
Final GMRES Relative Residual Norm = 9.678669e-09
# Output file: air.out.25
GMRES Iterations = 10
Final GMRES Relative Residual Norm = 1.935052e-09
Final GMRES Relative Residual Norm = 1.934932e-09
# Output file: air.out.26
BoomerAMG Iterations = 11
@ -40,9 +40,9 @@ Final GMRES Relative Residual Norm = 1.821590e-09
# Output file: air.out.30
GMRES Iterations = 10
Final GMRES Relative Residual Norm = 3.031157e-09
Final GMRES Relative Residual Norm = 3.031124e-09
# Output file: air.out.31
GMRES Iterations = 10
Final GMRES Relative Residual Norm = 6.135785e-09
Final GMRES Relative Residual Norm = 6.029147e-09

View File

@ -1,6 +1,6 @@
# Output file: amgdd.out.900
BoomerAMG-DD Iterations = 10
Final Relative Residual Norm = 8.474980e-09
Final Relative Residual Norm = 8.532791e-09
# Output file: amgdd.out.901
BoomerAMG-DD Iterations = 11
@ -28,7 +28,7 @@ Final Relative Residual Norm = 2.872730e-09
# Output file: amgdd.out.910
GMRES Iterations = 7
Final GMRES Relative Residual Norm = 2.627495e-09
Final GMRES Relative Residual Norm = 2.571242e-09
# Output file: amgdd.out.911
GMRES Iterations = 7
@ -52,7 +52,7 @@ Final GMRES Relative Residual Norm = 4.766657e-09
# Output file: amgdd.out.916
GMRES Iterations = 13
Final GMRES Relative Residual Norm = 1.700551e-03
Final GMRES Relative Residual Norm = 1.702419e-03
# Output file: amgdd.out.917
GMRES Iterations = 7

View File

@ -20,25 +20,25 @@
cycle = 2.756625
# Output file: coarsening.out.3
Average Convergence Factor = 0.347587
Average Convergence Factor = 0.347564
Complexity: grid = 1.204889
operator = 1.315634
cycle = 2.631094
Complexity: grid = 1.202667
operator = 1.314765
cycle = 2.628293
# Output file: coarsening.out.4
Average Convergence Factor = 0.427978
Average Convergence Factor = 0.426864
Complexity: grid = 1.100889
operator = 1.158136
cycle = 2.315962
Complexity: grid = 1.101333
operator = 1.158503
cycle = 2.316522
# Output file: coarsening.out.5
Average Convergence Factor = 0.427978
Average Convergence Factor = 0.426864
Complexity: grid = 1.100889
operator = 1.158136
cycle = 2.315962
Complexity: grid = 1.101333
operator = 1.158503
cycle = 2.316522
# Output file: coarsening.out.6
Iterations = 12
@ -50,15 +50,15 @@ Final Relative Residual Norm = 2.767220e-09
# Output file: coarsening.out.8
BoomerAMG Iterations = 21
Final Relative Residual Norm = 5.888646e-09
Final Relative Residual Norm = 6.569014e-09
# Output file: coarsening.out.9
BoomerAMG Iterations = 26
Final Relative Residual Norm = 9.316749e-09
# Output file: coarsening.out.11
BoomerAMG Iterations = 21
Final Relative Residual Norm = 5.008125e-09
BoomerAMG Iterations = 20
Final Relative Residual Norm = 9.665672e-09
# Output file: coarsening.out.12
BoomerAMG Iterations = 15

View File

@ -1,6 +1,6 @@
# Output file: elast.out.0
Iterations = 15
Final Relative Residual Norm = 3.696510e-09
Final Relative Residual Norm = 3.696509e-09
# Output file: elast.out.1
Iterations = 19
@ -8,7 +8,7 @@ Final Relative Residual Norm = 5.280301e-09
# Output file: elast.out.2
Iterations = 17
Final Relative Residual Norm = 5.006925e-09
Final Relative Residual Norm = 5.006926e-09
# Output file: elast.out.3
Iterations = 18
@ -16,19 +16,19 @@ Final Relative Residual Norm = 1.982784e-09
# Output file: elast.out.4
Iterations = 18
Final Relative Residual Norm = 9.718390e-09
Final Relative Residual Norm = 9.702336e-09
# Output file: elast.out.5
Iterations = 15
Final Relative Residual Norm = 1.728601e-09
Final Relative Residual Norm = 1.733122e-09
# Output file: elast.out.6
Iterations = 14
Final Relative Residual Norm = 7.661178e-10
Final Relative Residual Norm = 7.097402e-10
# Output file: elast.out.7
Iterations = 17
Final Relative Residual Norm = 5.935038e-09
Final Relative Residual Norm = 5.873774e-09
# Output file: elast.out.8
Iterations = 21
@ -48,7 +48,7 @@ Final Relative Residual Norm = 5.897597e-09
# Output file: elast.out.12
Iterations = 15
Final Relative Residual Norm = 3.696510e-09
Final Relative Residual Norm = 3.696509e-09
# Output file: elast.out.13
Iterations = 19
@ -56,7 +56,7 @@ Final Relative Residual Norm = 5.280301e-09
# Output file: elast.out.14
Iterations = 21
Final Relative Residual Norm = 3.750123e-09
Final Relative Residual Norm = 3.750122e-09
# Output file: elast.out.15
Iterations = 21
@ -72,13 +72,13 @@ Final Relative Residual Norm = 6.403256e-09
# Output file: elast.out.18
Iterations = 15
Final Relative Residual Norm = 2.465800e-09
Final Relative Residual Norm = 2.467002e-09
# Output file: elast.out.19
Iterations = 21
Final Relative Residual Norm = 3.750123e-09
Final Relative Residual Norm = 3.750122e-09
# Output file: elast.out.20
Iterations = 30
Final Relative Residual Norm = 5.648175e-09
Iterations = 29
Final Relative Residual Norm = 8.276017e-09

View File

@ -0,0 +1,152 @@
# Output file: fsai.out.0
Iterations = 1
Final Relative Residual Norm = 1.210662e-15
# Output file: fsai.out.1
Iterations = 23
Final Relative Residual Norm = 8.691352e-09
# Output file: fsai.out.2
Iterations = 23
Final Relative Residual Norm = 8.691352e-09
# Output file: fsai.out.3
Iterations = 23
Final Relative Residual Norm = 8.691352e-09
# Output file: fsai.out.4
Iterations = 19
Final Relative Residual Norm = 8.939605e-09
# Output file: fsai.out.5
Iterations = 13
Final Relative Residual Norm = 9.676493e-09
# Output file: fsai.out.6
Iterations = 13
Final Relative Residual Norm = 4.052388e-09
# Output file: fsai.out.7
Iterations = 18
Final Relative Residual Norm = 8.582135e-09
# Output file: fsai.out.8
Iterations = 12
Final Relative Residual Norm = 4.959354e-09
# Output file: fsai.out.9
Iterations = 16
Final Relative Residual Norm = 4.823866e-09
# Output file: fsai.out.10
Iterations = 17
Final Relative Residual Norm = 9.617105e-09
# Output file: fsai.out.11
Iterations = 23
Final Relative Residual Norm = 6.181709e-09
# Output file: fsai.out.12
Iterations = 26
Final Relative Residual Norm = 6.972951e-09
# Output file: fsai.out.13
Iterations = 27
Final Relative Residual Norm = 5.307599e-09
# Output file: fsai.out.14
Iterations = 78
Final Relative Residual Norm = 3.772406e-09
# Output file: fsai.out.15
Iterations = 78
Final Relative Residual Norm = 5.001190e-09
# Output file: fsai.out.16
Iterations = 171
Final Relative Residual Norm = 4.744390e-09
# Output file: fsai.out.17
Iterations = 126
Final Relative Residual Norm = 8.474573e-09
# Output file: fsai.out.18
Iterations = 184
Final Relative Residual Norm = 7.815963e-09
# Output file: fsai.out.100
Iterations = 1
Final Relative Residual Norm = 9.031512e-16
# Output file: fsai.out.101
Iterations = 22
Final Relative Residual Norm = 4.424806e-09
# Output file: fsai.out.102
Iterations = 22
Final Relative Residual Norm = 4.424806e-09
# Output file: fsai.out.103
Iterations = 22
Final Relative Residual Norm = 4.419031e-09
# Output file: fsai.out.104
Iterations = 7
Final Relative Residual Norm = 3.349849e-10
# Output file: fsai.out.105
Iterations = 5
Final Relative Residual Norm = 2.069839e-09
# Output file: fsai.out.106
Iterations = 5
Final Relative Residual Norm = 2.220933e-09
# Output file: fsai.out.107
Iterations = 7
Final Relative Residual Norm = 6.228123e-09
# Output file: fsai.out.108
Iterations = 5
Final Relative Residual Norm = 3.623770e-10
# Output file: fsai.out.109
Iterations = 6
Final Relative Residual Norm = 5.800614e-09
# Output file: fsai.out.110
Iterations = 7
Final Relative Residual Norm = 6.856551e-10
# Output file: fsai.out.111
Iterations = 10
Final Relative Residual Norm = 9.673165e-10
# Output file: fsai.out.112
Iterations = 10
Final Relative Residual Norm = 1.395944e-09
# Output file: fsai.out.113
Iterations = 10
Final Relative Residual Norm = 2.968035e-09
# Output file: fsai.out.114
Iterations = 25
Final Relative Residual Norm = 2.120545e-09
# Output file: fsai.out.115
Iterations = 27
Final Relative Residual Norm = 9.600768e-09
# Output file: fsai.out.116
Iterations = 37
Final Relative Residual Norm = 3.572557e-09
# Output file: fsai.out.117
Iterations = 33
Final Relative Residual Norm = 1.801449e-09
# Output file: fsai.out.118
Iterations = 39
Final Relative Residual Norm = 2.074921e-09

View File

@ -1,6 +1,6 @@
# Output file: nonmixedint.out.0
BoomerAMG Iterations = 18
Final Relative Residual Norm = 5.361427e-09
Final Relative Residual Norm = 4.636260e-09
# Output file: nonmixedint.out.1
GMRES Iterations = 32

View File

@ -1,9 +1,9 @@
# Output file: smoother.out.0
Average Convergence Factor = 0.430612
Average Convergence Factor = 0.437564
Complexity: grid = 1.404222
operator = 2.596532
cycle = 5.191852
Complexity: grid = 1.405556
operator = 2.601515
cycle = 5.201077
# Output file: smoother.out.1
Average Convergence Factor = 0.109467
@ -13,22 +13,22 @@
cycle = 5.142177
# Output file: smoother.out.2
Average Convergence Factor = 0.213961
Average Convergence Factor = 0.215361
Complexity: grid = 1.403750
operator = 2.592614
cycle = 5.183864
Complexity: grid = 1.404500
operator = 2.600379
cycle = 5.198977
# Output file: smoother.out.3
Average Convergence Factor = 0.412622
Average Convergence Factor = 0.412580
Complexity: grid = 1.403750
operator = 2.592614
cycle = 5.183864
Complexity: grid = 1.404500
operator = 2.600379
cycle = 5.198977
# Output file: smoother.out.4
Iterations = 7
Final Relative Residual Norm = 1.757560e-09
Final Relative Residual Norm = 1.707980e-09
# Output file: smoother.out.5
BoomerAMG Iterations = 16
@ -36,55 +36,55 @@ Final Relative Residual Norm = 5.453527e-09
# Output file: smoother.out.6
Iterations = 12
Final Relative Residual Norm = 2.762490e-09
Final Relative Residual Norm = 2.844751e-09
# Output file: smoother.out.7
BoomerAMG Iterations = 26
Final Relative Residual Norm = 5.404255e-09
Final Relative Residual Norm = 6.036797e-09
# Output file: smoother.out.8
BoomerAMG Iterations = 17
Final Relative Residual Norm = 3.896878e-09
Final Relative Residual Norm = 3.996236e-09
# Output file: smoother.out.9
BoomerAMG Iterations = 21
Final Relative Residual Norm = 5.872644e-09
Final Relative Residual Norm = 7.247775e-09
# Output file: smoother.out.10
BoomerAMG Iterations = 25
Final Relative Residual Norm = 6.780708e-09
Final Relative Residual Norm = 8.537744e-09
# Output file: smoother.out.11
Iterations = 7
Final Relative Residual Norm = 4.597200e-10
Final Relative Residual Norm = 4.716520e-10
# Output file: smoother.out.12
Iterations = 7
Final Relative Residual Norm = 1.208193e-09
Final Relative Residual Norm = 1.210177e-09
# Output file: smoother.out.13
Iterations = 6
Final Relative Residual Norm = 2.719926e-09
Final Relative Residual Norm = 2.722864e-09
# Output file: smoother.out.14
Iterations = 7
Final Relative Residual Norm = 1.367899e-09
Final Relative Residual Norm = 1.300460e-09
# Output file: smoother.out.15
Iterations = 11
Final Relative Residual Norm = 7.629513e-09
Final Relative Residual Norm = 7.608517e-09
# Output file: smoother.out.16
Iterations = 6
Final Relative Residual Norm = 2.345015e-09
Final Relative Residual Norm = 2.332904e-09
# Output file: smoother.out.17
Iterations = 8
Final Relative Residual Norm = 9.338545e-10
Final Relative Residual Norm = 8.416776e-10
# Output file: smoother.out.18
GMRES Iterations = 11
Final GMRES Relative Residual Norm = 6.828914e-09
Final GMRES Relative Residual Norm = 6.828913e-09
# Output file: smoother.out.19
Iterations = 7
@ -92,21 +92,21 @@ Final Relative Residual Norm = 8.750335e-09
# Output file: smoother.out.20
Iterations = 12
Final Relative Residual Norm = 3.976961e-09
Final Relative Residual Norm = 3.185523e-09
# Output file: smoother.out.21
Iterations = 8
Final Relative Residual Norm = 5.442169e-09
Final Relative Residual Norm = 7.998740e-09
# Output file: smoother.out.22
Iterations = 8
Final Relative Residual Norm = 4.050427e-09
Final Relative Residual Norm = 5.312870e-09
# Output file: smoother.out.23
Iterations = 9
Final Relative Residual Norm = 1.019347e-09
Final Relative Residual Norm = 1.468866e-09
# Output file: smoother.out.24
Iterations = 9
Final Relative Residual Norm = 2.886424e-09
Final Relative Residual Norm = 4.052950e-09

View File

@ -12,7 +12,7 @@ Final GMRES Relative Residual Norm = 2.545775e-09
# Output file: solvers.out.3
GMRES Iterations = 93
Final GMRES Relative Residual Norm = 8.225662e-09
Final GMRES Relative Residual Norm = 8.225661e-09
# Output file: solvers.out.4
Iterations = 9
@ -44,7 +44,7 @@ Final Relative Residual Norm = 6.686412e-10
Iterations = 7
PCG_Iterations = 4
DSCG_Iterations = 3
Final Relative Residual Norm = 8.612722e-10
Final Relative Residual Norm = 8.612723e-10
# Output file: solvers.out.12
@ -56,7 +56,7 @@ Final COGMRES Relative Residual Norm = 2.545775e-09
COGMRES Iterations = 93
Final COGMRES Relative Residual Norm = 8.225662e-09
Final COGMRES Relative Residual Norm = 8.225661e-09
# Output file: solvers.out.14
@ -68,7 +68,7 @@ Final COGMRES Relative Residual Norm = 8.225661e-09
COGMRES Iterations = 93
Final COGMRES Relative Residual Norm = 8.225662e-09
Final COGMRES Relative Residual Norm = 8.225661e-09
# Output file: solvers.out.16
@ -83,17 +83,17 @@ GMRES Iterations = 12
Final GMRES Relative Residual Norm = 2.545775e-09
# Output file: solvers.out.18
index 19 value -7.497266e-11
index 19 value -7.497267e-11
GMRES Iterations = 93
Final GMRES Relative Residual Norm = 8.225662e-09
Final GMRES Relative Residual Norm = 8.225661e-09
# Output file: solvers.out.sysh
Average Convergence Factor = 0.209293
Average Convergence Factor = 0.210029
Complexity: grid = 1.400375
operator = 2.672276
cycle = 5.344534
Complexity: grid = 1.399250
operator = 2.669776
cycle = 5.339534
# Output file: solvers.out.sysn
Average Convergence Factor = 0.537935
@ -103,11 +103,11 @@ Final GMRES Relative Residual Norm = 8.225662e-09
cycle = 10.165075
# Output file: solvers.out.sysu
Average Convergence Factor = 0.777642
Average Convergence Factor = 0.775859
Complexity: grid = 1.395687
operator = 2.731768
cycle = 5.463419
Complexity: grid = 1.396187
operator = 2.742682
cycle = 5.485135
# Output file: solvers.out.101
LGMRES Iterations = 83
@ -119,7 +119,7 @@ Final LGMRES Relative Residual Norm = 2.815593e-09
# Output file: solvers.out.103
FlexGMRES Iterations = 93
Final FlexGMRES Relative Residual Norm = 8.225662e-09
Final FlexGMRES Relative Residual Norm = 8.225661e-09
# Output file: solvers.out.104
FlexGMRES Iterations = 12
@ -127,19 +127,19 @@ Final FlexGMRES Relative Residual Norm = 2.545775e-09
# Output file: solvers.out.105
Iterations = 19
Final Relative Residual Norm = 4.345645e-09
Final Relative Residual Norm = 4.289859e-09
# Output file: solvers.out.106
Iterations = 19
Final Relative Residual Norm = 4.345650e-09
Final Relative Residual Norm = 4.289859e-09
# Output file: solvers.out.107
Iterations = 29
Final Relative Residual Norm = 7.167010e-09
Final Relative Residual Norm = 7.271644e-09
# Output file: solvers.out.108
Iterations = 29
Final Relative Residual Norm = 7.167601e-09
Final Relative Residual Norm = 7.271686e-09
# Output file: solvers.out.109
Iterations = 20
@ -159,23 +159,23 @@ Final GMRES Relative Residual Norm = 7.222663e-09
# Output file: solvers.out.113
GMRES Iterations = 26
Final GMRES Relative Residual Norm = 6.906048e-09
Final GMRES Relative Residual Norm = 6.906047e-09
# Output file: solvers.out.114
BoomerAMG Iterations = 34
Final Relative Residual Norm = 6.453417e-09
Final Relative Residual Norm = 9.835648e-09
# Output file: solvers.out.115
BoomerAMG Iterations = 34
Final Relative Residual Norm = 5.870423e-09
BoomerAMG Iterations = 33
Final Relative Residual Norm = 9.952200e-09
# Output file: solvers.out.116
GMRES Iterations = 14
Final GMRES Relative Residual Norm = 9.589221e-09
GMRES Iterations = 15
Final GMRES Relative Residual Norm = 3.030833e-09
# Output file: solvers.out.117
GMRES Iterations = 14
Final GMRES Relative Residual Norm = 9.589221e-09
GMRES Iterations = 15
Final GMRES Relative Residual Norm = 3.030833e-09
# Output file: solvers.out.118
GMRES Iterations = 27
@ -275,7 +275,7 @@ Final Relative Residual Norm = 9.189235e-09
# Output file: solvers.out.305
hypre_ILU Iterations = 39
Final Relative Residual Norm = 8.838453e-09
Final Relative Residual Norm = 8.838452e-09
# Output file: solvers.out.306
hypre_ILU Iterations = 27
@ -351,7 +351,7 @@ Final FlexGMRES Relative Residual Norm = 3.782082e-09
# Output file: solvers.out.324
BoomerAMG Iterations = 10
Final Relative Residual Norm = 9.027251e-09
Final Relative Residual Norm = 9.027250e-09
# Output file: solvers.out.325
BoomerAMG Iterations = 9