diff --git a/AUTOTEST/cmake.sh b/AUTOTEST/cmake.sh index 18d775b875..db4875bb15 100755 --- a/AUTOTEST/cmake.sh +++ b/AUTOTEST/cmake.sh @@ -82,7 +82,8 @@ rm -fr src/hypre # Configure cd $root_dir/build eval cmake $copts ../src -make $mopts install +eval cmake --build . $mopts +eval cmake --install . cd $test_dir diff --git a/AUTOTEST/machine-matrix.sh b/AUTOTEST/machine-matrix.sh new file mode 100755 index 0000000000..93503ffe62 --- /dev/null +++ b/AUTOTEST/machine-matrix.sh @@ -0,0 +1,150 @@ +#!/bin/bash +# Copyright (c) 1998 Lawrence Livermore National Security, LLC and other +# HYPRE Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +testname=`basename $0 .sh` + +# Echo usage information +case $1 in + -h|-help) + cat <&2 +done diff --git a/src/config/cmake/HYPRE_CMakeUtilities.cmake b/src/config/cmake/HYPRE_CMakeUtilities.cmake index 65aefcaf68..ee176bee0f 100644 --- a/src/config/cmake/HYPRE_CMakeUtilities.cmake +++ b/src/config/cmake/HYPRE_CMakeUtilities.cmake @@ -811,7 +811,7 @@ function(maybe_build_umpire) set(_umpire_tag "${HYPRE_UMPIRE_VERSION}") if(_umpire_tag STREQUAL "latest") # Default to a recent release if auto-detection is not desired here - set(_umpire_tag "v2025.09.0") + set(_umpire_tag "v2025.12.0") endif() # Configure Umpire build options according to hypre needs (one canonical block) diff --git a/src/parcsr_ls/par_relax.c b/src/parcsr_ls/par_relax.c index c471a3a92d..e223b0f201 100644 --- a/src/parcsr_ls/par_relax.c +++ b/src/parcsr_ls/par_relax.c @@ -1131,7 +1131,7 @@ hypre_BoomerAMGRelaxHybridSOR( hypre_ParCSRMatrix *A, exec = HYPRE_EXEC_HOST; } - if (hypre_HandleDeviceGSMethod(hypre_handle()) == 0) + if (hypre_GetDeviceGSMethod() == 0) { exec = HYPRE_EXEC_HOST; } diff --git a/src/test/TEST_ams/solvers.saved.matrix b/src/test/TEST_ams/solvers.saved.matrix new file mode 100644 index 0000000000..a066630666 --- /dev/null +++ b/src/test/TEST_ams/solvers.saved.matrix @@ -0,0 +1,117 @@ +# Output file: solvers.out.0 + Cycle 55 2.175368e-05 0.792497 1.620091e-06 + Cycle 56 1.724221e-05 0.792611 1.284102e-06 + Cycle 57 1.366597e-05 0.792588 1.017764e-06 + Cycle 58 1.083058e-05 0.792522 8.066004e-07 + + + Average Convergence Factor = 0.785131 + +# Output file: solvers.out.1 + Cycle 55 2.175368e-05 0.792497 1.620091e-06 + Cycle 56 1.724221e-05 0.792611 1.284102e-06 + Cycle 57 1.366597e-05 0.792588 1.017764e-06 + Cycle 58 1.083058e-05 0.792522 8.066004e-07 + + + Average Convergence Factor = 0.785131 + +# Output file: solvers.out.2 + Cycle 102 1.794451e-05 0.878441 1.336405e-06 + Cycle 103 1.576536e-05 0.878562 1.174114e-06 + Cycle 104 1.385191e-05 0.878629 1.031611e-06 + Cycle 105 1.216904e-05 0.878510 9.062812e-07 + + + Average Convergence Factor = 0.875891 + +# Output file: solvers.out.3 + Cycle 102 1.794451e-05 0.878441 1.336405e-06 + Cycle 103 1.576536e-05 0.878562 1.174114e-06 + Cycle 104 1.385191e-05 0.878629 1.031611e-06 + Cycle 105 1.216904e-05 0.878510 9.062812e-07 + + + Average Convergence Factor = 0.875891 + +# Output file: solvers.out.4 + +Iterations = 13 +Final Relative Residual Norm = 3.213286e-07 + +# Output file: solvers.out.5 + +Iterations = 13 +Final Relative Residual Norm = 3.213286e-07 + +# Output file: solvers.out.6 + +Iterations = 16 +Final Relative Residual Norm = 7.960715e-07 + +# Output file: solvers.out.7 + +Iterations = 16 +Final Relative Residual Norm = 7.960715e-07 + +# Output file: solvers.out.12 + +Iterations = 18 +Final Relative Residual Norm = 4.021817e+00 + +# Output file: solvers.out.8 + +Eigenvalue lambda 3.02357653920962e+01 +Eigenvalue lambda 3.03135374702830e+01 +Eigenvalue lambda 3.85013899429209e+01 +Eigenvalue lambda 5.14395940113317e+01 +Eigenvalue lambda 5.15742481827998e+01 +Residual 1.28206884875916e-04 +Residual 1.15405099456959e-04 +Residual 1.04689465214239e-04 +Residual 1.38172405812504e-04 +Residual 1.23675952898175e-04 + +25 iterations +# Output file: solvers.out.9 + +Eigenvalue lambda 3.02357653920962e+01 +Eigenvalue lambda 3.03135374702830e+01 +Eigenvalue lambda 3.85013899429209e+01 +Eigenvalue lambda 5.14395940113317e+01 +Eigenvalue lambda 5.15742481827998e+01 +Residual 1.28206884875916e-04 +Residual 1.15405099456959e-04 +Residual 1.04689465214239e-04 +Residual 1.38172405812504e-04 +Residual 1.23675952898175e-04 + +25 iterations +# Output file: solvers.out.10 + +Eigenvalue lambda 3.02357653918892e+01 +Eigenvalue lambda 3.03135374702453e+01 +Eigenvalue lambda 3.85013899430456e+01 +Eigenvalue lambda 5.14395940111879e+01 +Eigenvalue lambda 5.15742481838279e+01 +Residual 8.52199408895113e-05 +Residual 9.28400783649100e-05 +Residual 1.24500310590999e-04 +Residual 1.48772911719422e-04 +Residual 1.31345900292041e-04 + +37 iterations +# Output file: solvers.out.11 + +Eigenvalue lambda 3.02357653918892e+01 +Eigenvalue lambda 3.03135374702453e+01 +Eigenvalue lambda 3.85013899430456e+01 +Eigenvalue lambda 5.14395940111879e+01 +Eigenvalue lambda 5.15742481838279e+01 +Residual 8.52199408895113e-05 +Residual 9.28400783649100e-05 +Residual 1.24500310590999e-04 +Residual 1.48772911719422e-04 +Residual 1.31345900292041e-04 + +37 iterations diff --git a/src/test/TEST_ij/agg_interp.saved.matrix b/src/test/TEST_ij/agg_interp.saved.matrix new file mode 100644 index 0000000000..2f1084a409 --- /dev/null +++ b/src/test/TEST_ij/agg_interp.saved.matrix @@ -0,0 +1,192 @@ +# Output file: agg_interp.out.1 + + +Iterations = 10 +Final Relative Residual Norm = 4.258405e-09 + +# Output file: agg_interp.out.2 + + +Iterations = 10 +Final Relative Residual Norm = 3.283235e-09 + +# Output file: agg_interp.out.3 + + +Iterations = 11 +Final Relative Residual Norm = 6.415687e-09 + +# Output file: agg_interp.out.4 + + +Iterations = 13 +Final Relative Residual Norm = 9.962426e-09 + +# Output file: agg_interp.out.4.1 + + +Iterations = 13 +Final Relative Residual Norm = 9.947240e-09 + +# Output file: agg_interp.out.4.2 + + +Iterations = 13 +Final Relative Residual Norm = 9.962426e-09 + +# Output file: agg_interp.out.5 + + +Iterations = 11 +Final Relative Residual Norm = 6.487531e-09 + +# Output file: agg_interp.out.6 + + +Iterations = 11 +Final Relative Residual Norm = 5.892245e-09 + +# Output file: agg_interp.out.7 + + +Iterations = 13 +Final Relative Residual Norm = 8.026561e-09 + +# Output file: agg_interp.out.8 + + +Iterations = 16 +Final Relative Residual Norm = 8.359411e-09 + +# Output file: agg_interp.out.8.1 + + +Iterations = 16 +Final Relative Residual Norm = 7.750810e-09 + +# Output file: agg_interp.out.8.2 + + +Iterations = 16 +Final Relative Residual Norm = 8.359411e-09 + +# Output file: agg_interp.out.9 + + +Iterations = 11 +Final Relative Residual Norm = 7.218488e-09 + +# Output file: agg_interp.out.10 + + +Iterations = 25 +Final Relative Residual Norm = 8.200302e-09 + +# Output file: agg_interp.out.10.1 + + +Iterations = 25 +Final Relative Residual Norm = 8.671776e-09 + +# Output file: agg_interp.out.10.2 + + +Iterations = 25 +Final Relative Residual Norm = 8.200302e-09 + +# Output file: agg_interp.out.11 + + +Iterations = 19 +Final Relative Residual Norm = 4.180972e-09 + +# Output file: agg_interp.out.12 + + +Iterations = 22 +Final Relative Residual Norm = 4.656670e-09 + +# Output file: agg_interp.out.12.1 + + +Iterations = 22 +Final Relative Residual Norm = 5.415649e-09 + +# Output file: agg_interp.out.12.2 + + +Iterations = 22 +Final Relative Residual Norm = 4.656670e-09 + +# Output file: agg_interp.out.13 + + +Iterations = 16 +Final Relative Residual Norm = 9.072689e-09 + +# Output file: agg_interp.out.14 + + +Iterations = 11 +Final Relative Residual Norm = 4.051025e-09 + +# Output file: agg_interp.out.15 + + +Iterations = 11 +Final Relative Residual Norm = 6.606006e-09 + +# Output file: agg_interp.out.16 + + +Iterations = 10 +Final Relative Residual Norm = 4.938299e-09 + +# Output file: agg_interp.out.17 + + +Iterations = 20 +Final Relative Residual Norm = 6.711024e-09 + +# Output file: agg_interp.out.18 + + +Iterations = 18 +Final Relative Residual Norm = 5.325382e-09 + +# Output file: agg_interp.out.19 + + +Iterations = 10 +Final Relative Residual Norm = 6.953719e-09 + +# Output file: agg_interp.out.19.1 + + +Iterations = 11 +Final Relative Residual Norm = 1.959614e-09 + +# Output file: agg_interp.out.19.2 + + +Iterations = 10 +Final Relative Residual Norm = 2.361979e-09 + +# Output file: agg_interp.out.20 + + +Iterations = 12 +Final Relative Residual Norm = 2.442371e-09 + +# Output file: agg_interp.out.21 + + +BoomerAMG Iterations = 9 +Final Relative Residual Norm = 2.176372e-09 + +# Output file: agg_interp.out.22 + + +Iterations = 16 +Final Relative Residual Norm = 7.077723e-09 + diff --git a/src/test/TEST_ij/air.saved.matrix b/src/test/TEST_ij/air.saved.matrix new file mode 100644 index 0000000000..7c381d4557 --- /dev/null +++ b/src/test/TEST_ij/air.saved.matrix @@ -0,0 +1,48 @@ +# Output file: air.out.20 +BoomerAMG Iterations = 25 +Final Relative Residual Norm = 9.312591e-09 + +# Output file: air.out.21 +BoomerAMG Iterations = 18 +Final Relative Residual Norm = 7.891369e-09 + +# Output file: air.out.22 +BoomerAMG Iterations = 16 +Final Relative Residual Norm = 6.452598e-09 + +# Output file: air.out.23 +GMRES Iterations = 14 +Final GMRES Relative Residual Norm = 3.144844e-09 + +# Output file: air.out.24 +GMRES Iterations = 11 +Final GMRES Relative Residual Norm = 9.678669e-09 + +# Output file: air.out.25 +GMRES Iterations = 10 +Final GMRES Relative Residual Norm = 1.934858e-09 + +# Output file: air.out.26 +BoomerAMG Iterations = 11 +Final Relative Residual Norm = 1.541616e-09 + +# Output file: air.out.27 +BoomerAMG Iterations = 10 +Final Relative Residual Norm = 4.818763e-09 + +# Output file: air.out.28 +BoomerAMG Iterations = 10 +Final Relative Residual Norm = 4.701521e-09 + +# Output file: air.out.29 +GMRES Iterations = 12 +Final GMRES Relative Residual Norm = 1.821590e-09 + +# Output file: air.out.30 +GMRES Iterations = 10 +Final GMRES Relative Residual Norm = 3.031124e-09 + +# Output file: air.out.31 +GMRES Iterations = 10 +Final GMRES Relative Residual Norm = 6.029147e-09 + diff --git a/src/test/TEST_ij/amgdd.saved.matrix b/src/test/TEST_ij/amgdd.saved.matrix new file mode 100644 index 0000000000..82bc43539f --- /dev/null +++ b/src/test/TEST_ij/amgdd.saved.matrix @@ -0,0 +1,64 @@ +# Output file: amgdd.out.900 +BoomerAMG-DD Iterations = 11 +Final Relative Residual Norm = 2.637142e-09 + +# Output file: amgdd.out.901 +BoomerAMG-DD Iterations = 10 +Final Relative Residual Norm = 5.434597e-09 + +# Output file: amgdd.out.902 +BoomerAMG-DD Iterations = 11 +Final Relative Residual Norm = 3.272845e-09 + +# Output file: amgdd.out.903 +BoomerAMG-DD Iterations = 25 +Final Relative Residual Norm = 6.508851e-09 + +# Output file: amgdd.out.904 +BoomerAMG-DD Iterations = 25 +Final Relative Residual Norm = 6.758206e-09 + +# Output file: amgdd.out.905 +BoomerAMG-DD Iterations = 11 +Final Relative Residual Norm = 2.682944e-09 + +# Output file: amgdd.out.906 +BoomerAMG-DD Iterations = 11 +Final Relative Residual Norm = 2.688644e-09 + +# Output file: amgdd.out.910 +GMRES Iterations = 7 +Final GMRES Relative Residual Norm = 2.783446e-09 + +# Output file: amgdd.out.911 +GMRES Iterations = 7 +Final GMRES Relative Residual Norm = 3.807194e-09 + +# Output file: amgdd.out.912 +GMRES Iterations = 7 +Final GMRES Relative Residual Norm = 6.374572e-09 + +# Output file: amgdd.out.913 +GMRES Iterations = 6 +Final GMRES Relative Residual Norm = 2.680719e-09 + +# Output file: amgdd.out.914 +GMRES Iterations = 15 +Final GMRES Relative Residual Norm = 3.887000e-09 + +# Output file: amgdd.out.915 +GMRES Iterations = 5 +Final GMRES Relative Residual Norm = 5.001224e-09 + +# Output file: amgdd.out.916 +GMRES Iterations = 13 +Final GMRES Relative Residual Norm = 1.087777e-03 + +# Output file: amgdd.out.917 +GMRES Iterations = 7 +Final GMRES Relative Residual Norm = 4.055942e-09 + +# Output file: amgdd.out.918 +GMRES Iterations = 7 +Final GMRES Relative Residual Norm = 2.041613e-09 + diff --git a/src/test/TEST_ij/assembly.saved.matrix b/src/test/TEST_ij/assembly.saved.matrix new file mode 100644 index 0000000000..c0edd2b368 --- /dev/null +++ b/src/test/TEST_ij/assembly.saved.matrix @@ -0,0 +1,10 @@ +# Output file: assembly.out.0 +Test error code = 0 +# Output file: assembly.out.1 +Test error code = 0 +# Output file: assembly.out.2 +Test error code = 0 +# Output file: assembly.out.3 +Test error code = 0 +# Output file: assembly.out.4 +Test error code = 0 diff --git a/src/test/TEST_ij/cheby.saved.matrix b/src/test/TEST_ij/cheby.saved.matrix new file mode 100644 index 0000000000..30e15e6a6b --- /dev/null +++ b/src/test/TEST_ij/cheby.saved.matrix @@ -0,0 +1,79 @@ +# Output file: cheby.out.1 +Iterations = 16 +Final Relative Residual Norm = 2.498555e-09 + +# Output file: cheby.out.2 +Iterations = 23 +Final Relative Residual Norm = 8.691352e-09 + +# Output file: cheby.out.3 +Iterations = 12 +Final Relative Residual Norm = 4.138726e-09 + +# Output file: cheby.out.4 +Iterations = 11 +Final Relative Residual Norm = 2.570533e-10 + +# Output file: cheby.out.5 +Iterations = 18 +Final Relative Residual Norm = 2.527512e-09 + +# Output file: cheby.out.6 +Iterations = 16 +Final Relative Residual Norm = 2.498555e-09 + +# Output file: cheby.out.7 +Iterations = 15 +Final Relative Residual Norm = 1.334181e-09 + +# Output file: cheby.out.8 +Iterations = 15 +Final Relative Residual Norm = 7.017478e-09 + +# Output file: cheby.out.9 +Iterations = 16 +Final Relative Residual Norm = 2.538994e-09 + +# Output file: cheby.out.10 +GMRES Iterations = 41 +Final GMRES Relative Residual Norm = 9.703232e-09 + +# Output file: cheby.out.101 +Iterations = 16 +Final Relative Residual Norm = 1.756907e-09 + +# Output file: cheby.out.102 +Iterations = 23 +Final Relative Residual Norm = 8.691352e-09 + +# Output file: cheby.out.103 +Iterations = 12 +Final Relative Residual Norm = 2.670416e-09 + +# Output file: cheby.out.104 +Iterations = 10 +Final Relative Residual Norm = 6.033695e-09 + +# Output file: cheby.out.105 +Iterations = 18 +Final Relative Residual Norm = 1.833527e-09 + +# Output file: cheby.out.106 +Iterations = 16 +Final Relative Residual Norm = 1.756907e-09 + +# Output file: cheby.out.107 +Iterations = 14 +Final Relative Residual Norm = 6.875733e-09 + +# Output file: cheby.out.108 +Iterations = 16 +Final Relative Residual Norm = 1.517851e-09 + +# Output file: cheby.out.109 +Iterations = 16 +Final Relative Residual Norm = 2.538994e-09 + +# Output file: cheby.out.110 +GMRES Iterations = 39 +Final GMRES Relative Residual Norm = 8.909256e-09 diff --git a/src/test/TEST_ij/coarsening.saved.matrix b/src/test/TEST_ij/coarsening.saved.matrix new file mode 100644 index 0000000000..72a090f789 --- /dev/null +++ b/src/test/TEST_ij/coarsening.saved.matrix @@ -0,0 +1,74 @@ +# Output file: coarsening.out.0 + Average Convergence Factor = 0.326124 + + Complexity: grid = 1.220000 + operator = 1.408310 + cycle = 2.816445 + +# Output file: coarsening.out.1 + Average Convergence Factor = 0.357477 + + Complexity: grid = 1.190222 + operator = 1.269219 + cycle = 2.538129 + +# Output file: coarsening.out.2 + Average Convergence Factor = 0.356426 + + Complexity: grid = 1.236444 + operator = 1.378931 + cycle = 2.756625 + +# Output file: coarsening.out.3 + Average Convergence Factor = 0.347564 + + Complexity: grid = 1.202667 + operator = 1.314765 + cycle = 2.628293 + +# Output file: coarsening.out.4 + Average Convergence Factor = 0.427073 + + Complexity: grid = 1.102222 + operator = 1.158928 + cycle = 2.317160 + +# Output file: coarsening.out.5 + Average Convergence Factor = 0.427073 + + Complexity: grid = 1.102222 + operator = 1.158928 + cycle = 2.317160 + +# Output file: coarsening.out.6 +Iterations = 12 +Final Relative Residual Norm = 3.729996e-09 + +# Output file: coarsening.out.7 +Iterations = 13 +Final Relative Residual Norm = 2.767220e-09 + +# Output file: coarsening.out.8 +BoomerAMG Iterations = 21 +Final Relative Residual Norm = 5.651891e-09 + +# Output file: coarsening.out.9 +BoomerAMG Iterations = 26 +Final Relative Residual Norm = 9.673887e-09 + +# Output file: coarsening.out.11 +BoomerAMG Iterations = 20 +Final Relative Residual Norm = 9.665672e-09 + +# Output file: coarsening.out.12 +BoomerAMG Iterations = 15 +Final Relative Residual Norm = 3.865632e-09 + +# Output file: coarsening.out.13 +BoomerAMG Iterations = 24 +Final Relative Residual Norm = 9.339079e-09 + +# Output file: coarsening.out.14 +BoomerAMG Iterations = 10 +Final Relative Residual Norm = 7.834527e-09 + diff --git a/src/test/TEST_ij/default.saved.matrix b/src/test/TEST_ij/default.saved.matrix new file mode 100644 index 0000000000..173aa811bb --- /dev/null +++ b/src/test/TEST_ij/default.saved.matrix @@ -0,0 +1,21 @@ +# Output file: default.out.0 + Average Convergence Factor = 0.770311 + + Complexity: grid = 1.417000 + operator = 3.197969 + cycle = 6.392031 + +# Output file: default.out.1 + Average Convergence Factor = 0.770311 + + Complexity: grid = 1.417000 + operator = 3.197969 + cycle = 6.392031 + +# Output file: default.out.2 + Average Convergence Factor = 0.770311 + + Complexity: grid = 1.417000 + operator = 3.197969 + cycle = 6.392031 + diff --git a/src/test/TEST_ij/elast.saved.matrix b/src/test/TEST_ij/elast.saved.matrix new file mode 100644 index 0000000000..1686a082a2 --- /dev/null +++ b/src/test/TEST_ij/elast.saved.matrix @@ -0,0 +1,84 @@ +# Output file: elast.out.0 +Iterations = 15 +Final Relative Residual Norm = 3.696495e-09 + +# Output file: elast.out.1 +Iterations = 19 +Final Relative Residual Norm = 5.280302e-09 + +# Output file: elast.out.2 +Iterations = 17 +Final Relative Residual Norm = 5.006925e-09 + +# Output file: elast.out.3 +Iterations = 18 +Final Relative Residual Norm = 1.915650e-09 + +# Output file: elast.out.4 +Iterations = 18 +Final Relative Residual Norm = 9.702033e-09 + +# Output file: elast.out.5 +Iterations = 15 +Final Relative Residual Norm = 1.733122e-09 + +# Output file: elast.out.6 +Iterations = 14 +Final Relative Residual Norm = 6.731434e-10 + +# Output file: elast.out.7 +Iterations = 17 +Final Relative Residual Norm = 3.595817e-09 + +# Output file: elast.out.8 +Iterations = 21 +Final Relative Residual Norm = 4.320022e-09 + +# Output file: elast.out.9 +Iterations = 18 +Final Relative Residual Norm = 3.131906e-09 + +# Output file: elast.out.10 +Iterations = 30 +Final Relative Residual Norm = 7.596932e-09 + +# Output file: elast.out.11 +Iterations = 24 +Final Relative Residual Norm = 5.897597e-09 + +# Output file: elast.out.12 +Iterations = 15 +Final Relative Residual Norm = 3.696495e-09 + +# Output file: elast.out.13 +Iterations = 19 +Final Relative Residual Norm = 5.280302e-09 + +# Output file: elast.out.14 +Iterations = 21 +Final Relative Residual Norm = 3.749018e-09 + +# Output file: elast.out.15 +Iterations = 21 +Final Relative Residual Norm = 2.497467e-09 + +# Output file: elast.out.16 +Iterations = 21 +Final Relative Residual Norm = 3.707944e-09 + +# Output file: elast.out.17 +Iterations = 15 +Final Relative Residual Norm = 6.340959e-09 + +# Output file: elast.out.18 +Iterations = 15 +Final Relative Residual Norm = 2.457501e-09 + +# Output file: elast.out.19 +Iterations = 21 +Final Relative Residual Norm = 3.749018e-09 + +# Output file: elast.out.20 +Iterations = 29 +Final Relative Residual Norm = 7.098349e-09 + diff --git a/src/test/TEST_ij/fsai.saved.matrix b/src/test/TEST_ij/fsai.saved.matrix new file mode 100644 index 0000000000..0a415d6eb0 --- /dev/null +++ b/src/test/TEST_ij/fsai.saved.matrix @@ -0,0 +1,152 @@ +# Output file: fsai.out.0 +Iterations = 1 +Final Relative Residual Norm = 1.287093e-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.676517e-09 + +# Output file: fsai.out.6 +Iterations = 13 +Final Relative Residual Norm = 4.048616e-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 = 5.755183e-09 + +# Output file: fsai.out.9 +Iterations = 16 +Final Relative Residual Norm = 4.809895e-09 + +# Output file: fsai.out.10 +Iterations = 17 +Final Relative Residual Norm = 9.601188e-09 + +# Output file: fsai.out.11 +Iterations = 23 +Final Relative Residual Norm = 6.857102e-09 + +# Output file: fsai.out.12 +Iterations = 26 +Final Relative Residual Norm = 7.063015e-09 + +# Output file: fsai.out.13 +Iterations = 27 +Final Relative Residual Norm = 5.145896e-09 + +# Output file: fsai.out.14 +Iterations = 78 +Final Relative Residual Norm = 3.787266e-09 + +# Output file: fsai.out.15 +Iterations = 78 +Final Relative Residual Norm = 5.460597e-09 + +# Output file: fsai.out.16 +Iterations = 171 +Final Relative Residual Norm = 5.094698e-09 + +# Output file: fsai.out.17 +Iterations = 126 +Final Relative Residual Norm = 9.008861e-09 + +# Output file: fsai.out.18 +Iterations = 184 +Final Relative Residual Norm = 8.556480e-09 + +# Output file: fsai.out.100 +Iterations = 1 +Final Relative Residual Norm = 7.518104e-16 + +# Output file: fsai.out.101 +Iterations = 21 +Final Relative Residual Norm = 7.992635e-09 + +# Output file: fsai.out.102 +Iterations = 21 +Final Relative Residual Norm = 7.992635e-09 + +# Output file: fsai.out.103 +Iterations = 21 +Final Relative Residual Norm = 7.992635e-09 + +# Output file: fsai.out.104 +Iterations = 7 +Final Relative Residual Norm = 3.296684e-10 + +# Output file: fsai.out.105 +Iterations = 5 +Final Relative Residual Norm = 1.829159e-09 + +# Output file: fsai.out.106 +Iterations = 5 +Final Relative Residual Norm = 1.902015e-09 + +# Output file: fsai.out.107 +Iterations = 7 +Final Relative Residual Norm = 7.069461e-09 + +# Output file: fsai.out.108 +Iterations = 5 +Final Relative Residual Norm = 3.281424e-10 + +# Output file: fsai.out.109 +Iterations = 6 +Final Relative Residual Norm = 8.857280e-09 + +# Output file: fsai.out.110 +Iterations = 7 +Final Relative Residual Norm = 9.433487e-10 + +# Output file: fsai.out.111 +Iterations = 9 +Final Relative Residual Norm = 9.086911e-09 + +# Output file: fsai.out.112 +Iterations = 10 +Final Relative Residual Norm = 2.927134e-09 + +# Output file: fsai.out.113 +Iterations = 10 +Final Relative Residual Norm = 4.454195e-09 + +# Output file: fsai.out.114 +Iterations = 25 +Final Relative Residual Norm = 2.226425e-09 + +# Output file: fsai.out.115 +Iterations = 27 +Final Relative Residual Norm = 2.542602e-09 + +# Output file: fsai.out.116 +Iterations = 37 +Final Relative Residual Norm = 1.689492e-09 + +# Output file: fsai.out.117 +Iterations = 32 +Final Relative Residual Norm = 7.619325e-09 + +# Output file: fsai.out.118 +Iterations = 38 +Final Relative Residual Norm = 6.182167e-09 + diff --git a/src/test/TEST_ij/ilu.saved.matrix b/src/test/TEST_ij/ilu.saved.matrix new file mode 100644 index 0000000000..00f7879d9d --- /dev/null +++ b/src/test/TEST_ij/ilu.saved.matrix @@ -0,0 +1,104 @@ +# Output file: ilu.out.300 +hypre_ILU Iterations = 85 +Final Relative Residual Norm = 9.266244e-09 + +# Output file: ilu.out.301 +hypre_ILU Iterations = 40 +Final Relative Residual Norm = 9.772377e-09 + +# Output file: ilu.out.302 +hypre_ILU Iterations = 23 +Final Relative Residual Norm = 5.512717e-09 + +# Output file: ilu.out.303 +hypre_ILU Iterations = 64 +Final Relative Residual Norm = 8.558467e-09 + +# Output file: ilu.out.304 +hypre_ILU Iterations = 52 +Final Relative Residual Norm = 9.189235e-09 + +# Output file: ilu.out.305 +hypre_ILU Iterations = 39 +Final Relative Residual Norm = 8.838453e-09 + +# Output file: ilu.out.306 +hypre_ILU Iterations = 27 +Final Relative Residual Norm = 6.194020e-09 + +# Output file: ilu.out.307 +hypre_ILU Iterations = 39 +Final Relative Residual Norm = 6.866281e-09 + +# Output file: ilu.out.308 +hypre_ILU Iterations = 27 +Final Relative Residual Norm = 9.107681e-09 + +# Output file: ilu.out.309 +hypre_ILU Iterations = 49 +Final Relative Residual Norm = 7.072947e-09 + +# Output file: ilu.out.310 +hypre_ILU Iterations = 42 +Final Relative Residual Norm = 6.699477e-09 + +# Output file: ilu.out.311 +hypre_ILU Iterations = 36 +Final Relative Residual Norm = 6.392185e-09 + +# Output file: ilu.out.312 +hypre_ILU Iterations = 24 +Final Relative Residual Norm = 5.953652e-09 + +# Output file: ilu.out.313 +GMRES Iterations = 25 +Final GMRES Relative Residual Norm = 3.968804e-09 + +# Output file: ilu.out.314 +GMRES Iterations = 19 +Final GMRES Relative Residual Norm = 7.026446e-09 + +# Output file: ilu.out.315 +GMRES Iterations = 20 +Final GMRES Relative Residual Norm = 7.908624e-09 + +# Output file: ilu.out.316 +GMRES Iterations = 13 +Final GMRES Relative Residual Norm = 7.969372e-09 + +# Output file: ilu.out.317 +FlexGMRES Iterations = 17 +Final FlexGMRES Relative Residual Norm = 7.140004e-09 + +# Output file: ilu.out.318 +FlexGMRES Iterations = 9 +Final FlexGMRES Relative Residual Norm = 9.362787e-09 + +# Output file: ilu.out.319 +FlexGMRES Iterations = 17 +Final FlexGMRES Relative Residual Norm = 8.299377e-09 + +# Output file: ilu.out.320 +FlexGMRES Iterations = 9 +Final FlexGMRES Relative Residual Norm = 3.716965e-09 + +# Output file: ilu.out.321 +FlexGMRES Iterations = 17 +Final FlexGMRES Relative Residual Norm = 4.489256e-09 + +# Output file: ilu.out.322 +FlexGMRES Iterations = 8 +Final FlexGMRES Relative Residual Norm = 3.082447e-09 + +# Output file: ilu.out.323 +FlexGMRES Iterations = 18 +Final FlexGMRES Relative Residual Norm = 3.782082e-09 + +# Output file: ilu.out.324 +BoomerAMG Iterations = 11 +Final Relative Residual Norm = 3.641398e-09 + +# Output file: ilu.out.325 +BoomerAMG Iterations = 9 +Final Relative Residual Norm = 3.551558e-09 + diff --git a/src/test/TEST_ij/interp.saved.matrix b/src/test/TEST_ij/interp.saved.matrix new file mode 100644 index 0000000000..9fa832e4e6 --- /dev/null +++ b/src/test/TEST_ij/interp.saved.matrix @@ -0,0 +1,91 @@ +# Output file: interp.out.0 + Average Convergence Factor = 0.468023 + + Complexity: grid = 1.400000 + operator = 3.557007 + cycle = 7.113401 + +# Output file: interp.out.1 + Average Convergence Factor = 0.468239 + + Complexity: grid = 1.401778 + operator = 3.477007 + cycle = 6.952313 + +# Output file: interp.out.2 + Average Convergence Factor = 0.472049 + + Complexity: grid = 1.399111 + operator = 3.537415 + cycle = 7.073741 + +# Output file: interp.out.3 + Average Convergence Factor = 0.467056 + + Complexity: grid = 1.408889 + operator = 2.556327 + cycle = 5.110952 + +# Output file: interp.out.4 + Average Convergence Factor = 0.468315 + + Complexity: grid = 1.406667 + operator = 2.531361 + cycle = 5.062109 + +# Output file: interp.out.5 + Average Convergence Factor = 0.482765 + + Complexity: grid = 1.404444 + operator = 2.561361 + cycle = 5.122109 + +# Output file: interp.out.6 + Average Convergence Factor = 0.284534 + + Complexity: grid = 1.716889 + operator = 3.594082 + cycle = 7.186463 + +# Output file: interp.out.7 + Average Convergence Factor = 0.486438 + + Complexity: grid = 1.411556 + operator = 3.768980 + cycle = 7.536871 + +# Output file: interp.out.8 + Average Convergence Factor = 0.467056 + + Complexity: grid = 1.408889 + operator = 2.556327 + cycle = 5.110952 + +# Output file: interp.out.9 + Average Convergence Factor = 0.790196 + + Complexity: grid = 1.487305 + operator = 2.181797 + cycle = 4.363281 + +# Output file: interp.out.10 + Average Convergence Factor = 0.797378 + + Complexity: grid = 1.471680 + operator = 2.534453 + cycle = 5.068203 + +# Output file: interp.out.11 + Average Convergence Factor = 0.767811 + + Complexity: grid = 1.469727 + operator = 2.535234 + cycle = 5.070156 + +# Output file: interp.out.12 + Average Convergence Factor = 0.767716 + + Complexity: grid = 1.465820 + operator = 2.527891 + cycle = 5.049453 + diff --git a/src/test/TEST_ij/io.jobs b/src/test/TEST_ij/io.jobs index ddf216c0c4..ccaa58ccf7 100755 --- a/src/test/TEST_ij/io.jobs +++ b/src/test/TEST_ij/io.jobs @@ -77,5 +77,5 @@ mpirun -np 4 ./ij -solver 2 -tol 1e-2 -printbin \ mpirun -np 1 ./ij -printcsr > io.out.200 mpirun -np 1 ./ij -fromonecsrfile csr.out.A.D.0 -rhsfromonefile csr.out.b.0 -x0fromonefile csr.out.x0.0 > io.out.201 mpirun -np 3 ./ij -fromonecsrfile csr.out.A.D.0 -rhsfromonefile csr.out.b.0 -x0fromonefile csr.out.x0.0 > io.out.202 -mpirun -np 5 ./ij -fromonecsrfile csr.out.A.D.0 -rhsfromonefile csr.out.b.0 -x0fromonefile csr.out.x0.0 > io.out.203 -mpirun -np 7 ./ij -fromonecsrfile csr.out.A.D.0 -rhsfromonefile csr.out.b.0 -x0fromonefile csr.out.x0.0 > io.out.204 +mpirun -np 4 ./ij -fromonecsrfile csr.out.A.D.0 -rhsfromonefile csr.out.b.0 -x0fromonefile csr.out.x0.0 > io.out.203 +mpirun -np 8 ./ij -fromonecsrfile csr.out.A.D.0 -rhsfromonefile csr.out.b.0 -x0fromonefile csr.out.x0.0 > io.out.204 diff --git a/src/test/TEST_ij/io.saved.matrix b/src/test/TEST_ij/io.saved.matrix new file mode 100644 index 0000000000..cdc16bb040 --- /dev/null +++ b/src/test/TEST_ij/io.saved.matrix @@ -0,0 +1,68 @@ +# Output file: io.out.0 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.1 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.2 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.3 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.50 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.51 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.100 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.101 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.102 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.103 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.150 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.151 +Iterations = 11 +Final Relative Residual Norm = 6.733697e-03 + +# Output file: io.out.200 +BoomerAMG Iterations = 25 +Final Relative Residual Norm = 8.017601e-09 + +# Output file: io.out.201 +BoomerAMG Iterations = 25 +Final Relative Residual Norm = 8.017601e-09 + +# Output file: io.out.202 +BoomerAMG Iterations = 24 +Final Relative Residual Norm = 8.504105e-09 + +# Output file: io.out.203 +BoomerAMG Iterations = 25 +Final Relative Residual Norm = 5.486778e-09 + +# Output file: io.out.204 +BoomerAMG Iterations = 26 +Final Relative Residual Norm = 7.101911e-09 + diff --git a/src/test/TEST_ij/matrix.saved.matrix b/src/test/TEST_ij/matrix.saved.matrix new file mode 100644 index 0000000000..31d817ecea --- /dev/null +++ b/src/test/TEST_ij/matrix.saved.matrix @@ -0,0 +1,84 @@ +# Output file: matrix.out.0 +BoomerAMG Iterations = 23 +Final Relative Residual Norm = 8.600534e-09 + +# Output file: matrix.out.1 +BoomerAMG Iterations = 23 +Final Relative Residual Norm = 8.600534e-09 + +# Output file: matrix.out.2 +BoomerAMG Iterations = 23 +Final Relative Residual Norm = 8.600534e-09 + +# Output file: matrix.out.3 +BoomerAMG Iterations = 1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: matrix.out.4 +Iterations = 5 +Final Relative Residual Norm = 3.515462e-01 + +# Output file: matrix.out.5 +Iterations = 5 +Final Relative Residual Norm = 4.233149e-01 + +# Output file: matrix.out.6 +Iterations = 5 +Final Relative Residual Norm = 3.515462e-01 + +# Output file: matrix.out.7 +Iterations = 5 +Final Relative Residual Norm = 3.515462e-01 + +# Output file: matrix.out.8 +Iterations = 5 +Final Relative Residual Norm = 4.233149e-01 + +# Output file: matrix.out.9 +Iterations = 5 +Final Relative Residual Norm = 3.515462e-01 + +# Output file: matrix.out.10 +Iterations = 5 +Final Relative Residual Norm = 3.515462e-01 + +# Output file: matrix.out.11 +BoomerAMG Iterations = 14 +Final Relative Residual Norm = 3.055519e-09 + +# Output file: matrix.out.12 +Iterations = 5 +Final Relative Residual Norm = 3.515462e-01 + +# Output file: matrix.out.100 +GMRES Iterations = 79 +Final GMRES Relative Residual Norm = 9.996735e-03 + +# Output file: matrix.out.101 +GMRES Iterations = 79 +Final GMRES Relative Residual Norm = 7.176706e-03 + +# Output file: matrix.out.102 +GMRES Iterations = 74 +Final GMRES Relative Residual Norm = 7.155117e-03 + +# Output file: matrix.out.103 +GMRES Iterations = 79 +Final GMRES Relative Residual Norm = 7.176706e-03 + +# Output file: matrix.out.110 +GMRES Iterations = 13 +Final GMRES Relative Residual Norm = 8.997992e-01 + +# Output file: matrix.out.111 +GMRES Iterations = 35 +Final GMRES Relative Residual Norm = 8.909955e-01 + +# Output file: matrix.out.112 +GMRES Iterations = 6 +Final GMRES Relative Residual Norm = 8.963555e-01 + +# Output file: matrix.out.113 +GMRES Iterations = 35 +Final GMRES Relative Residual Norm = 8.909955e-01 + diff --git a/src/test/TEST_ij/mgr.saved.matrix b/src/test/TEST_ij/mgr.saved.matrix new file mode 100644 index 0000000000..d90065eddb --- /dev/null +++ b/src/test/TEST_ij/mgr.saved.matrix @@ -0,0 +1,56 @@ +# Output file: mgr.out.200 +MGR Iterations = 9 +Final Relative Residual Norm = 1.190910e-09 + +# Output file: mgr.out.201 +MGR Iterations = 8 +Final Relative Residual Norm = 8.020893e-09 + +# Output file: mgr.out.202 +MGR Iterations = 9 +Final Relative Residual Norm = 1.190910e-09 + +# Output file: mgr.out.203 +MGR Iterations = 8 +Final Relative Residual Norm = 8.020893e-09 + +# Output file: mgr.out.204 +MGR Iterations = 75 +Final Relative Residual Norm = 9.138946e-09 + +# Output file: mgr.out.205 +MGR Iterations = 71 +Final Relative Residual Norm = 9.891106e-09 + +# Output file: mgr.out.206 +MGR Iterations = 36 +Final Relative Residual Norm = 6.705837e-09 + +# Output file: mgr.out.207 +MGR Iterations = 35 +Final Relative Residual Norm = 5.956428e-09 + +# Output file: mgr.out.208 +MGR Iterations = 46 +Final Relative Residual Norm = 7.265172e-09 + +# Output file: mgr.out.209 +MGR Iterations = 44 +Final Relative Residual Norm = 6.813070e-09 + +# Output file: mgr.out.210 +MGR Iterations = 31 +Final Relative Residual Norm = 6.919435e-09 + +# Output file: mgr.out.211 +MGR Iterations = 30 +Final Relative Residual Norm = 6.915185e-09 + +# Output file: mgr.out.212 +Iterations = 35 +Final Relative Residual Norm = 9.984248e-09 + +# Output file: mgr.out.213 +Iterations = 26 +Final Relative Residual Norm = 9.220161e-09 + diff --git a/src/test/TEST_ij/nonmixedint.saved.matrix b/src/test/TEST_ij/nonmixedint.saved.matrix new file mode 100644 index 0000000000..c24f8ac770 --- /dev/null +++ b/src/test/TEST_ij/nonmixedint.saved.matrix @@ -0,0 +1,12 @@ +# Output file: nonmixedint.out.0 +BoomerAMG Iterations = 18 +Final Relative Residual Norm = 4.636260e-09 + +# Output file: nonmixedint.out.1 +GMRES Iterations = 32 +Final GMRES Relative Residual Norm = 6.806870e-09 + +# Output file: nonmixedint.out.2 +Iterations = 22 +Final Relative Residual Norm = 9.936851e-09 + diff --git a/src/test/TEST_ij/solvers.jobs b/src/test/TEST_ij/solvers.jobs index 4f0a6c61d4..6477b8f898 100755 --- a/src/test/TEST_ij/solvers.jobs +++ b/src/test/TEST_ij/solvers.jobs @@ -90,10 +90,10 @@ mpirun -np 2 ./ij -n 20 20 20 -P 2 1 1 -agg_nl 1 -solver 1 -CF 0 -rlx 0 -w 0.7 - mpirun -np 2 ./ij -n 20 20 20 -P 2 1 1 -agg_nl 1 -solver 1 -CF 0 -add_rlx 0 -add_w 0.7 -mult_add 0 > solvers.out.110 mpirun -np 4 ./ij -n 20 20 20 -P 2 2 1 -agg_nl 1 -solver 1 -simple 0 > solvers.out.111 mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -additive 1 > solvers.out.112 -mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -mult_add 0 -add_Pmx 5 > solvers.out.113 +mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -mult_add 0 -add_Pmx 5 -tol 1e-3 > solvers.out.113 mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -mult_add 0 -add_Pmx 5 -add_end 2 > solvers.out.118 mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -mult_add 0 -ns 2 > solvers.out.119 -mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -mult_add 0 -ns 1 > solvers.out.121 +mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -mult_add 0 -ns 1 -tol 1e-3 > solvers.out.121 mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -mult_add 0 -ns 2 -rap 1 > solvers.out.122 mpirun -np 8 ./ij -n 20 20 20 -P 2 2 2 -agg_nl 1 -solver 3 -rlx 18 -ns 2 -rlx_coarse 18 -ns_coarse 2 > solvers.out.120 diff --git a/src/test/TEST_ij/solvers.saved b/src/test/TEST_ij/solvers.saved index 834f169cbe..f13f360102 100644 --- a/src/test/TEST_ij/solvers.saved +++ b/src/test/TEST_ij/solvers.saved @@ -222,8 +222,8 @@ GMRES Iterations = 23 Final GMRES Relative Residual Norm = 3.979845e-09 # Output file: solvers.out.113 -GMRES Iterations = 25 -Final GMRES Relative Residual Norm = 8.744056e-09 +GMRES Iterations = 10 +Final GMRES Relative Residual Norm = 7.555456e-04 # Output file: solvers.out.114 BoomerAMG Iterations = 16 @@ -250,8 +250,8 @@ GMRES Iterations = 17 Final GMRES Relative Residual Norm = 3.995718e-09 # Output file: solvers.out.121 -GMRES Iterations = 23 -Final GMRES Relative Residual Norm = 9.269997e-09 +GMRES Iterations = 9 +Final GMRES Relative Residual Norm = 9.190650e-04 # Output file: solvers.out.122 GMRES Iterations = 17 diff --git a/src/test/TEST_ij/solvers.saved.aurora b/src/test/TEST_ij/solvers.saved.aurora index f722610e21..298e5f1655 100644 --- a/src/test/TEST_ij/solvers.saved.aurora +++ b/src/test/TEST_ij/solvers.saved.aurora @@ -222,8 +222,8 @@ GMRES Iterations = 38 Final GMRES Relative Residual Norm = 8.733189e-09 # Output file: solvers.out.113 -GMRES Iterations = 27 -Final GMRES Relative Residual Norm = 5.801918e-09 +GMRES Iterations = 10 +Final GMRES Relative Residual Norm = 8.398330e-04 # Output file: solvers.out.114 BoomerAMG Iterations = 35 @@ -250,8 +250,8 @@ GMRES Iterations = 19 Final GMRES Relative Residual Norm = 9.374280e-09 # Output file: solvers.out.121 -GMRES Iterations = 26 -Final GMRES Relative Residual Norm = 4.243767e-09 +GMRES Iterations = 9 +Final GMRES Relative Residual Norm = 9.105323e-04 # Output file: solvers.out.122 GMRES Iterations = 19 diff --git a/src/test/TEST_ij/solvers.saved.matrix b/src/test/TEST_ij/solvers.saved.matrix new file mode 100644 index 0000000000..1422a3c8b9 --- /dev/null +++ b/src/test/TEST_ij/solvers.saved.matrix @@ -0,0 +1,1339 @@ +# Output file: solvers.out.0 +Iterations = 11 +Final Relative Residual Norm = 5.395554e-09 + +# Output file: solvers.out.1 +Iterations = 41 +Final Relative Residual Norm = 6.698760e-09 + +# Output file: solvers.out.2 +GMRES Iterations = 11 +Final GMRES Relative Residual Norm = 8.872614e-09 + +# Output file: solvers.out.3 +GMRES Iterations = 93 +Final GMRES Relative Residual Norm = 8.225661e-09 + +# Output file: solvers.out.4 +Iterations = 10 +Final Relative Residual Norm = 1.243936e-09 + +# Output file: solvers.out.5 +Iterations = 196 +Final Relative Residual Norm = 9.097622e-09 + +# Output file: solvers.out.8 +Iterations = 41 +PCG_Iterations = 0 +DSCG_Iterations = 41 +Final Relative Residual Norm = 6.698760e-09 + +# Output file: solvers.out.9 +Iterations = 11 +PCG_Iterations = 7 +DSCG_Iterations = 4 +Final Relative Residual Norm = 2.361078e-09 + +# Output file: solvers.out.10 +Iterations = 10 +PCG_Iterations = 8 +DSCG_Iterations = 2 +Final Relative Residual Norm = 7.996976e-10 + +# Output file: solvers.out.11 +Iterations = 7 +PCG_Iterations = 4 +DSCG_Iterations = 3 +Final Relative Residual Norm = 1.374567e-09 + +# Output file: solvers.out.12 + + +COGMRES Iterations = 11 +Final COGMRES Relative Residual Norm = 8.872614e-09 + +# Output file: solvers.out.13 + + +COGMRES Iterations = 93 +Final COGMRES Relative Residual Norm = 8.225661e-09 + +# Output file: solvers.out.14 + + +COGMRES Iterations = 93 +Final COGMRES Relative Residual Norm = 8.225661e-09 + +# Output file: solvers.out.15 + + +COGMRES Iterations = 93 +Final COGMRES Relative Residual Norm = 8.225661e-09 + +# Output file: solvers.out.16 + + +COGMRES Iterations = 93 +Final COGMRES Relative Residual Norm = 8.225662e-09 + +# Output file: solvers.out.17 +index 19 value -8.373868e-12 + +GMRES Iterations = 11 +Final GMRES Relative Residual Norm = 8.872614e-09 + +# Output file: solvers.out.18 +index 19 value -7.497267e-11 + +GMRES Iterations = 93 +Final GMRES Relative Residual Norm = 8.225661e-09 + +# Output file: solvers.out.19 + + +Iterations = 8 +Final Relative Residual Norm = 8.565049e-09 + +# Output file: solvers.out.20 + + +GMRES Iterations = 7 +Final GMRES Relative Residual Norm = 1.597168e-09 + +# Output file: solvers.out.21 + + +BoomerAMG Iterations = 25 +Final Relative Residual Norm = 7.139146e-09 + +# Output file: solvers.out.22 + + +GMRES Iterations = 12 +Final GMRES Relative Residual Norm = 5.069641e-09 + +# Output file: solvers.out.23 + + +BoomerAMG Iterations = 17 +Final Relative Residual Norm = 4.412175e-09 + +# Output file: solvers.out.24 + + +GMRES Iterations = 9 +Final GMRES Relative Residual Norm = 9.074692e-09 + +# Output file: solvers.out.25 + + +Iterations = 10 +Final Relative Residual Norm = 2.384986e-09 + +# Output file: solvers.out.26 + + +Iterations = 15 +Final Relative Residual Norm = 7.167937e-09 + +# Output file: solvers.out.sysh + Average Convergence Factor = 0.205554 + + Complexity: grid = 1.401500 + operator = 2.689142 + cycle = 5.378265 + +# Output file: solvers.out.sysn + Average Convergence Factor = 0.537936 + + Complexity: grid = 1.391500 + operator = 2.082687 + cycle = 10.165075 + +# Output file: solvers.out.sysu + Average Convergence Factor = 0.773233 + + Complexity: grid = 1.395375 + operator = 2.737043 + cycle = 5.473918 + +# Output file: solvers.out.27 +Iterations = 17 +Final Relative Residual Norm = 4.472032e-09 + +# Output file: solvers.out.28 +Iterations = 25 +Final Relative Residual Norm = 4.134529e-09 + +# Output file: solvers.out.29 +Iterations = 17 +Final Relative Residual Norm = 7.555200e-09 + +# Output file: solvers.out.30 +Iterations = 23 +Final Relative Residual Norm = 8.408484e-09 + +# Output file: solvers.out.101 +LGMRES Iterations = 83 +Final LGMRES Relative Residual Norm = 8.591967e-09 + +# Output file: solvers.out.102 +LGMRES Iterations = 12 +Final LGMRES Relative Residual Norm = 9.399192e-09 + +# Output file: solvers.out.103 +FlexGMRES Iterations = 93 +Final FlexGMRES Relative Residual Norm = 8.225661e-09 + +# Output file: solvers.out.104 +FlexGMRES Iterations = 11 +Final FlexGMRES Relative Residual Norm = 8.872614e-09 + +# Output file: solvers.out.105 +Iterations = 19 +Final Relative Residual Norm = 4.250469e-09 + +# Output file: solvers.out.106 +Iterations = 19 +Final Relative Residual Norm = 4.250469e-09 + +# Output file: solvers.out.107 +Iterations = 29 +Final Relative Residual Norm = 7.512162e-09 + +# Output file: solvers.out.108 +Iterations = 29 +Final Relative Residual Norm = 7.512135e-09 + +# Output file: solvers.out.109 +Iterations = 20 +Final Relative Residual Norm = 8.005329e-09 + +# Output file: solvers.out.110 +Iterations = 20 +Final Relative Residual Norm = 8.005329e-09 + +# Output file: solvers.out.111 +Iterations = 32 +Final Relative Residual Norm = 6.308682e-09 + +# Output file: solvers.out.112 +GMRES Iterations = 38 +Final GMRES Relative Residual Norm = 7.222662e-09 + +# Output file: solvers.out.113 +GMRES Iterations = 10 +Final GMRES Relative Residual Norm = 8.398330e-04 + +# Output file: solvers.out.114 +BoomerAMG Iterations = 34 +Final Relative Residual Norm = 7.848170e-09 + +# Output file: solvers.out.115 +BoomerAMG Iterations = 34 +Final Relative Residual Norm = 9.839249e-09 + +# Output file: solvers.out.116 +GMRES Iterations = 15 +Final GMRES Relative Residual Norm = 2.830234e-09 + +# Output file: solvers.out.117 +GMRES Iterations = 15 +Final GMRES Relative Residual Norm = 2.830235e-09 + +# Output file: solvers.out.118 +GMRES Iterations = 27 +Final GMRES Relative Residual Norm = 5.532387e-09 + +# Output file: solvers.out.119 +GMRES Iterations = 19 +Final GMRES Relative Residual Norm = 5.040776e-09 + +# Output file: solvers.out.121 +GMRES Iterations = 9 +Final GMRES Relative Residual Norm = 9.105323e-04 + +# Output file: solvers.out.122 +GMRES Iterations = 19 +Final GMRES Relative Residual Norm = 5.040776e-09 + +# Output file: solvers.out.120 +GMRES Iterations = 19 +Final GMRES Relative Residual Norm = 5.041387e-09 + +# Output file: solvers.out.404 +Iterations = 28 +Final Relative Residual Norm = 8.548826e-09 + +# Output file: solvers.out.405 +Iterations = 22 +Final Relative Residual Norm = 7.996427e-09 + +# Output file: solvers.out.501 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 1.471136e+04 +Initial L2 norm of e0: 2.314426e+03 +Initial L2 norm of e1: 1.027296e+04 +Initial L2 norm of e2: 1.027296e+04 +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 +Final L2 norm of error: 1.630650e+00 +Final L2 norm of e0: 1.857751e-01 +Final L2 norm of e1: 1.327786e+00 +Final L2 norm of e2: 9.281641e-01 + +# Output file: solvers.out.502 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + +Iters resid.norm conv.rate rel.res.norm +----- ------------ ---------- ------------ + 1 2.123721e+01 0.991268 9.912681e-01 + 2 2.117928e+01 0.997272 9.885643e-01 + 3 2.115802e+01 0.998996 9.875718e-01 + 4 2.112585e+01 0.998480 9.860703e-01 + 5 2.101083e+01 0.994556 9.807018e-01 + 6 2.073317e+01 0.986784 9.677413e-01 + 7 1.917676e+01 0.924932 8.950947e-01 + 8 1.489048e+01 0.776486 6.950281e-01 + 9 1.160543e+01 0.779386 5.416950e-01 + 10 8.786856e+00 0.757133 4.101353e-01 + 11 7.179264e+00 0.817046 3.350994e-01 + 12 6.330974e+00 0.881842 2.955046e-01 + 13 5.513162e+00 0.870824 2.573324e-01 + 14 4.547108e+00 0.824773 2.122408e-01 + 15 3.567771e+00 0.784624 1.665293e-01 + 16 2.437267e+00 0.683134 1.137619e-01 + 17 1.656850e+00 0.679798 7.733513e-02 + 18 1.283759e+00 0.774819 5.992076e-02 + 19 1.124237e+00 0.875738 5.247491e-02 + 20 1.056180e+00 0.939464 4.929826e-02 + 21 9.766627e-01 0.924712 4.558671e-02 + 22 9.221294e-01 0.944164 4.304131e-02 + 23 8.587031e-01 0.931218 4.008083e-02 + 24 7.110962e-01 0.828105 3.319113e-02 + 25 6.195685e-01 0.871286 2.891898e-02 + 26 5.510228e-01 0.889365 2.571954e-02 + 27 4.918088e-01 0.892538 2.295567e-02 + 28 4.202878e-01 0.854576 1.961735e-02 + 29 3.202863e-01 0.762064 1.494968e-02 + 30 2.310613e-01 0.721421 1.078502e-02 + 31 1.710104e-01 0.740108 7.982081e-03 + 32 1.246395e-01 0.728841 5.817671e-03 + 33 9.316915e-02 0.747509 4.348764e-03 + 34 7.227093e-02 0.775696 3.373318e-03 + 35 5.475215e-02 0.757596 2.555611e-03 + 36 4.319462e-02 0.788912 2.016152e-03 + 37 3.888764e-02 0.900289 1.815119e-03 + 38 3.528753e-02 0.907423 1.647081e-03 + 39 3.145277e-02 0.891328 1.468089e-03 + 40 2.661694e-02 0.846251 1.242372e-03 + 41 1.973784e-02 0.741552 9.212835e-04 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 + +# Output file: solvers.out.503 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + + Iters |r|_2 |r0|_2 |r1|_2 |r2|_2 + ------ ------------- ------------- ------------- ------------- + 1 2.123721e+01 1.236369e+01 1.219197e+01 1.222760e+01 + 2 2.117928e+01 1.238361e+01 1.214852e+01 1.214997e+01 + 3 2.115802e+01 1.237317e+01 1.213456e+01 1.213751e+01 + 4 2.112585e+01 1.234341e+01 1.209743e+01 1.214883e+01 + 5 2.101083e+01 1.229365e+01 1.200236e+01 1.209400e+01 + 6 2.073317e+01 1.209074e+01 1.174600e+01 1.207103e+01 + 7 1.917676e+01 1.134847e+01 1.071816e+01 1.113919e+01 + 8 1.489048e+01 9.543368e+00 8.131362e+00 8.033149e+00 + 9 1.160543e+01 8.179452e+00 5.717522e+00 5.923888e+00 + 10 8.786856e+00 6.638940e+00 3.792261e+00 4.330366e+00 + 11 7.179264e+00 5.299233e+00 3.116925e+00 3.707390e+00 + 12 6.330974e+00 4.534311e+00 2.644456e+00 3.539506e+00 + 13 5.513162e+00 3.837576e+00 2.338933e+00 3.193330e+00 + 14 4.547108e+00 3.268952e+00 1.886375e+00 2.536086e+00 + 15 3.567771e+00 2.595213e+00 1.547443e+00 1.897176e+00 + 16 2.437267e+00 1.577217e+00 1.235021e+00 1.388301e+00 + 17 1.656850e+00 9.129948e-01 9.679939e-01 9.872082e-01 + 18 1.283759e+00 6.333600e-01 7.965624e-01 7.825482e-01 + 19 1.124237e+00 5.555988e-01 6.900702e-01 6.921147e-01 + 20 1.056180e+00 4.994101e-01 6.302134e-01 6.847897e-01 + 21 9.766627e-01 4.078592e-01 5.735256e-01 6.771922e-01 + 22 9.221294e-01 3.268166e-01 5.389868e-01 6.730578e-01 + 23 8.587031e-01 2.655694e-01 4.969752e-01 6.479658e-01 + 24 7.110962e-01 2.132376e-01 4.217199e-01 5.313566e-01 + 25 6.195685e-01 2.071593e-01 3.728699e-01 4.493531e-01 + 26 5.510228e-01 2.010502e-01 3.414212e-01 3.829315e-01 + 27 4.918088e-01 1.940886e-01 3.068296e-01 3.317545e-01 + 28 4.202878e-01 2.027311e-01 2.557123e-01 2.648644e-01 + 29 3.202863e-01 1.668558e-01 2.006990e-01 1.856404e-01 + 30 2.310613e-01 1.158921e-01 1.496041e-01 1.325782e-01 + 31 1.710104e-01 7.846642e-02 1.108334e-01 1.039400e-01 + 32 1.246395e-01 6.134255e-02 7.926687e-02 7.408676e-02 + 33 9.316915e-02 4.672720e-02 5.749860e-02 5.648868e-02 + 34 7.227093e-02 3.775274e-02 4.293644e-02 4.420724e-02 + 35 5.475215e-02 2.887910e-02 3.296712e-02 3.281714e-02 + 36 4.319462e-02 2.129864e-02 2.705419e-02 2.608091e-02 + 37 3.888764e-02 1.883516e-02 2.477458e-02 2.331749e-02 + 38 3.528753e-02 1.677554e-02 2.272961e-02 2.114605e-02 + 39 3.145277e-02 1.432455e-02 2.007320e-02 1.952308e-02 + 40 2.661694e-02 1.195935e-02 1.620271e-02 1.740424e-02 + 41 1.973784e-02 9.678982e-03 1.144427e-02 1.284244e-02 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 + +# Output file: solvers.out.504 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + + Iters |r|_2/|b|_2 |r0|_2/|b0|_2 |r1|_2/|b1|_2 |r2|_2/|b2|_2 + ------ ------------- ------------- ------------- ------------- + 1 9.912681e-01 9.995450e-01 9.856625e-01 9.885427e-01 + 2 9.885643e-01 1.001155e+00 9.821498e-01 9.822670e-01 + 3 9.875718e-01 1.000311e+00 9.810209e-01 9.812592e-01 + 4 9.860703e-01 9.979054e-01 9.780196e-01 9.821744e-01 + 5 9.807018e-01 9.938824e-01 9.703332e-01 9.777419e-01 + 6 9.677413e-01 9.774784e-01 9.496076e-01 9.758848e-01 + 7 8.950947e-01 9.174692e-01 8.665123e-01 9.005501e-01 + 8 6.950281e-01 7.715356e-01 6.573817e-01 6.494416e-01 + 9 5.416950e-01 6.612695e-01 4.622343e-01 4.789180e-01 + 10 4.101353e-01 5.367265e-01 3.065861e-01 3.500893e-01 + 11 3.350994e-01 4.284176e-01 2.519885e-01 2.997247e-01 + 12 2.955046e-01 3.665774e-01 2.137916e-01 2.861521e-01 + 13 2.573324e-01 3.102497e-01 1.890915e-01 2.581654e-01 + 14 2.122408e-01 2.642791e-01 1.525044e-01 2.050304e-01 + 15 1.665293e-01 2.098106e-01 1.251033e-01 1.533776e-01 + 16 1.137619e-01 1.275104e-01 9.984553e-02 1.122375e-01 + 17 7.733513e-02 7.381125e-02 7.825767e-02 7.981105e-02 + 18 5.992076e-02 5.120412e-02 6.439826e-02 6.326527e-02 + 19 5.247491e-02 4.491750e-02 5.578887e-02 5.595416e-02 + 20 4.929826e-02 4.037491e-02 5.094974e-02 5.536197e-02 + 21 4.558671e-02 3.297346e-02 4.636679e-02 5.474775e-02 + 22 4.304131e-02 2.642156e-02 4.357450e-02 5.441350e-02 + 23 4.008083e-02 2.147001e-02 4.017806e-02 5.238493e-02 + 24 3.319113e-02 1.723924e-02 3.409404e-02 4.295764e-02 + 25 2.891898e-02 1.674784e-02 3.014475e-02 3.632804e-02 + 26 2.571954e-02 1.625394e-02 2.760227e-02 3.095818e-02 + 27 2.295567e-02 1.569114e-02 2.480570e-02 2.682076e-02 + 28 1.961735e-02 1.638984e-02 2.067311e-02 2.141302e-02 + 29 1.494968e-02 1.348949e-02 1.622555e-02 1.500814e-02 + 30 1.078502e-02 9.369323e-03 1.209477e-02 1.071831e-02 + 31 7.982081e-03 6.343634e-03 8.960352e-03 8.403050e-03 + 32 5.817671e-03 4.959251e-03 6.408347e-03 5.989560e-03 + 33 4.348764e-03 3.777670e-03 4.648486e-03 4.566839e-03 + 34 3.373318e-03 3.052128e-03 3.471206e-03 3.573944e-03 + 35 2.555611e-03 2.334737e-03 2.665233e-03 2.653108e-03 + 36 2.016152e-03 1.721893e-03 2.187202e-03 2.108517e-03 + 37 1.815119e-03 1.522732e-03 2.002906e-03 1.885107e-03 + 38 1.647081e-03 1.356222e-03 1.837580e-03 1.709557e-03 + 39 1.468089e-03 1.158071e-03 1.622822e-03 1.578347e-03 + 40 1.242372e-03 9.668565e-04 1.309911e-03 1.407050e-03 + 41 9.212835e-04 7.824993e-04 9.252146e-04 1.038250e-03 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 + +# Output file: solvers.out.505 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + + Iters |r|_2/|b|_2 |r0|_2/|b|_2 |r1|_2/|b|_2 |r2|_2/|b|_2 + ------ ------------- ------------- ------------- ------------- + 1 9.912681e-01 5.770876e-01 5.690725e-01 5.707354e-01 + 2 9.885643e-01 5.780172e-01 5.670444e-01 5.671121e-01 + 3 9.875718e-01 5.775301e-01 5.663927e-01 5.665303e-01 + 4 9.860703e-01 5.761409e-01 5.646599e-01 5.670586e-01 + 5 9.807018e-01 5.738183e-01 5.602222e-01 5.644995e-01 + 6 9.677413e-01 5.643474e-01 5.482562e-01 5.634273e-01 + 7 8.950947e-01 5.297011e-01 5.002811e-01 5.199328e-01 + 8 6.950281e-01 4.454463e-01 3.795395e-01 3.749553e-01 + 9 5.416950e-01 3.817841e-01 2.668711e-01 2.765034e-01 + 10 4.101353e-01 3.098792e-01 1.770076e-01 2.021242e-01 + 11 3.350994e-01 2.473470e-01 1.454856e-01 1.730461e-01 + 12 2.955046e-01 2.116435e-01 1.234326e-01 1.652100e-01 + 13 2.573324e-01 1.791227e-01 1.091720e-01 1.490519e-01 + 14 2.122408e-01 1.525816e-01 8.804845e-02 1.183744e-01 + 15 1.665293e-01 1.211342e-01 7.222844e-02 8.855261e-02 + 16 1.137619e-01 7.361819e-02 5.764584e-02 6.480035e-02 + 17 7.733513e-02 4.261495e-02 4.518208e-02 4.607893e-02 + 18 5.992076e-02 2.956271e-02 3.718035e-02 3.652622e-02 + 19 5.247491e-02 2.593313e-02 3.220972e-02 3.230515e-02 + 20 4.929826e-02 2.331047e-02 2.941584e-02 3.196325e-02 + 21 4.558671e-02 1.903724e-02 2.676988e-02 3.160863e-02 + 22 4.304131e-02 1.525449e-02 2.515775e-02 3.141565e-02 + 23 4.008083e-02 1.239572e-02 2.319682e-02 3.024445e-02 + 24 3.319113e-02 9.953080e-03 1.968420e-02 2.480160e-02 + 25 2.891898e-02 9.669367e-03 1.740408e-02 2.097400e-02 + 26 2.571954e-02 9.384217e-03 1.593618e-02 1.787371e-02 + 27 2.295567e-02 9.059282e-03 1.432158e-02 1.548497e-02 + 28 1.961735e-02 9.462678e-03 1.193563e-02 1.236281e-02 + 29 1.494968e-02 7.788162e-03 9.367826e-03 8.664954e-03 + 30 1.078502e-02 5.409381e-03 6.982921e-03 6.188219e-03 + 31 7.982081e-03 3.662499e-03 5.173262e-03 4.851503e-03 + 32 5.817671e-03 2.863225e-03 3.699861e-03 3.458074e-03 + 33 4.348764e-03 2.181039e-03 2.683805e-03 2.636666e-03 + 34 3.373318e-03 1.762147e-03 2.004102e-03 2.063417e-03 + 35 2.555611e-03 1.347961e-03 1.538773e-03 1.531773e-03 + 36 2.016152e-03 9.941352e-04 1.262782e-03 1.217353e-03 + 37 1.815119e-03 8.791497e-04 1.156378e-03 1.088367e-03 + 38 1.647081e-03 7.830152e-04 1.060927e-03 9.870132e-04 + 39 1.468089e-03 6.686128e-04 9.369366e-04 9.112592e-04 + 40 1.242372e-03 5.582149e-04 7.562777e-04 8.123604e-04 + 41 9.212835e-04 4.517762e-04 5.341729e-04 5.994338e-04 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 + +# Output file: solvers.out.506 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 1.471136e+04 +Initial L2 norm of e0: 2.314426e+03 +Initial L2 norm of e1: 1.027296e+04 +Initial L2 norm of e2: 1.027296e+04 +============================================= + +Iters error.norm conv.rate rel.err.norm +----- ------------ ---------- ------------ + 1 1.469001e+04 685.670824 9.985488e-01 + 2 1.466983e+04 0.998626 9.971771e-01 + 3 1.464768e+04 0.998490 9.956716e-01 + 4 1.460679e+04 0.997208 9.928921e-01 + 5 1.447775e+04 0.991166 9.841206e-01 + 6 1.402934e+04 0.969027 9.536399e-01 + 7 1.167550e+04 0.832220 7.936384e-01 + 8 6.612836e+03 0.566386 4.495055e-01 + 9 3.790714e+03 0.573236 2.576726e-01 + 10 1.950630e+03 0.514581 1.325935e-01 + 11 1.218708e+03 0.624777 8.284133e-02 + 12 9.559673e+02 0.784410 6.498159e-02 + 13 7.850804e+02 0.821242 5.336560e-02 + 14 6.013721e+02 0.766001 4.087808e-02 + 15 4.660275e+02 0.774940 3.167808e-02 + 16 3.211988e+02 0.689227 2.183339e-02 + 17 2.597127e+02 0.808573 1.765389e-02 + 18 2.332617e+02 0.898153 1.585590e-02 + 19 2.113513e+02 0.906069 1.436654e-02 + 20 1.940791e+02 0.918277 1.319247e-02 + 21 1.606198e+02 0.827600 1.091808e-02 + 22 1.302897e+02 0.811168 8.856399e-03 + 23 8.871875e+01 0.680935 6.030630e-03 + 24 2.663877e+01 0.300261 1.810762e-03 + 25 1.923211e+01 0.721959 1.307297e-03 + 26 2.853581e+01 1.483758 1.939713e-03 + 27 3.011971e+01 1.055506 2.047378e-03 + 28 3.395336e+01 1.127280 2.307969e-03 + 29 2.678181e+01 0.788782 1.820485e-03 + 30 2.240140e+01 0.836441 1.522728e-03 + 31 1.948635e+01 0.869872 1.324579e-03 + 32 1.649725e+01 0.846605 1.121396e-03 + 33 1.348032e+01 0.817125 9.163208e-04 + 34 1.159591e+01 0.860210 7.882283e-04 + 35 1.024904e+01 0.883850 6.966756e-04 + 36 9.081271e+00 0.886060 6.172966e-04 + 37 8.502632e+00 0.936282 5.779638e-04 + 38 7.463376e+00 0.877772 5.073207e-04 + 39 5.920444e+00 0.793266 4.024404e-04 + 40 3.918071e+00 0.661787 2.663297e-04 + 41 1.630650e+00 0.416187 1.108429e-04 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 +Final L2 norm of error: 1.630650e+00 +Final L2 norm of e0: 1.857751e-01 +Final L2 norm of e1: 1.327786e+00 +Final L2 norm of e2: 9.281641e-01 + +# Output file: solvers.out.507 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 1.471136e+04 +Initial L2 norm of e0: 2.314426e+03 +Initial L2 norm of e1: 1.027296e+04 +Initial L2 norm of e2: 1.027296e+04 +============================================= + + Iters |e|_2 |e0|_2 |e1|_2 |e2|_2 + ------ ------------- ------------- ------------- ------------- + 1 1.469001e+04 2.313130e+03 1.025742e+04 1.025822e+04 + 2 1.466983e+04 2.310565e+03 1.024254e+04 1.024478e+04 + 3 1.464768e+04 2.307413e+03 1.022625e+04 1.023006e+04 + 4 1.460679e+04 2.301499e+03 1.019658e+04 1.020251e+04 + 5 1.447775e+04 2.282221e+03 1.010308e+04 1.011555e+04 + 6 1.402934e+04 2.213120e+03 9.780163e+03 9.811871e+03 + 7 1.167550e+04 1.844637e+03 8.097872e+03 8.206036e+03 + 8 6.612836e+03 1.045137e+03 4.492107e+03 4.739014e+03 + 9 3.790714e+03 5.915156e+02 2.492904e+03 2.793753e+03 + 10 1.950630e+03 2.907757e+02 1.197359e+03 1.512196e+03 + 11 1.218708e+03 1.719776e+02 6.831453e+02 9.944780e+02 + 12 9.559673e+02 1.321244e+02 5.033254e+02 8.019228e+02 + 13 7.850804e+02 1.097838e+02 3.961248e+02 6.688676e+02 + 14 6.013721e+02 8.673982e+01 2.880947e+02 5.206976e+02 + 15 4.660275e+02 7.054622e+01 2.204905e+02 4.044611e+02 + 16 3.211988e+02 5.365358e+01 1.532846e+02 2.771169e+02 + 17 2.597127e+02 4.774136e+01 1.353047e+02 2.164812e+02 + 18 2.332617e+02 4.488426e+01 1.309083e+02 1.877750e+02 + 19 2.113513e+02 4.132304e+01 1.242806e+02 1.658798e+02 + 20 1.940791e+02 3.800318e+01 1.181029e+02 1.492453e+02 + 21 1.606198e+02 3.127282e+01 9.919962e+01 1.223935e+02 + 22 1.302897e+02 2.515587e+01 8.147191e+01 9.851347e+01 + 23 8.871875e+01 1.680057e+01 5.629412e+01 6.648105e+01 + 24 2.663877e+01 3.407695e+00 2.002702e+01 1.723165e+01 + 25 1.923211e+01 2.426889e+00 1.153734e+01 1.519454e+01 + 26 2.853581e+01 5.273582e+00 1.330015e+01 2.468983e+01 + 27 3.011971e+01 5.685922e+00 1.152733e+01 2.723945e+01 + 28 3.395336e+01 6.442877e+00 1.026244e+01 3.171754e+01 + 29 2.678181e+01 4.896503e+00 3.503308e+00 2.609629e+01 + 30 2.240140e+01 3.986490e+00 4.441304e+00 2.159179e+01 + 31 1.948635e+01 3.469767e+00 6.462983e+00 1.805293e+01 + 32 1.649725e+01 2.990414e+00 7.792140e+00 1.423022e+01 + 33 1.348032e+01 2.571279e+00 8.276195e+00 1.032532e+01 + 34 1.159591e+01 2.274620e+00 7.477280e+00 8.566299e+00 + 35 1.024904e+01 2.008534e+00 7.000441e+00 7.211277e+00 + 36 9.081271e+00 1.764359e+00 6.902535e+00 5.631300e+00 + 37 8.502632e+00 1.621462e+00 6.607716e+00 5.099382e+00 + 38 7.463376e+00 1.383165e+00 5.789906e+00 4.501757e+00 + 39 5.920444e+00 1.047171e+00 4.702129e+00 3.441667e+00 + 40 3.918071e+00 6.337472e-01 3.213623e+00 2.149948e+00 + 41 1.630650e+00 1.857751e-01 1.327786e+00 9.281641e-01 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 +Final L2 norm of error: 1.630650e+00 +Final L2 norm of e0: 1.857751e-01 +Final L2 norm of e1: 1.327786e+00 +Final L2 norm of e2: 9.281641e-01 + +# Output file: solvers.out.508 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 1.471136e+04 +Initial L2 norm of e0: 2.314426e+03 +Initial L2 norm of e1: 1.027296e+04 +Initial L2 norm of e2: 1.027296e+04 +============================================= + + Iters |e|_2/|eI|_2 |e0|_2/|eI0|_2 |e1|_2/|eI1|_2 |e2|_2/|eI2|_2 + ------ ------------- ------------- ------------- ------------- + 1 9.985488e-01 9.994400e-01 9.984870e-01 9.985653e-01 + 2 9.971771e-01 9.983315e-01 9.970392e-01 9.972564e-01 + 3 9.956716e-01 9.969700e-01 9.954529e-01 9.958243e-01 + 4 9.928921e-01 9.944147e-01 9.925648e-01 9.931419e-01 + 5 9.841206e-01 9.860852e-01 9.834638e-01 9.846772e-01 + 6 9.536399e-01 9.562284e-01 9.520296e-01 9.551162e-01 + 7 7.936384e-01 7.970170e-01 7.882705e-01 7.987995e-01 + 8 4.495055e-01 4.515751e-01 4.372748e-01 4.613095e-01 + 9 2.576726e-01 2.555777e-01 2.426665e-01 2.719520e-01 + 10 1.325935e-01 1.256362e-01 1.165544e-01 1.472016e-01 + 11 8.284133e-02 7.430679e-02 6.649936e-02 9.680539e-02 + 12 6.498159e-02 5.708734e-02 4.899516e-02 7.806151e-02 + 13 5.336560e-02 4.743457e-02 3.855994e-02 6.510953e-02 + 14 4.087808e-02 3.747789e-02 2.804398e-02 5.068622e-02 + 15 3.167808e-02 3.048109e-02 2.146319e-02 3.937143e-02 + 16 2.183339e-02 2.318224e-02 1.492117e-02 2.697537e-02 + 17 1.765389e-02 2.062773e-02 1.317095e-02 2.107291e-02 + 18 1.585590e-02 1.939326e-02 1.274300e-02 1.827857e-02 + 19 1.436654e-02 1.785455e-02 1.209784e-02 1.614722e-02 + 20 1.319247e-02 1.642013e-02 1.149648e-02 1.452797e-02 + 21 1.091808e-02 1.351213e-02 9.656381e-03 1.191414e-02 + 22 8.856399e-03 1.086916e-02 7.930714e-03 9.589588e-03 + 23 6.030630e-03 7.259065e-03 5.479834e-03 6.471460e-03 + 24 1.810762e-03 1.472371e-03 1.949489e-03 1.677379e-03 + 25 1.307297e-03 1.048592e-03 1.123078e-03 1.479081e-03 + 26 1.939713e-03 2.278570e-03 1.294675e-03 2.403380e-03 + 27 2.047378e-03 2.456731e-03 1.122104e-03 2.651567e-03 + 28 2.307969e-03 2.783790e-03 9.989760e-04 3.087478e-03 + 29 1.820485e-03 2.115645e-03 3.410222e-04 2.540289e-03 + 30 1.522728e-03 1.722453e-03 4.323295e-04 2.101808e-03 + 31 1.324579e-03 1.499191e-03 6.291257e-04 1.757325e-03 + 32 1.121396e-03 1.292076e-03 7.585096e-04 1.385211e-03 + 33 9.163208e-04 1.110979e-03 8.056289e-04 1.005097e-03 + 34 7.882283e-04 9.828010e-04 7.278602e-04 8.338685e-04 + 35 6.966756e-04 8.678325e-04 6.814434e-04 7.019667e-04 + 36 6.172966e-04 7.623312e-04 6.719129e-04 5.481671e-04 + 37 5.779638e-04 7.005890e-04 6.432144e-04 4.963888e-04 + 38 5.073207e-04 5.976277e-04 5.636064e-04 4.382142e-04 + 39 4.024404e-04 4.524539e-04 4.577190e-04 3.350219e-04 + 40 2.663297e-04 2.738248e-04 3.128234e-04 2.092822e-04 + 41 1.108429e-04 8.026832e-05 1.292506e-04 9.035021e-05 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 +Final L2 norm of error: 1.630650e+00 +Final L2 norm of e0: 1.857751e-01 +Final L2 norm of e1: 1.327786e+00 +Final L2 norm of e2: 9.281641e-01 + +# Output file: solvers.out.509 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 1.471136e+04 +Initial L2 norm of e0: 2.314426e+03 +Initial L2 norm of e1: 1.027296e+04 +Initial L2 norm of e2: 1.027296e+04 +============================================= + + Iters |e|_2/|eI|_2 |e0|_2/|eI|_2 |e1|_2/|eI|_2 |e2|_2/|eI|_2 + ------ ------------- ------------- ------------- ------------- + 1 3.074610e-03 4.549501e-04 2.217553e-03 2.080554e-03 + 2 1.784663e-04 3.803038e-05 1.307501e-04 1.153617e-04 + 3 5.763207e-05 1.200417e-05 3.961566e-05 4.009932e-05 + 4 5.659646e-05 3.524292e-05 3.592424e-05 2.589490e-05 + 5 4.597141e-05 1.714157e-05 2.823638e-05 3.197256e-05 + 6 4.864699e-05 1.713378e-05 2.563269e-05 3.762882e-05 + 7 7.292419e-05 1.973622e-05 6.505008e-05 2.639896e-05 + 8 1.438720e-04 2.469462e-05 1.168354e-04 8.024215e-05 + 9 1.346664e-04 2.510728e-05 1.104509e-04 7.283728e-05 + 10 5.683372e-05 1.566410e-05 4.605921e-05 2.938124e-05 + 11 7.538141e-05 3.327505e-05 4.774277e-05 4.791405e-05 + 12 4.417154e-05 2.183156e-05 2.785908e-05 2.642687e-05 + 13 6.523180e-05 2.561517e-05 2.512502e-05 5.447737e-05 + 14 8.204929e-05 3.819038e-05 3.918339e-05 6.114117e-05 + 15 5.999254e-05 2.714594e-05 1.227132e-05 5.207319e-05 + 16 8.241261e-05 1.397993e-05 3.344985e-05 7.401019e-05 + 17 7.837091e-05 3.105536e-05 2.987640e-05 6.545965e-05 + 18 1.237768e-04 3.472724e-05 6.311299e-05 1.006552e-04 + 19 1.193856e-04 3.639044e-05 7.515724e-05 8.532323e-05 + 20 9.315472e-05 2.253582e-05 6.695386e-05 6.072165e-05 + 21 5.149738e-05 1.496955e-05 4.586671e-05 1.800383e-05 + 22 3.631163e-05 1.308729e-05 1.417210e-05 3.076376e-05 + 23 5.831419e-05 1.952096e-05 3.983660e-05 3.784868e-05 + 24 1.473991e-04 3.028558e-05 1.032831e-04 1.007069e-04 + 25 1.472936e-04 3.946582e-05 9.977620e-05 1.009086e-04 + 26 9.756351e-05 2.724114e-05 6.586517e-05 6.662085e-05 + 27 9.944409e-05 2.664795e-05 5.579105e-05 7.788693e-05 + 28 5.675083e-05 1.260841e-05 1.744556e-05 5.251036e-05 + 29 1.174225e-04 2.774319e-05 2.285679e-05 1.117852e-04 + 30 1.016538e-04 1.760718e-05 8.518338e-05 5.260484e-05 + 31 9.137647e-05 1.883735e-05 4.055955e-05 7.968524e-05 + 32 1.003278e-04 1.650008e-05 6.273316e-05 7.653728e-05 + 33 9.977407e-05 2.203550e-05 4.825282e-05 8.450424e-05 + 34 1.097633e-04 2.654947e-05 9.533176e-05 4.748655e-05 + 35 8.675862e-05 3.194530e-05 4.648429e-05 6.592243e-05 + 36 1.159359e-04 3.565847e-05 9.123340e-05 6.201680e-05 + 37 1.370085e-04 3.622923e-05 1.292182e-04 2.759401e-05 + 38 1.173647e-04 2.058264e-05 1.071490e-04 4.324272e-05 + 39 9.619521e-05 1.968475e-05 3.575762e-05 8.710581e-05 + 40 7.677466e-05 2.489808e-05 5.553045e-05 4.680602e-05 + 41 6.706617e-05 2.479959e-05 4.924195e-05 3.818484e-05 + + +Final L2 norm of residual: 1.973784e-02 +Final L2 norm of r0: 9.678982e-03 +Final L2 norm of r1: 1.144427e-02 +Final L2 norm of r2: 1.284244e-02 +Final L2 norm of error: 1.630650e+00 +Final L2 norm of e0: 1.857751e-01 +Final L2 norm of e1: 1.327786e+00 +Final L2 norm of e2: 9.281641e-01 + +# Output file: solvers.out.511 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 2.757284e+04 +Initial L2 norm of e0: 4.509783e+03 +Initial L2 norm of e1: 1.923439e+04 +Initial L2 norm of e2: 1.923439e+04 +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 +Final L2 norm of error: 2.300809e+00 +Final L2 norm of e0: 3.742826e-01 +Final L2 norm of e1: 1.337831e+00 +Final L2 norm of e2: 1.834078e+00 + +# Output file: solvers.out.512 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + +Iters resid.norm conv.rate rel.res.norm +----- ------------ ---------- ------------ + 1 2.121729e+01 0.990338 9.903383e-01 + 2 2.117747e+01 0.998123 9.884795e-01 + 3 2.115802e+01 0.999082 9.875719e-01 + 4 2.115379e+01 0.999800 9.873742e-01 + 5 2.106310e+01 0.995713 9.831412e-01 + 6 2.097687e+01 0.995906 9.791166e-01 + 7 2.074135e+01 0.988772 9.681233e-01 + 8 2.025499e+01 0.976551 9.454218e-01 + 9 1.888888e+01 0.932554 8.816573e-01 + 10 1.576913e+01 0.834837 7.360401e-01 + 11 1.312696e+01 0.832446 6.127139e-01 + 12 1.142837e+01 0.870603 5.334308e-01 + 13 8.948511e+00 0.783008 4.176807e-01 + 14 6.775593e+00 0.757175 3.162576e-01 + 15 6.022417e+00 0.888840 2.811023e-01 + 16 5.640977e+00 0.936663 2.632983e-01 + 17 4.755465e+00 0.843022 2.219661e-01 + 18 3.097897e+00 0.651439 1.445975e-01 + 19 1.796846e+00 0.580021 8.386959e-02 + 20 1.071775e+00 0.596475 5.002615e-02 + 21 7.100289e-01 0.662480 3.314131e-02 + 22 4.456784e-01 0.627690 2.080249e-02 + 23 3.283964e-01 0.736846 1.532823e-02 + 24 2.789043e-01 0.849292 1.301814e-02 + 25 2.673047e-01 0.958410 1.247672e-02 + 26 2.553015e-01 0.955095 1.191645e-02 + 27 2.335314e-01 0.914728 1.090031e-02 + 28 1.746289e-01 0.747775 8.150981e-03 + 29 1.135897e-01 0.650463 5.301913e-03 + 30 8.615790e-02 0.758501 4.021506e-03 + 31 6.936208e-02 0.805058 3.237545e-03 + 32 5.273030e-02 0.760218 2.461240e-03 + 33 3.964835e-02 0.751908 1.850626e-03 + 34 3.260777e-02 0.822424 1.522000e-03 + 35 3.035257e-02 0.930839 1.416737e-03 + 36 2.918622e-02 0.961573 1.362296e-03 + 37 2.725248e-02 0.933745 1.272037e-03 + 38 2.319297e-02 0.851041 1.082555e-03 + 39 1.876482e-02 0.809074 8.758669e-04 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 + +# Output file: solvers.out.513 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + + Iters |r|_2 |r0|_2 |r1|_2 |r2|_2 + ------ ------------- ------------- ------------- ------------- + 1 2.121729e+01 1.233244e+01 1.222883e+01 1.218770e+01 + 2 2.117747e+01 1.238748e+01 1.216154e+01 1.212981e+01 + 3 2.115802e+01 1.240405e+01 1.212656e+01 1.211396e+01 + 4 2.115379e+01 1.240941e+01 1.212457e+01 1.210306e+01 + 5 2.106310e+01 1.235166e+01 1.207090e+01 1.205753e+01 + 6 2.097687e+01 1.225418e+01 1.204909e+01 1.202845e+01 + 7 2.074135e+01 1.221981e+01 1.188279e+01 1.181859e+01 + 8 2.025499e+01 1.216167e+01 1.152832e+01 1.137788e+01 + 9 1.888888e+01 1.180902e+01 1.040642e+01 1.044238e+01 + 10 1.576913e+01 1.085914e+01 7.900315e+00 8.266172e+00 + 11 1.312696e+01 9.555798e+00 6.149501e+00 6.571710e+00 + 12 1.142837e+01 8.373034e+00 5.282092e+00 5.709601e+00 + 13 8.948511e+00 7.109618e+00 3.594325e+00 4.075538e+00 + 14 6.775593e+00 5.793231e+00 2.328402e+00 2.631669e+00 + 15 6.022417e+00 5.307046e+00 2.024070e+00 2.001976e+00 + 16 5.640977e+00 4.950071e+00 1.906359e+00 1.919171e+00 + 17 4.755465e+00 4.037398e+00 1.831190e+00 1.720644e+00 + 18 3.097897e+00 2.258615e+00 1.445852e+00 1.550850e+00 + 19 1.796846e+00 1.307087e+00 8.772676e-01 8.663605e-01 + 20 1.071775e+00 8.397241e-01 4.862290e-01 4.551324e-01 + 21 7.100289e-01 5.341076e-01 3.646764e-01 2.930550e-01 + 22 4.456784e-01 3.367225e-01 1.844062e-01 2.263659e-01 + 23 3.283964e-01 2.556918e-01 1.152234e-01 1.708492e-01 + 24 2.789043e-01 2.212724e-01 8.688959e-02 1.458640e-01 + 25 2.673047e-01 2.112192e-01 7.949982e-02 1.432413e-01 + 26 2.553015e-01 2.006372e-01 7.466994e-02 1.390970e-01 + 27 2.335314e-01 1.734751e-01 8.478840e-02 1.313554e-01 + 28 1.746289e-01 1.138682e-01 8.200611e-02 1.039437e-01 + 29 1.135897e-01 4.981874e-02 6.985498e-02 7.443785e-02 + 30 8.615790e-02 2.783272e-02 5.577363e-02 5.947963e-02 + 31 6.936208e-02 2.252655e-02 4.561974e-02 4.714331e-02 + 32 5.273030e-02 1.863582e-02 3.429015e-02 3.545951e-02 + 33 3.964835e-02 1.470602e-02 2.606310e-02 2.600845e-02 + 34 3.260777e-02 1.009431e-02 2.162483e-02 2.222022e-02 + 35 3.035257e-02 7.505659e-03 2.011992e-02 2.145069e-02 + 36 2.918622e-02 6.914488e-03 1.959940e-02 2.049119e-02 + 37 2.725248e-02 6.993285e-03 1.803089e-02 1.920100e-02 + 38 2.319297e-02 7.347560e-03 1.547091e-02 1.563900e-02 + 39 1.876482e-02 8.662432e-03 1.155085e-02 1.198577e-02 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 + +# Output file: solvers.out.514 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + + Iters |r|_2/|b|_2 |r0|_2/|b0|_2 |r1|_2/|b1|_2 |r2|_2/|b2|_2 + ------ ------------- ------------- ------------- ------------- + 1 9.903383e-01 9.970185e-01 9.886426e-01 9.853169e-01 + 2 9.884795e-01 1.001469e+00 9.832025e-01 9.806368e-01 + 3 9.875719e-01 1.002808e+00 9.803740e-01 9.793560e-01 + 4 9.873742e-01 1.003242e+00 9.802134e-01 9.784740e-01 + 5 9.831412e-01 9.985723e-01 9.758743e-01 9.747936e-01 + 6 9.791166e-01 9.906921e-01 9.741116e-01 9.724423e-01 + 7 9.681233e-01 9.879130e-01 9.606668e-01 9.554766e-01 + 8 9.454218e-01 9.832126e-01 9.320097e-01 9.198469e-01 + 9 8.816573e-01 9.547027e-01 8.413091e-01 8.442160e-01 + 10 7.360401e-01 8.779097e-01 6.387026e-01 6.682804e-01 + 11 6.127139e-01 7.725405e-01 4.971577e-01 5.312913e-01 + 12 5.334308e-01 6.769197e-01 4.270319e-01 4.615938e-01 + 13 4.176807e-01 5.747786e-01 2.905840e-01 3.294877e-01 + 14 3.162576e-01 4.683549e-01 1.882401e-01 2.127578e-01 + 15 2.811023e-01 4.290492e-01 1.636363e-01 1.618502e-01 + 16 2.632983e-01 4.001895e-01 1.541200e-01 1.551557e-01 + 17 2.219661e-01 3.264043e-01 1.480429e-01 1.391058e-01 + 18 1.445975e-01 1.825982e-01 1.168902e-01 1.253788e-01 + 19 8.386959e-02 1.056717e-01 7.092288e-02 7.004109e-02 + 20 5.002615e-02 6.788767e-02 3.930929e-02 3.679528e-02 + 21 3.314131e-02 4.318004e-02 2.948234e-02 2.369209e-02 + 22 2.080249e-02 2.722240e-02 1.490836e-02 1.830060e-02 + 23 1.532823e-02 2.067145e-02 9.315260e-03 1.381234e-02 + 24 1.301814e-02 1.788882e-02 7.024607e-03 1.179240e-02 + 25 1.247672e-02 1.707606e-02 6.427180e-03 1.158037e-02 + 26 1.191645e-02 1.622056e-02 6.036707e-03 1.124533e-02 + 27 1.090031e-02 1.402463e-02 6.854736e-03 1.061946e-02 + 28 8.150981e-03 9.205696e-03 6.629801e-03 8.403353e-03 + 29 5.301913e-03 4.027606e-03 5.647441e-03 6.017943e-03 + 30 4.021506e-03 2.250142e-03 4.509030e-03 4.808643e-03 + 31 3.237545e-03 1.821164e-03 3.688137e-03 3.811311e-03 + 32 2.461240e-03 1.506616e-03 2.772194e-03 2.866731e-03 + 33 1.850626e-03 1.188911e-03 2.107077e-03 2.102659e-03 + 34 1.522000e-03 8.160770e-04 1.748264e-03 1.796398e-03 + 35 1.416737e-03 6.067966e-04 1.626599e-03 1.734186e-03 + 36 1.362296e-03 5.590032e-04 1.584518e-03 1.656615e-03 + 37 1.272037e-03 5.653736e-04 1.457711e-03 1.552309e-03 + 38 1.082555e-03 5.940150e-04 1.250749e-03 1.264338e-03 + 39 8.758669e-04 7.003161e-04 9.338308e-04 9.689922e-04 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 + +# Output file: solvers.out.515 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +============================================= + + Iters |r|_2/|b|_2 |r0|_2/|b|_2 |r1|_2/|b|_2 |r2|_2/|b|_2 + ------ ------------- ------------- ------------- ------------- + 1 9.903383e-01 5.756289e-01 5.707930e-01 5.688730e-01 + 2 9.884795e-01 5.781981e-01 5.676522e-01 5.661709e-01 + 3 9.875719e-01 5.789713e-01 5.660192e-01 5.654314e-01 + 4 9.873742e-01 5.792218e-01 5.659265e-01 5.649222e-01 + 5 9.831412e-01 5.765260e-01 5.634213e-01 5.627974e-01 + 6 9.791166e-01 5.719763e-01 5.624036e-01 5.614399e-01 + 7 9.681233e-01 5.703718e-01 5.546412e-01 5.516447e-01 + 8 9.454218e-01 5.676580e-01 5.380960e-01 5.310739e-01 + 9 8.816573e-01 5.511978e-01 4.857300e-01 4.874083e-01 + 10 7.360401e-01 5.068614e-01 3.687551e-01 3.858319e-01 + 11 6.127139e-01 4.460265e-01 2.870341e-01 3.067412e-01 + 12 5.334308e-01 3.908198e-01 2.465470e-01 2.665013e-01 + 13 4.176807e-01 3.318486e-01 1.677687e-01 1.902298e-01 + 14 3.162576e-01 2.704048e-01 1.086805e-01 1.228358e-01 + 15 2.811023e-01 2.477117e-01 9.447547e-02 9.344426e-02 + 16 2.632983e-01 2.310495e-01 8.898121e-02 8.957921e-02 + 17 2.219661e-01 1.884496e-01 8.547261e-02 8.031278e-02 + 18 1.445975e-01 1.054231e-01 6.748659e-02 7.238748e-02 + 19 8.386959e-02 6.100961e-02 4.094735e-02 4.043824e-02 + 20 5.002615e-02 3.919496e-02 2.269523e-02 2.124376e-02 + 21 3.314131e-02 2.493001e-02 1.702164e-02 1.367864e-02 + 22 2.080249e-02 1.571686e-02 8.607345e-03 1.056585e-02 + 23 1.532823e-02 1.193467e-02 5.378168e-03 7.974559e-03 + 24 1.301814e-02 1.032811e-02 4.055659e-03 6.808346e-03 + 25 1.247672e-02 9.858866e-03 3.710734e-03 6.685931e-03 + 26 1.191645e-02 9.364942e-03 3.485294e-03 6.492494e-03 + 27 1.090031e-02 8.097122e-03 3.957584e-03 6.131145e-03 + 28 8.150981e-03 5.314911e-03 3.827717e-03 4.851678e-03 + 29 5.301913e-03 2.325340e-03 3.260551e-03 3.474461e-03 + 30 4.021506e-03 1.299120e-03 2.603290e-03 2.776271e-03 + 31 3.237545e-03 1.051449e-03 2.129347e-03 2.200461e-03 + 32 2.461240e-03 8.698454e-04 1.600527e-03 1.655108e-03 + 33 1.850626e-03 6.864181e-04 1.216521e-03 1.213971e-03 + 34 1.522000e-03 4.711623e-04 1.009361e-03 1.037151e-03 + 35 1.416737e-03 3.503342e-04 9.391176e-04 1.001233e-03 + 36 1.362296e-03 3.227407e-04 9.148218e-04 9.564468e-04 + 37 1.272037e-03 3.264186e-04 8.416100e-04 8.962260e-04 + 38 1.082555e-03 3.429547e-04 7.221202e-04 7.299659e-04 + 39 8.758669e-04 4.043277e-04 5.391474e-04 5.594479e-04 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 + +# Output file: solvers.out.516 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 2.757284e+04 +Initial L2 norm of e0: 4.509783e+03 +Initial L2 norm of e1: 1.923439e+04 +Initial L2 norm of e2: 1.923439e+04 +============================================= + +Iters error.norm conv.rate rel.err.norm +----- ------------ ---------- ------------ + 1 2.754166e+04 1285.534664 9.988692e-01 + 2 2.752218e+04 0.999293 9.981627e-01 + 3 2.749205e+04 0.998905 9.970698e-01 + 4 2.747340e+04 0.999322 9.963934e-01 + 5 2.730852e+04 0.993998 9.904135e-01 + 6 2.704816e+04 0.990466 9.809709e-01 + 7 2.635456e+04 0.974357 9.558160e-01 + 8 2.514901e+04 0.954256 9.120934e-01 + 9 2.172763e+04 0.863956 7.880084e-01 + 10 1.524986e+04 0.701865 5.530755e-01 + 11 1.078850e+04 0.707449 3.912726e-01 + 12 8.596383e+03 0.796810 3.117699e-01 + 13 5.990165e+03 0.696824 2.172487e-01 + 14 4.158995e+03 0.694304 1.508367e-01 + 15 3.550301e+03 0.853644 1.287608e-01 + 16 3.200983e+03 0.901609 1.160919e-01 + 17 2.366222e+03 0.739217 8.581711e-02 + 18 1.097924e+03 0.463999 3.981905e-02 + 19 4.998279e+02 0.455248 1.812755e-02 + 20 3.020885e+02 0.604385 1.095602e-02 + 21 2.075075e+02 0.686910 7.525794e-03 + 22 1.815097e+02 0.874714 6.582914e-03 + 23 1.655873e+02 0.912278 6.005448e-03 + 24 1.581088e+02 0.954837 5.734223e-03 + 25 1.532706e+02 0.969399 5.558751e-03 + 26 1.443252e+02 0.941637 5.234324e-03 + 27 1.193687e+02 0.827082 4.329214e-03 + 28 6.323989e+01 0.529786 2.293557e-03 + 29 2.254413e+01 0.356486 8.176207e-04 + 30 1.058862e+01 0.469684 3.840235e-04 + 31 5.757167e+00 0.543713 2.087985e-04 + 32 3.222066e+00 0.559662 1.168565e-04 + 33 3.354347e+00 1.041055 1.216540e-04 + 34 3.924001e+00 1.169826 1.423140e-04 + 35 3.837248e+00 0.977892 1.391677e-04 + 36 3.927204e+00 1.023443 1.424301e-04 + 37 3.325891e+00 0.846885 1.206220e-04 + 38 2.939278e+00 0.883757 1.066005e-04 + 39 2.300809e+00 0.782780 8.344476e-05 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 +Final L2 norm of error: 2.300809e+00 +Final L2 norm of e0: 3.742826e-01 +Final L2 norm of e1: 1.337831e+00 +Final L2 norm of e2: 1.834078e+00 + +# Output file: solvers.out.517 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 2.757284e+04 +Initial L2 norm of e0: 4.509783e+03 +Initial L2 norm of e1: 1.923439e+04 +Initial L2 norm of e2: 1.923439e+04 +============================================= + + Iters |e|_2 |e0|_2 |e1|_2 |e2|_2 + ------ ------------- ------------- ------------- ------------- + 1 2.754166e+04 4.508499e+03 1.921207e+04 1.921231e+04 + 2 2.752218e+04 4.506268e+03 1.919769e+04 1.919930e+04 + 3 2.749205e+04 4.502634e+03 1.917615e+04 1.917848e+04 + 4 2.747340e+04 4.500128e+03 1.916273e+04 1.916576e+04 + 5 2.730852e+04 4.477638e+03 1.904479e+04 1.905261e+04 + 6 2.704816e+04 4.439813e+03 1.885869e+04 1.887433e+04 + 7 2.635456e+04 4.337109e+03 1.836474e+04 1.839806e+04 + 8 2.514901e+04 4.149555e+03 1.750978e+04 1.756876e+04 + 9 2.172763e+04 3.606623e+03 1.508724e+04 1.521373e+04 + 10 1.524986e+04 2.570800e+03 1.050118e+04 1.075521e+04 + 11 1.078850e+04 1.851075e+03 7.348905e+03 7.678462e+03 + 12 8.596383e+03 1.486818e+03 5.804497e+03 6.164008e+03 + 13 5.990165e+03 1.052360e+03 3.970785e+03 4.359757e+03 + 14 4.158995e+03 7.437395e+02 2.683784e+03 3.088915e+03 + 15 3.550301e+03 6.403093e+02 2.260328e+03 2.661871e+03 + 16 3.200983e+03 5.782095e+02 2.023359e+03 2.412050e+03 + 17 2.366222e+03 4.297053e+02 1.463278e+03 1.809192e+03 + 18 1.097924e+03 2.039313e+02 6.147515e+02 8.865273e+02 + 19 4.998279e+02 9.550733e+01 2.188959e+02 4.390796e+02 + 20 3.020885e+02 6.072013e+01 8.348563e+01 2.839026e+02 + 21 2.075075e+02 4.279888e+01 1.788491e+01 2.022567e+02 + 22 1.815097e+02 3.724563e+01 8.771826e+00 1.774305e+02 + 23 1.655873e+02 3.459024e+01 8.015892e+00 1.617356e+02 + 24 1.581088e+02 3.301219e+01 8.352672e+00 1.543983e+02 + 25 1.532706e+02 3.204597e+01 8.188783e+00 1.496592e+02 + 26 1.443252e+02 3.023209e+01 7.633070e+00 1.409167e+02 + 27 1.193687e+02 2.516501e+01 7.124755e+00 1.164683e+02 + 28 6.323989e+01 1.341976e+01 3.968149e+00 6.167210e+01 + 29 2.254413e+01 4.835608e+00 2.821914e+00 2.183784e+01 + 30 1.058862e+01 2.286090e+00 2.282076e+00 1.008389e+01 + 31 5.757167e+00 1.151971e+00 2.172406e+00 5.205630e+00 + 32 3.222066e+00 4.269207e-01 2.586242e+00 1.873712e+00 + 33 3.354347e+00 5.457072e-01 2.326551e+00 2.353934e+00 + 34 3.924001e+00 7.103497e-01 2.472520e+00 2.963077e+00 + 35 3.837248e+00 7.187103e-01 2.237230e+00 3.033600e+00 + 36 3.927204e+00 7.407985e-01 2.064557e+00 3.257568e+00 + 37 3.325891e+00 6.198096e-01 1.371953e+00 2.965659e+00 + 38 2.939278e+00 5.275062e-01 9.336292e-01 2.736682e+00 + 39 2.300809e+00 3.742826e-01 1.337831e+00 1.834078e+00 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 +Final L2 norm of error: 2.300809e+00 +Final L2 norm of e0: 3.742826e-01 +Final L2 norm of e1: 1.337831e+00 +Final L2 norm of e2: 1.834078e+00 + +# Output file: solvers.out.518 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 2.757284e+04 +Initial L2 norm of e0: 4.509783e+03 +Initial L2 norm of e1: 1.923439e+04 +Initial L2 norm of e2: 1.923439e+04 +============================================= + + Iters |e|_2/|eI|_2 |e0|_2/|eI0|_2 |e1|_2/|eI1|_2 |e2|_2/|eI2|_2 + ------ ------------- ------------- ------------- ------------- + 1 9.988692e-01 9.997152e-01 9.988397e-01 9.988521e-01 + 2 9.981627e-01 9.992207e-01 9.980918e-01 9.981755e-01 + 3 9.970698e-01 9.984149e-01 9.969722e-01 9.970934e-01 + 4 9.963934e-01 9.978591e-01 9.962742e-01 9.964320e-01 + 5 9.904135e-01 9.928722e-01 9.901424e-01 9.905493e-01 + 6 9.809709e-01 9.844850e-01 9.804674e-01 9.812807e-01 + 7 9.558160e-01 9.617113e-01 9.547869e-01 9.565191e-01 + 8 9.120934e-01 9.201230e-01 9.103371e-01 9.134036e-01 + 9 7.880084e-01 7.997331e-01 7.843887e-01 7.909649e-01 + 10 5.530755e-01 5.700496e-01 5.459586e-01 5.591656e-01 + 11 3.912726e-01 4.104576e-01 3.820711e-01 3.992049e-01 + 12 3.117699e-01 3.296874e-01 3.017770e-01 3.204681e-01 + 13 2.172487e-01 2.333505e-01 2.064420e-01 2.266647e-01 + 14 1.508367e-01 1.649169e-01 1.395305e-01 1.605933e-01 + 15 1.287608e-01 1.419823e-01 1.175149e-01 1.383912e-01 + 16 1.160919e-01 1.282123e-01 1.051949e-01 1.254030e-01 + 17 8.581711e-02 9.528292e-02 7.607613e-02 9.406028e-02 + 18 3.981905e-02 4.521975e-02 3.196106e-02 4.609075e-02 + 19 1.812755e-02 2.117781e-02 1.138044e-02 2.282784e-02 + 20 1.095602e-02 1.346409e-02 4.340436e-03 1.476016e-02 + 21 7.525794e-03 9.490230e-03 9.298402e-04 1.051537e-02 + 22 6.582914e-03 8.258852e-03 4.560491e-04 9.224648e-03 + 23 6.005448e-03 7.670046e-03 4.167479e-04 8.408668e-03 + 24 5.734223e-03 7.320128e-03 4.342572e-04 8.027199e-03 + 25 5.558751e-03 7.105879e-03 4.257366e-04 7.780812e-03 + 26 5.234324e-03 6.703670e-03 3.968450e-04 7.326289e-03 + 27 4.329214e-03 5.580093e-03 3.704175e-04 6.055210e-03 + 28 2.293557e-03 2.975700e-03 2.063049e-04 3.206345e-03 + 29 8.176207e-04 1.072248e-03 1.467119e-04 1.135354e-03 + 30 3.840235e-04 5.069180e-04 1.186456e-04 5.242635e-04 + 31 2.087985e-04 2.554383e-04 1.129438e-04 2.706418e-04 + 32 1.168565e-04 9.466546e-05 1.344593e-04 9.741470e-05 + 33 1.216540e-04 1.210052e-04 1.209579e-04 1.223815e-04 + 34 1.423140e-04 1.575131e-04 1.285469e-04 1.540510e-04 + 35 1.391677e-04 1.593670e-04 1.163141e-04 1.577175e-04 + 36 1.424301e-04 1.642648e-04 1.073368e-04 1.693617e-04 + 37 1.206220e-04 1.374367e-04 7.132812e-05 1.541852e-04 + 38 1.066005e-04 1.169693e-04 4.853958e-05 1.422807e-04 + 39 8.344476e-05 8.299349e-05 6.955412e-05 9.535413e-05 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 +Final L2 norm of error: 2.300809e+00 +Final L2 norm of e0: 3.742826e-01 +Final L2 norm of e1: 1.337831e+00 +Final L2 norm of e2: 1.834078e+00 + +# Output file: solvers.out.519 +L2 norm of b: 2.142429e+01 +L2 norm of b0: 1.236932e+01 +L2 norm of b1: 1.236932e+01 +L2 norm of b2: 1.236932e+01 +Initial L2 norm of residual: 2.142429e+01 +Initial L2 norm of r0: 1.236932e+01 +Initial L2 norm of r1: 1.236932e+01 +Initial L2 norm of r2: 1.236932e+01 +Initial L2 norm of error: 2.757284e+04 +Initial L2 norm of e0: 4.509783e+03 +Initial L2 norm of e1: 1.923439e+04 +Initial L2 norm of e2: 1.923439e+04 +============================================= + + Iters |e|_2/|eI|_2 |e0|_2/|eI|_2 |e1|_2/|eI|_2 |e2|_2/|eI|_2 + ------ ------------- ------------- ------------- ------------- + 1 2.146515e-03 2.512420e-04 1.513215e-03 1.501528e-03 + 2 9.797277e-05 2.337742e-05 7.247518e-05 6.164016e-05 + 3 5.178815e-05 1.133558e-05 2.749903e-05 4.239481e-05 + 4 5.010558e-05 2.189442e-05 2.550654e-05 3.715669e-05 + 5 5.526505e-05 1.341580e-05 4.190465e-05 3.344014e-05 + 6 2.407351e-05 1.868887e-05 1.082894e-05 1.062989e-05 + 7 7.181487e-05 2.710475e-05 5.248153e-05 4.084603e-05 + 8 1.176533e-04 2.085198e-05 8.443507e-05 7.923518e-05 + 9 2.334175e-05 1.383367e-05 1.145064e-05 1.491141e-05 + 10 7.050436e-05 1.502851e-05 4.947975e-05 4.792455e-05 + 11 7.212892e-05 2.351039e-05 5.419286e-05 4.138811e-05 + 12 4.600877e-05 1.149321e-05 2.955955e-05 3.333086e-05 + 13 7.533073e-05 1.808254e-05 4.859548e-05 5.464631e-05 + 14 7.051138e-05 2.066954e-05 4.668570e-05 4.863199e-05 + 15 1.197507e-04 1.610447e-05 7.415903e-05 9.263533e-05 + 16 3.997649e-05 2.017532e-05 2.518356e-05 2.359797e-05 + 17 4.272038e-05 2.141479e-05 2.060962e-05 3.068682e-05 + 18 2.884587e-05 1.494618e-05 1.360943e-05 2.057861e-05 + 19 2.994581e-05 1.008972e-05 2.153999e-05 1.819281e-05 + 20 5.845419e-05 8.850277e-06 1.339673e-05 5.620581e-05 + 21 5.041734e-05 1.372215e-05 1.226381e-05 4.693836e-05 + 22 6.416753e-05 1.458571e-05 4.105793e-05 4.710600e-05 + 23 1.512293e-04 2.571743e-05 2.740202e-05 1.464857e-04 + 24 8.941269e-05 2.498931e-05 4.327784e-05 7.414305e-05 + 25 1.065666e-04 2.170297e-05 1.040271e-05 1.038133e-04 + 26 2.744348e-05 1.319936e-05 7.783405e-06 2.276709e-05 + 27 2.395785e-05 1.185501e-05 5.696467e-06 2.002468e-05 + 28 5.120679e-05 6.308719e-06 2.754168e-05 4.270587e-05 + 29 4.297306e-05 1.063488e-05 3.461479e-05 2.313871e-05 + 30 5.079403e-05 9.651879e-06 3.710082e-05 3.332273e-05 + 31 3.542307e-05 8.039469e-06 9.190143e-06 3.325210e-05 + 32 1.374694e-05 6.497467e-06 8.419656e-06 8.710373e-06 + 33 5.135973e-05 1.026382e-05 4.696038e-05 1.808862e-05 + 34 2.877075e-05 1.115371e-05 1.568637e-05 2.138430e-05 + 35 6.167406e-05 1.467427e-05 5.380235e-05 2.633748e-05 + 36 4.187124e-05 1.390915e-05 1.843081e-05 3.492909e-05 + 37 7.556213e-05 8.351192e-06 1.452554e-05 7.368108e-05 + 38 8.826410e-05 1.798898e-05 8.420031e-05 1.942305e-05 + 39 1.020472e-04 1.771359e-05 6.703898e-05 7.487073e-05 + + +Final L2 norm of residual: 1.876482e-02 +Final L2 norm of r0: 8.662432e-03 +Final L2 norm of r1: 1.155085e-02 +Final L2 norm of r2: 1.198577e-02 +Final L2 norm of error: 2.300809e+00 +Final L2 norm of e0: 3.742826e-01 +Final L2 norm of e1: 1.337831e+00 +Final L2 norm of e2: 1.834078e+00 + diff --git a/src/test/TEST_ij/state.saved.matrix b/src/test/TEST_ij/state.saved.matrix new file mode 100644 index 0000000000..2f62682bcb --- /dev/null +++ b/src/test/TEST_ij/state.saved.matrix @@ -0,0 +1,8 @@ +# Output file: state.out.1 +hypre library has been finalized +hypre library has been re-initialized +hypre library has been finalized +# Output file: state.out.100 +hypre library has been finalized +hypre library has been re-initialized +hypre library has been finalized diff --git a/src/test/TEST_ij/vector.saved.matrix b/src/test/TEST_ij/vector.saved.matrix new file mode 100644 index 0000000000..230b88cce2 --- /dev/null +++ b/src/test/TEST_ij/vector.saved.matrix @@ -0,0 +1,121 @@ +# Output file: vector.out.A0 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A1 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A2 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A3 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A4 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A5 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A6 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A7 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A8 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A9 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.A10 +Vector/Multivector error = 0.000000e+00 + +# Output file: vector.out.B0 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B1 +GMRES Iterations = 54 +Final GMRES Relative Residual Norm = 7.982372e-09 + +# Output file: vector.out.B2 +Iterations = 202 +Final Relative Residual Norm = 9.613027e-09 + +# Output file: vector.out.B3 +BiCGSTAB Iterations = 12 +Final BiCGSTAB Relative Residual Norm = 6.282586e-09 + +# Output file: vector.out.B4 +LGMRES Iterations = 53 +Final LGMRES Relative Residual Norm = 8.975950e-09 + +# Output file: vector.out.B5 +FlexGMRES Iterations = 54 +Final FlexGMRES Relative Residual Norm = 7.982372e-09 + +# Output file: vector.out.B6 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B7 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B8 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B9 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B10 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B100 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B101 +GMRES Iterations = 54 +Final GMRES Relative Residual Norm = 7.982371e-09 + +# Output file: vector.out.B102 +Iterations = 202 +Final Relative Residual Norm = 9.550922e-09 + +# Output file: vector.out.B103 +BiCGSTAB Iterations = 12 +Final BiCGSTAB Relative Residual Norm = 6.282586e-09 + +# Output file: vector.out.B104 +LGMRES Iterations = 53 +Final LGMRES Relative Residual Norm = 8.975947e-09 + +# Output file: vector.out.B105 +FlexGMRES Iterations = 54 +Final FlexGMRES Relative Residual Norm = 7.982371e-09 + +# Output file: vector.out.B106 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B107 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B108 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B109 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + +# Output file: vector.out.B110 +Iterations = 18 +Final Relative Residual Norm = 3.923978e-09 + diff --git a/src/test/TEST_sstruct/addtovalues.saved.matrix b/src/test/TEST_sstruct/addtovalues.saved.matrix new file mode 100644 index 0000000000..c0d7274d4f --- /dev/null +++ b/src/test/TEST_sstruct/addtovalues.saved.matrix @@ -0,0 +1,32 @@ +# Output file: addtovalues.out.0 +Iterations = 8 +Final Relative Residual Norm = 9.531730e-07 + +# Output file: addtovalues.out.1 +Iterations = 8 +Final Relative Residual Norm = 9.531730e-07 + +# Output file: addtovalues.out.2 +Iterations = 83 +Final Relative Residual Norm = 9.421341e-07 + +# Output file: addtovalues.out.3 +Iterations = 83 +Final Relative Residual Norm = 9.421341e-07 + +# Output file: addtovalues.out.4 +Iterations = 9 +Final Relative Residual Norm = 4.767660e-07 + +# Output file: addtovalues.out.5 +Iterations = 9 +Final Relative Residual Norm = 4.767660e-07 + +# Output file: addtovalues.out.6 +Iterations = 92 +Final Relative Residual Norm = 8.697355e-07 + +# Output file: addtovalues.out.7 +Iterations = 92 +Final Relative Residual Norm = 8.697355e-07 + diff --git a/src/test/TEST_sstruct/amr2d.saved.matrix b/src/test/TEST_sstruct/amr2d.saved.matrix new file mode 100644 index 0000000000..1d4e869efb --- /dev/null +++ b/src/test/TEST_sstruct/amr2d.saved.matrix @@ -0,0 +1,76 @@ +# Output file: amr2d.out.0 +Iterations = 19 +Final Relative Residual Norm = 8.188904e-07 + +# Output file: amr2d.out.1 +Iterations = 19 +Final Relative Residual Norm = 8.188904e-07 + +# Output file: amr2d.out.2 +Iterations = 7 +Final Relative Residual Norm = 2.345061e-07 + +# Output file: amr2d.out.3 +Iterations = 7 +Final Relative Residual Norm = 4.180192e-07 + +# Output file: amr2d.out.4 +Iterations = 20 +Final Relative Residual Norm = 8.510163e-07 + +# Output file: amr2d.out.5 +Iterations = 20 +Final Relative Residual Norm = 8.510163e-07 + +# Output file: amr2d.out.6 +Iterations = 7 +Final Relative Residual Norm = 4.464926e-07 + +# Output file: amr2d.out.7 +Iterations = 7 +Final Relative Residual Norm = 5.993784e-07 + +# Output file: amr2d.out.8 +Iterations = 21 +Final Relative Residual Norm = 5.392338e-07 + +# Output file: amr2d.out.10 +Iterations = 8 +Final Relative Residual Norm = 6.330324e-07 + +# Output file: amr2d.out.11 +Iterations = 8 +Final Relative Residual Norm = 2.085852e-07 + +# Output file: amr2d.out.12 +Iterations = 18 +Final Relative Residual Norm = 5.252407e-07 + +# Output file: amr2d.out.13 +Iterations = 18 +Final Relative Residual Norm = 5.252407e-07 + +# Output file: amr2d.out.14 +Iterations = 38 +Final Relative Residual Norm = 8.737577e-07 + +# Output file: amr2d.out.15 +Iterations = 38 +Final Relative Residual Norm = 8.677316e-07 + +# Output file: amr2d.out.16 +Iterations = 11 +Final Relative Residual Norm = 9.335230e-07 + +# Output file: amr2d.out.17 +Iterations = 11 +Final Relative Residual Norm = 9.300705e-07 + +# Output file: amr2d.out.18 +Iterations = 9 +Final Relative Residual Norm = 5.946410e-07 + +# Output file: amr2d.out.19 +Iterations = 10 +Final Relative Residual Norm = 2.352751e-07 + diff --git a/src/test/TEST_sstruct/amr3d.saved.matrix b/src/test/TEST_sstruct/amr3d.saved.matrix new file mode 100644 index 0000000000..4a7e90e41a --- /dev/null +++ b/src/test/TEST_sstruct/amr3d.saved.matrix @@ -0,0 +1,24 @@ +# Output file: amr3d.out.0 +Iterations = 21 +Final Relative Residual Norm = 6.364034e-07 + +# Output file: amr3d.out.1 +Iterations = 21 +Final Relative Residual Norm = 6.363566e-07 + +# Output file: amr3d.out.2 +Iterations = 10 +Final Relative Residual Norm = 3.413585e-07 + +# Output file: amr3d.out.3 +Iterations = 10 +Final Relative Residual Norm = 3.414438e-07 + +# Output file: amr3d.out.4 +Iterations = 9 +Final Relative Residual Norm = 8.266785e-07 + +# Output file: amr3d.out.5 +Iterations = 9 +Final Relative Residual Norm = 6.987033e-07 + diff --git a/src/test/TEST_sstruct/cube.saved.matrix b/src/test/TEST_sstruct/cube.saved.matrix new file mode 100644 index 0000000000..9c6d594617 --- /dev/null +++ b/src/test/TEST_sstruct/cube.saved.matrix @@ -0,0 +1,12 @@ +# Output file: cube.out.0 +Iterations = 41 +Final Relative Residual Norm = 8.606818e-07 + +# Output file: cube.out.1 +Iterations = 41 +Final Relative Residual Norm = 8.606818e-07 + +# Output file: cube.out.2 +Iterations = 41 +Final Relative Residual Norm = 8.606818e-07 + diff --git a/src/test/TEST_sstruct/cycred.saved.matrix b/src/test/TEST_sstruct/cycred.saved.matrix new file mode 100644 index 0000000000..caa10f7189 --- /dev/null +++ b/src/test/TEST_sstruct/cycred.saved.matrix @@ -0,0 +1,81 @@ +# Output file: cycred.out.3Dx.1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dx.2 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dx.3 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dy.1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dy.2 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dy.3 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dz.1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dz.2 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dz.3 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.2Dx.1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.2Dx.2 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.2Dx.3 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.2Dy.1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.2Dy.2 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.2Dy.3 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.1Dx.1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.1Dx.2 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: cycred.out.3Dx.5 +Final Relative Residual Norm = 3.200000e+02 + +# Output file: cycred.out.3Dx.6 +Final Relative Residual Norm = 3.200000e+02 + +# Output file: cycred.out.3Dy.5 +Final Relative Residual Norm = 3.200000e+02 + +# Output file: cycred.out.3Dy.6 +Final Relative Residual Norm = 3.200000e+02 + +# Output file: cycred.out.3Dz.5 +Final Relative Residual Norm = 3.200000e+02 + +# Output file: cycred.out.3Dz.6 +Final Relative Residual Norm = 3.200000e+02 + +# Output file: cycred.out.2Dx.5 +Final Relative Residual Norm = 2.000000e+01 + +# Output file: cycred.out.2Dx.6 +Final Relative Residual Norm = 2.000000e+01 + +# Output file: cycred.out.2Dy.5 +Final Relative Residual Norm = 2.000000e+01 + +# Output file: cycred.out.2Dy.6 +Final Relative Residual Norm = 2.000000e+01 + diff --git a/src/test/TEST_sstruct/default2d.saved.matrix b/src/test/TEST_sstruct/default2d.saved.matrix new file mode 100644 index 0000000000..8f0ca3c5c5 --- /dev/null +++ b/src/test/TEST_sstruct/default2d.saved.matrix @@ -0,0 +1,12 @@ +# Output file: default2d.out.0 +Iterations = 23 +Final Relative Residual Norm = 6.824328e-07 + +# Output file: default2d.out.1 +Iterations = 23 +Final Relative Residual Norm = 6.824328e-07 + +# Output file: default2d.out.2 +Iterations = 23 +Final Relative Residual Norm = 6.824328e-07 + diff --git a/src/test/TEST_sstruct/default3d.saved.matrix b/src/test/TEST_sstruct/default3d.saved.matrix new file mode 100644 index 0000000000..56e56d2247 --- /dev/null +++ b/src/test/TEST_sstruct/default3d.saved.matrix @@ -0,0 +1,16 @@ +# Output file: default3d.out.0 +Iterations = 27 +Final Relative Residual Norm = 8.732652e-07 + +# Output file: default3d.out.1 +Iterations = 27 +Final Relative Residual Norm = 8.732652e-07 + +# Output file: default3d.out.2 +Iterations = 27 +Final Relative Residual Norm = 8.732652e-07 + +# Output file: default3d.out.3 +Iterations = 27 +Final Relative Residual Norm = 8.732652e-07 + diff --git a/src/test/TEST_sstruct/emptyProc.saved.matrix b/src/test/TEST_sstruct/emptyProc.saved.matrix new file mode 100644 index 0000000000..4592336bb5 --- /dev/null +++ b/src/test/TEST_sstruct/emptyProc.saved.matrix @@ -0,0 +1,132 @@ +# Output file: emptyProc.out.00 +Iterations = 16 +Final Relative Residual Norm = 5.185152e-07 + +# Output file: emptyProc.out.01 +Iterations = 4 +Final Relative Residual Norm = 1.228720e-07 + +# Output file: emptyProc.out.02 +Iterations = 9 +Final Relative Residual Norm = 2.723273e-07 + +# Output file: emptyProc.out.03 +Iterations = 8 +Final Relative Residual Norm = 3.134748e-07 + +# Output file: emptyProc.out.04 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: emptyProc.out.05 +Iterations = 9 +Final Relative Residual Norm = 6.100240e-07 + +# Output file: emptyProc.out.08 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: emptyProc.out.09 +Iterations = 4 +Final Relative Residual Norm = 1.175679e-07 + +# Output file: emptyProc.out.10 +Iterations = 9 +Final Relative Residual Norm = 4.322584e-07 + +# Output file: emptyProc.out.11 +Iterations = 64 +Final Relative Residual Norm = 9.962554e-07 + +# Output file: emptyProc.out.12 +Iterations = 9 +Final Relative Residual Norm = 7.982121e-07 + +# Output file: emptyProc.out.15 +Iterations = 2 +Final Relative Residual Norm = 1.699553e-07 + +# Output file: emptyProc.out.16 +Iterations = 5 +Final Relative Residual Norm = 1.651794e-07 + +# Output file: emptyProc.out.17 +Iterations = 14 +Final Relative Residual Norm = 6.421347e-07 + +# Output file: emptyProc.out.18 +Iterations = 5 +Final Relative Residual Norm = 6.241458e-07 + +# Output file: emptyProc.out.21 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: emptyProc.out.22 +Iterations = 5 +Final Relative Residual Norm = 1.375560e-07 + +# Output file: emptyProc.out.23 +Iterations = 16 +Final Relative Residual Norm = 5.185152e-07 + +# Output file: emptyProc.out.24 +Iterations = 16 +Final Relative Residual Norm = 5.185152e-07 + +# Output file: emptyProc.out.25 +Iterations = 4 +Final Relative Residual Norm = 1.228720e-07 + +# Output file: emptyProc.out.26 +Iterations = 8 +Final Relative Residual Norm = 3.134748e-07 + +# Output file: emptyProc.out.27 +Iterations = 11 +Final Relative Residual Norm = 5.333915e-07 + +# Output file: emptyProc.out.28 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: emptyProc.out.29 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: emptyProc.out.30 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: emptyProc.out.31 +Iterations = 4 +Final Relative Residual Norm = 1.175679e-07 + +# Output file: emptyProc.out.32 +Iterations = 9 +Final Relative Residual Norm = 1.247312e-07 + +# Output file: emptyProc.out.33 +Iterations = 20 +Final Relative Residual Norm = 7.280287e-07 + +# Output file: emptyProc.out.34 +Iterations = 64 +Final Relative Residual Norm = 9.962554e-07 + +# Output file: emptyProc.out.35 +Iterations = 2 +Final Relative Residual Norm = 1.699553e-07 + +# Output file: emptyProc.out.36 +Iterations = 4 +Final Relative Residual Norm = 9.386203e-07 + +# Output file: emptyProc.out.37 +Iterations = 8 +Final Relative Residual Norm = 2.986671e-08 + +# Output file: emptyProc.out.38 +Iterations = 14 +Final Relative Residual Norm = 6.421347e-07 + diff --git a/src/test/TEST_sstruct/io.saved.matrix b/src/test/TEST_sstruct/io.saved.matrix new file mode 100644 index 0000000000..70c4b2e113 --- /dev/null +++ b/src/test/TEST_sstruct/io.saved.matrix @@ -0,0 +1,112 @@ +# Output file: io.out.0P +Iterations = 40 +Final Relative Residual Norm = 6.360366e-07 + +# Output file: io.out.0R +Iterations = 40 +Final Relative Residual Norm = 6.360366e-07 + +# Output file: io.out.1P +Iterations = 20 +Final Relative Residual Norm = 8.532200e-07 + +# Output file: io.out.1R +Iterations = 20 +Final Relative Residual Norm = 8.532200e-07 + +# Output file: io.out.2P +Iterations = 23 +Final Relative Residual Norm = 8.435286e-07 + +# Output file: io.out.2R +Iterations = 23 +Final Relative Residual Norm = 8.435286e-07 + +# Output file: io.out.4P +Iterations = 65 +Final Relative Residual Norm = 9.321074e-07 + +# Output file: io.out.4R +Iterations = 65 +Final Relative Residual Norm = 9.321074e-07 + +# Output file: io.out.5P +Iterations = 64 +Final Relative Residual Norm = 9.708691e-04 + +# Output file: io.out.5R +Iterations = 64 +Final Relative Residual Norm = 9.708691e-04 + +# Output file: io.out.6P +Iterations = 60 +Final Relative Residual Norm = 8.657637e-07 + +# Output file: io.out.6R +Iterations = 60 +Final Relative Residual Norm = 8.657637e-07 + +# Output file: io.out.7P +Iterations = 27 +Final Relative Residual Norm = 4.507162e-07 + +# Output file: io.out.7R +Iterations = 27 +Final Relative Residual Norm = 4.507162e-07 + +# Output file: io.out.100P +Iterations = 40 +Final Relative Residual Norm = 6.360366e-07 + +# Output file: io.out.100R +Iterations = 40 +Final Relative Residual Norm = 6.360366e-07 + +# Output file: io.out.101P +Iterations = 20 +Final Relative Residual Norm = 8.532200e-07 + +# Output file: io.out.101R +Iterations = 20 +Final Relative Residual Norm = 8.532200e-07 + +# Output file: io.out.102P +Iterations = 23 +Final Relative Residual Norm = 8.435286e-07 + +# Output file: io.out.102R +Iterations = 23 +Final Relative Residual Norm = 8.435286e-07 + +# Output file: io.out.104P +Iterations = 65 +Final Relative Residual Norm = 9.321074e-07 + +# Output file: io.out.104R +Iterations = 65 +Final Relative Residual Norm = 9.321074e-07 + +# Output file: io.out.105P +Iterations = 64 +Final Relative Residual Norm = 9.708691e-04 + +# Output file: io.out.105R +Iterations = 64 +Final Relative Residual Norm = 9.708691e-04 + +# Output file: io.out.106P +Iterations = 60 +Final Relative Residual Norm = 8.657637e-07 + +# Output file: io.out.106R +Iterations = 60 +Final Relative Residual Norm = 8.657637e-07 + +# Output file: io.out.107P +Iterations = 27 +Final Relative Residual Norm = 4.507162e-07 + +# Output file: io.out.107R +Iterations = 27 +Final Relative Residual Norm = 4.507162e-07 + diff --git a/src/test/TEST_sstruct/miller.saved.matrix b/src/test/TEST_sstruct/miller.saved.matrix new file mode 100644 index 0000000000..1b0617b937 --- /dev/null +++ b/src/test/TEST_sstruct/miller.saved.matrix @@ -0,0 +1,80 @@ +# Output file: miller.out.0 +Iterations = 16 +Final Relative Residual Norm = 8.455333e-07 + +# Output file: miller.out.1 +Iterations = 7 +Final Relative Residual Norm = 3.361152e-07 + +# Output file: miller.out.2 +Iterations = 19 +Final Relative Residual Norm = 6.037878e-07 + +# Output file: miller.out.3 +Iterations = 9 +Final Relative Residual Norm = 2.315852e-07 + +# Output file: miller.out.10 +Iterations = 15 +Final Relative Residual Norm = 6.496892e-07 + +# Output file: miller.out.11 +Iterations = 9 +Final Relative Residual Norm = 4.304655e-07 + +# Output file: miller.out.12 +Iterations = 15 +Final Relative Residual Norm = 6.812253e-07 + +# Output file: miller.out.13 +Iterations = 7 +Final Relative Residual Norm = 6.184673e-07 + +# Output file: miller.out.20 +Iterations = 18 +Final Relative Residual Norm = 3.006677e-07 + +# Output file: miller.out.21 +Iterations = 7 +Final Relative Residual Norm = 1.958737e-07 + +# Output file: miller.out.22 +Iterations = 14 +Final Relative Residual Norm = 9.194802e-07 + +# Output file: miller.out.23 +Iterations = 8 +Final Relative Residual Norm = 1.733470e-07 + +# Output file: miller.out.30 +Iterations = 37 +Final Relative Residual Norm = 6.181674e-07 + +# Output file: miller.out.31 +Iterations = 7 +Final Relative Residual Norm = 7.661617e-07 + +# Output file: miller.out.32 +Iterations = 34 +Final Relative Residual Norm = 8.759786e-07 + +# Output file: miller.out.33 +Iterations = 11 +Final Relative Residual Norm = 2.673316e-07 + +# Output file: miller.out.40 +Iterations = 3 +Final Relative Residual Norm = 4.822192e-07 + +# Output file: miller.out.41 +Iterations = 2 +Final Relative Residual Norm = 2.571870e-07 + +# Output file: miller.out.42 +Iterations = 4 +Final Relative Residual Norm = 4.398907e-07 + +# Output file: miller.out.43 +Iterations = 3 +Final Relative Residual Norm = 3.093709e-07 + diff --git a/src/test/TEST_sstruct/neighborpart.saved.matrix b/src/test/TEST_sstruct/neighborpart.saved.matrix new file mode 100644 index 0000000000..ffb0408d51 --- /dev/null +++ b/src/test/TEST_sstruct/neighborpart.saved.matrix @@ -0,0 +1,76 @@ +# Output file: neighborpart.out.0 +Iterations = 96 +Final Relative Residual Norm = 9.348679e-07 + +# Output file: neighborpart.out.1 +Iterations = 96 +Final Relative Residual Norm = 9.348679e-07 + +# Output file: neighborpart.out.2 +Iterations = 96 +Final Relative Residual Norm = 9.348679e-07 + +# Output file: neighborpart.out.3 +Iterations = 96 +Final Relative Residual Norm = 9.348679e-07 + +# Output file: neighborpart.out.10 +Iterations = 16 +Final Relative Residual Norm = 4.551724e-07 + +# Output file: neighborpart.out.11 +Iterations = 16 +Final Relative Residual Norm = 4.551724e-07 + +# Output file: neighborpart.out.20 +Iterations = 48 +Final Relative Residual Norm = 8.933706e-07 + +# Output file: neighborpart.out.21 +Iterations = 48 +Final Relative Residual Norm = 8.933706e-07 + +# Output file: neighborpart.out.30 +Iterations = 16 +Final Relative Residual Norm = 4.498034e-07 + +# Output file: neighborpart.out.31 +Iterations = 16 +Final Relative Residual Norm = 4.498034e-07 + +# Output file: neighborpart.out.32 +Iterations = 16 +Final Relative Residual Norm = 4.498034e-07 + +# Output file: neighborpart.out.40 +Iterations = 48 +Final Relative Residual Norm = 8.804864e-07 + +# Output file: neighborpart.out.41 +Iterations = 48 +Final Relative Residual Norm = 8.804864e-07 + +# Output file: neighborpart.out.50 +Iterations = 48 +Final Relative Residual Norm = 8.604821e-07 + +# Output file: neighborpart.out.51 +Iterations = 48 +Final Relative Residual Norm = 8.604821e-07 + +# Output file: neighborpart.out.52 +Iterations = 48 +Final Relative Residual Norm = 8.604821e-07 + +# Output file: neighborpart.out.60 +Iterations = 5 +Final Relative Residual Norm = 1.823039e-18 + +# Output file: neighborpart.out.61 +Iterations = 5 +Final Relative Residual Norm = 1.823039e-18 + +# Output file: neighborpart.out.62 +Iterations = 5 +Final Relative Residual Norm = 1.823039e-18 + diff --git a/src/test/TEST_sstruct/neumann.saved.matrix b/src/test/TEST_sstruct/neumann.saved.matrix new file mode 100644 index 0000000000..1839e75b3e --- /dev/null +++ b/src/test/TEST_sstruct/neumann.saved.matrix @@ -0,0 +1,48 @@ +# Output file: neumann.out.0 +Iterations = 6 +Final Relative Residual Norm = 2.366245e-07 + +# Output file: neumann.out.1 +Iterations = 22 +Final Relative Residual Norm = 8.557340e-07 + +# Output file: neumann.out.2 +Iterations = 6 +Final Relative Residual Norm = 2.366245e-07 + +# Output file: neumann.out.3 +Iterations = 22 +Final Relative Residual Norm = 8.557340e-07 + +# Output file: neumann.out.10 +Iterations = 6 +Final Relative Residual Norm = 1.060090e-07 + +# Output file: neumann.out.11 +Iterations = 17 +Final Relative Residual Norm = 9.831767e-07 + +# Output file: neumann.out.12 +Iterations = 6 +Final Relative Residual Norm = 1.060090e-07 + +# Output file: neumann.out.13 +Iterations = 17 +Final Relative Residual Norm = 9.831767e-07 + +# Output file: neumann.out.20 +Iterations = 4 +Final Relative Residual Norm = 7.968831e-07 + +# Output file: neumann.out.21 +Iterations = 16 +Final Relative Residual Norm = 7.270873e-07 + +# Output file: neumann.out.22 +Iterations = 4 +Final Relative Residual Norm = 7.968831e-07 + +# Output file: neumann.out.23 +Iterations = 16 +Final Relative Residual Norm = 7.270873e-07 + diff --git a/src/test/TEST_sstruct/nonmixedint.saved.matrix b/src/test/TEST_sstruct/nonmixedint.saved.matrix new file mode 100644 index 0000000000..ed3862f98b --- /dev/null +++ b/src/test/TEST_sstruct/nonmixedint.saved.matrix @@ -0,0 +1,28 @@ +# Output file: nonmixedint.out.0 +Iterations = 7 +Final Relative Residual Norm = 2.672054e-07 + +# Output file: nonmixedint.out.1 +Iterations = 25 +Final Relative Residual Norm = 9.124482e-07 + +# Output file: nonmixedint.out.2 +Iterations = 7 +Final Relative Residual Norm = 3.319145e-07 + +# Output file: nonmixedint.out.3 +Iterations = 31 +Final Relative Residual Norm = 7.336388e-07 + +# Output file: nonmixedint.out.4 +Iterations = 15 +Final Relative Residual Norm = 6.369593e-07 + +# Output file: nonmixedint.out.5 +Iterations = 17 +Final Relative Residual Norm = 6.043891e-07 + +# Output file: nonmixedint.out.6 +Iterations = 8 +Final Relative Residual Norm = 7.771825e-07 + diff --git a/src/test/TEST_sstruct/periodic.saved.matrix b/src/test/TEST_sstruct/periodic.saved.matrix new file mode 100644 index 0000000000..9206147dd6 --- /dev/null +++ b/src/test/TEST_sstruct/periodic.saved.matrix @@ -0,0 +1,120 @@ +# Output file: periodic.out.20 +Iterations = 22 +Final Relative Residual Norm = 8.597337e-07 + +# Output file: periodic.out.21 +Iterations = 22 +Final Relative Residual Norm = 8.597337e-07 + +# Output file: periodic.out.30 +Iterations = 25 +Final Relative Residual Norm = 7.560049e-07 + +# Output file: periodic.out.31 +Iterations = 25 +Final Relative Residual Norm = 7.560049e-07 + +# Output file: periodic.out.40 +Iterations = 13 +Final Relative Residual Norm = 3.737891e-07 + +# Output file: periodic.out.41 +Iterations = 13 +Final Relative Residual Norm = 3.737891e-07 + +# Output file: periodic.out.42 +Iterations = 13 +Final Relative Residual Norm = 3.737891e-07 + +# Output file: periodic.out.50 +Iterations = 12 +Final Relative Residual Norm = 8.626903e-07 + +# Output file: periodic.out.51 +Iterations = 12 +Final Relative Residual Norm = 8.626903e-07 + +# Output file: periodic.out.52 +Iterations = 12 +Final Relative Residual Norm = 8.626903e-07 + +# Output file: periodic.out.60 +Iterations = 1 +Final Relative Residual Norm = 1.015323e-14 + +# Output file: periodic.out.61 +Iterations = 1 +Final Relative Residual Norm = 1.015323e-14 + +# Output file: periodic.out.62 +Iterations = 15 +Final Relative Residual Norm = 4.630743e-07 + +# Output file: periodic.out.63 +Iterations = 15 +Final Relative Residual Norm = 4.630743e-07 + +# Output file: periodic.out.65 +Iterations = 6 +Final Relative Residual Norm = 9.221005e-07 + +# Output file: periodic.out.66 +Iterations = 15 +Final Relative Residual Norm = 5.012817e-07 + +# Output file: periodic.out.67 +Iterations = 15 +Final Relative Residual Norm = 5.012817e-07 + +# Output file: periodic.out.70 +Iterations = 69 +Final Relative Residual Norm = 8.673863e-07 + +# Output file: periodic.out.80 +Iterations = 46 +Final Relative Residual Norm = 7.750679e-07 + +# Output file: periodic.out.81 +Iterations = 46 +Final Relative Residual Norm = 7.750679e-07 + +# Output file: periodic.out.82 +Iterations = 46 +Final Relative Residual Norm = 7.750679e-07 + +# Output file: periodic.out.83 +Iterations = 46 +Final Relative Residual Norm = 7.750679e-07 + +# Output file: periodic.out.84 +Iterations = 46 +Final Relative Residual Norm = 7.750679e-07 + +# Output file: periodic.out.85 +Iterations = 46 +Final Relative Residual Norm = 7.750679e-07 + +# Output file: periodic.out.90 +Iterations = 48 +Final Relative Residual Norm = 8.594333e-07 + +# Output file: periodic.out.91 +Iterations = 48 +Final Relative Residual Norm = 8.594333e-07 + +# Output file: periodic.out.92 +Iterations = 48 +Final Relative Residual Norm = 8.594333e-07 + +# Output file: periodic.out.93 +Iterations = 48 +Final Relative Residual Norm = 8.594333e-07 + +# Output file: periodic.out.94 +Iterations = 48 +Final Relative Residual Norm = 8.594333e-07 + +# Output file: periodic.out.95 +Iterations = 48 +Final Relative Residual Norm = 8.594333e-07 + diff --git a/src/test/TEST_sstruct/sharedpart.saved.matrix b/src/test/TEST_sstruct/sharedpart.saved.matrix new file mode 100644 index 0000000000..f4a08fac7c --- /dev/null +++ b/src/test/TEST_sstruct/sharedpart.saved.matrix @@ -0,0 +1,40 @@ +# Output file: sharedpart.out.0 +Iterations = 17 +Final Relative Residual Norm = 8.509105e-07 + +# Output file: sharedpart.out.1 +Iterations = 17 +Final Relative Residual Norm = 8.509105e-07 + +# Output file: sharedpart.out.2 +Iterations = 17 +Final Relative Residual Norm = 8.509105e-07 + +# Output file: sharedpart.out.3 +Iterations = 17 +Final Relative Residual Norm = 8.509105e-07 + +# Output file: sharedpart.out.10 +Iterations = 18 +Final Relative Residual Norm = 4.922026e-07 + +# Output file: sharedpart.out.11 +Iterations = 18 +Final Relative Residual Norm = 4.922026e-07 + +# Output file: sharedpart.out.50 +Iterations = 7 +Final Relative Residual Norm = 6.613426e-07 + +# Output file: sharedpart.out.51 +Iterations = 7 +Final Relative Residual Norm = 6.078964e-07 + +# Output file: sharedpart.out.52 +Iterations = 7 +Final Relative Residual Norm = 6.613426e-07 + +# Output file: sharedpart.out.53 +Iterations = 11 +Final Relative Residual Norm = 1.984668e-07 + diff --git a/src/test/TEST_sstruct/solvers.saved.matrix b/src/test/TEST_sstruct/solvers.saved.matrix new file mode 100644 index 0000000000..9d8c535427 --- /dev/null +++ b/src/test/TEST_sstruct/solvers.saved.matrix @@ -0,0 +1,304 @@ +# Output file: solvers.out.0 +Iterations = 24 +Final Relative Residual Norm = 6.429522e-07 + +# Output file: solvers.out.1 +Iterations = 24 +Final Relative Residual Norm = 6.494002e-07 + +# Output file: solvers.out.2 +Iterations = 25 +Final Relative Residual Norm = 9.124482e-07 + +# Output file: solvers.out.3 +Iterations = 25 +Final Relative Residual Norm = 9.124482e-07 + +# Output file: solvers.out.4 +Iterations = 8 +Final Relative Residual Norm = 3.394170e-07 + +# Output file: solvers.out.7 +Iterations = 28 +Final Relative Residual Norm = 7.409212e-07 + +# Output file: solvers.out.8 +Iterations = 28 +Final Relative Residual Norm = 7.222836e-07 + +# Output file: solvers.out.9 +Iterations = 30 +Final Relative Residual Norm = 9.036190e-07 + +# Output file: solvers.out.10 +Iterations = 30 +Final Relative Residual Norm = 9.036190e-07 + +# Output file: solvers.out.11 +Iterations = 8 +Final Relative Residual Norm = 4.151604e-07 + +# Output file: solvers.out.14 +Iterations = 11 +Final Relative Residual Norm = 8.131824e-07 + +# Output file: solvers.out.15 +Iterations = 9 +Final Relative Residual Norm = 6.612411e-07 + +# Output file: solvers.out.16 +Iterations = 28 +Final Relative Residual Norm = 7.409212e-07 + +# Output file: solvers.out.17 +Iterations = 28 +Final Relative Residual Norm = 7.222836e-07 + +# Output file: solvers.out.18 +Iterations = 30 +Final Relative Residual Norm = 9.036190e-07 + +# Output file: solvers.out.19 +Iterations = 8 +Final Relative Residual Norm = 4.151604e-07 + +# Output file: solvers.out.20 +Iterations = 8 +Final Relative Residual Norm = 4.151604e-07 + +# Output file: solvers.out.21 +Iterations = 16 +Final Relative Residual Norm = 5.860172e-07 + +# Output file: solvers.out.22 +Iterations = 16 +Final Relative Residual Norm = 5.860172e-07 + +# Output file: solvers.out.23 +Iterations = 19 +Final Relative Residual Norm = 5.410660e-07 + +# Output file: solvers.out.24 +Iterations = 5 +Final Relative Residual Norm = 3.620491e-07 + +# Output file: solvers.out.25 +Iterations = 5 +Final Relative Residual Norm = 3.620491e-07 + +# Output file: solvers.out.26 +Iterations = 8 +Final Relative Residual Norm = 3.073550e-07 + +# Output file: solvers.out.27 +Iterations = 20 +Final Relative Residual Norm = 8.067336e-07 + +# Output file: solvers.out.28 +Iterations = 20 +Final Relative Residual Norm = 8.064134e-07 + +# Output file: solvers.out.29 +Iterations = 27 +Final Relative Residual Norm = 9.804282e-07 + +# Output file: solvers.out.30 +Iterations = 10 +Final Relative Residual Norm = 8.496499e-07 + +# Output file: solvers.out.31 +Iterations = 10 +Final Relative Residual Norm = 8.496523e-07 + +# Output file: solvers.out.32 +Iterations = 16 +Final Relative Residual Norm = 6.483051e-07 + +# Output file: solvers.out.33 +Iterations = 11 +Final Relative Residual Norm = 9.305172e-07 + +# Output file: solvers.out.34 +Iterations = 11 +Final Relative Residual Norm = 9.305172e-07 + +# Output file: solvers.out.35 +Iterations = 15 +Final Relative Residual Norm = 6.735600e-07 + +# Output file: solvers.out.36 +Iterations = 33 +Final Relative Residual Norm = 9.815193e-07 + +# Output file: solvers.out.37 +Iterations = 33 +Final Relative Residual Norm = 9.815193e-07 + +# Output file: solvers.out.38 +Iterations = 20 +Final Relative Residual Norm = 7.473693e-07 + +# Output file: solvers.out.39 +Iterations = 20 +Final Relative Residual Norm = 5.943143e-07 + +# Output file: solvers.out.40 +Iterations = 28 +Final Relative Residual Norm = 7.278757e-07 + +# Output file: solvers.out.41 +Iterations = 17 +Final Relative Residual Norm = 7.137571e-07 + +# Output file: solvers.out.42 +Iterations = 17 +Final Relative Residual Norm = 7.137571e-07 + +# Output file: solvers.out.43 +Iterations = 19 +Final Relative Residual Norm = 8.794135e-07 + +# Output file: solvers.out.44 +Iterations = 16 +Final Relative Residual Norm = 5.860172e-07 + +# Output file: solvers.out.45 +Iterations = 16 +Final Relative Residual Norm = 5.860172e-07 + +# Output file: solvers.out.46 +Iterations = 5 +Final Relative Residual Norm = 3.620491e-07 + +# Output file: solvers.out.47 +Iterations = 5 +Final Relative Residual Norm = 3.620491e-07 + +# Output file: solvers.out.48 +Iterations = 19 +Final Relative Residual Norm = 9.442201e-07 + +# Output file: solvers.out.49 +Iterations = 19 +Final Relative Residual Norm = 9.442196e-07 + +# Output file: solvers.out.50 +Iterations = 9 +Final Relative Residual Norm = 3.648929e-07 + +# Output file: solvers.out.52 +Iterations = 10 +Final Relative Residual Norm = 5.460732e-07 + +# Output file: solvers.out.53 +Iterations = 10 +Final Relative Residual Norm = 5.501592e-07 + +# Output file: solvers.out.56 +Iterations = 9 +Final Relative Residual Norm = 2.912484e-07 + +# Output file: solvers.out.57 +Iterations = 9 +Final Relative Residual Norm = 2.831967e-07 + +# Output file: solvers.out.58 +Iterations = 15 +Final Relative Residual Norm = 7.580173e-07 + +# Output file: solvers.out.59 +Iterations = 15 +Final Relative Residual Norm = 7.582357e-07 + +# Output file: solvers.out.121 +Iterations = 8 +Final Relative Residual Norm = 1.773482e-07 + +# Output file: solvers.out.122 +Iterations = 8 +Final Relative Residual Norm = 1.773482e-07 + +# Output file: solvers.out.123 +Iterations = 8 +Final Relative Residual Norm = 5.357507e-07 + +# Output file: solvers.out.124 +Iterations = 4 +Final Relative Residual Norm = 9.477770e-07 + +# Output file: solvers.out.125 +Iterations = 4 +Final Relative Residual Norm = 9.477770e-07 + +# Output file: solvers.out.126 +Iterations = 6 +Final Relative Residual Norm = 9.016110e-08 + +# Output file: solvers.out.127 +Iterations = 9 +Final Relative Residual Norm = 4.581595e-07 + +# Output file: solvers.out.128 +Iterations = 9 +Final Relative Residual Norm = 4.582013e-07 + +# Output file: solvers.out.129 +Iterations = 6 +Final Relative Residual Norm = 4.955338e-07 + +# Output file: solvers.out.130 +Iterations = 6 +Final Relative Residual Norm = 4.954970e-07 + +# Output file: solvers.out.131 +Iterations = 8 +Final Relative Residual Norm = 3.403388e-07 + +# Output file: solvers.out.132 +Iterations = 7 +Final Relative Residual Norm = 1.153410e-07 + +# Output file: solvers.out.133 +Iterations = 7 +Final Relative Residual Norm = 1.153410e-07 + +# Output file: solvers.out.134 +Iterations = 8 +Final Relative Residual Norm = 3.862981e-07 + +# Output file: solvers.out.135 +Iterations = 11 +Final Relative Residual Norm = 5.085202e-07 + +# Output file: solvers.out.136 +Iterations = 11 +Final Relative Residual Norm = 5.085202e-07 + +# Output file: solvers.out.137 +Iterations = 14 +Final Relative Residual Norm = 4.469909e-07 + +# Output file: solvers.out.138 +Iterations = 9 +Final Relative Residual Norm = 4.653532e-07 + +# Output file: solvers.out.139 +Iterations = 9 +Final Relative Residual Norm = 4.437146e-07 + +# Output file: solvers.out.140 +Iterations = 11 +Final Relative Residual Norm = 2.586452e-07 + +# Output file: solvers.out.141 +Iterations = 8 +Final Relative Residual Norm = 3.969852e-07 + +# Output file: solvers.out.142 +Iterations = 8 +Final Relative Residual Norm = 3.969852e-07 + +# Output file: solvers.out.143 +Iterations = 9 +Final Relative Residual Norm = 6.839719e-07 + diff --git a/src/test/TEST_sstruct/sstruct_struct.saved.matrix b/src/test/TEST_sstruct/sstruct_struct.saved.matrix new file mode 100644 index 0000000000..fdbbe24bb6 --- /dev/null +++ b/src/test/TEST_sstruct/sstruct_struct.saved.matrix @@ -0,0 +1,64 @@ +# Output file: sstruct_struct.out.0 +Iterations = 5 +Final Relative Residual Norm = 2.753739e-07 + +# Output file: sstruct_struct.out.1 +Iterations = 16 +Final Relative Residual Norm = 6.891627e-07 + +# Output file: sstruct_struct.out.200 +Iterations = 5 +Final Relative Residual Norm = 2.753739e-07 + +# Output file: sstruct_struct.out.201 +Iterations = 16 +Final Relative Residual Norm = 6.891627e-07 + +# Output file: sstruct_struct.out.2D +Iterations = 15 +Final Relative Residual Norm = 3.544959e-07 + +# Output file: sstruct_struct.out.3Dx +Iterations = 15 +Final Relative Residual Norm = 3.544959e-07 + +# Output file: sstruct_struct.out.3Dy +Iterations = 15 +Final Relative Residual Norm = 3.544959e-07 + +# Output file: sstruct_struct.out.3Dz +Iterations = 15 +Final Relative Residual Norm = 3.544959e-07 + +# Output file: sstruct_struct.out.10 +Iterations = 8 +Final Relative Residual Norm = 3.476646e-07 + +# Output file: sstruct_struct.out.11 +Iterations = 8 +Final Relative Residual Norm = 3.476646e-07 + +# Output file: sstruct_struct.out.12 +Iterations = 8 +Final Relative Residual Norm = 3.476646e-07 + +# Output file: sstruct_struct.out.13 +Iterations = 8 +Final Relative Residual Norm = 3.476646e-07 + +# Output file: sstruct_struct.out.15 +Iterations = 23 +Final Relative Residual Norm = 9.655301e-07 + +# Output file: sstruct_struct.out.16 +Iterations = 23 +Final Relative Residual Norm = 9.655301e-07 + +# Output file: sstruct_struct.out.17 +Iterations = 23 +Final Relative Residual Norm = 9.655301e-07 + +# Output file: sstruct_struct.out.18 +Iterations = 23 +Final Relative Residual Norm = 9.655301e-07 + diff --git a/src/test/TEST_sstruct/symm.saved.matrix b/src/test/TEST_sstruct/symm.saved.matrix new file mode 100644 index 0000000000..4dde5774b1 --- /dev/null +++ b/src/test/TEST_sstruct/symm.saved.matrix @@ -0,0 +1,48 @@ +# Output file: symm.out.20 +Iterations = 54 +Final Relative Residual Norm = 7.004841e-07 + +# Output file: symm.out.21 +Iterations = 54 +Final Relative Residual Norm = 7.004841e-07 + +# Output file: symm.out.22 +Iterations = 54 +Final Relative Residual Norm = 7.004841e-07 + +# Output file: symm.out.23 +Iterations = 54 +Final Relative Residual Norm = 7.004841e-07 + +# Output file: symm.out.24 +Iterations = 54 +Final Relative Residual Norm = 7.004841e-07 + +# Output file: symm.out.25 +Iterations = 54 +Final Relative Residual Norm = 7.004841e-07 + +# Output file: symm.out.30 +Iterations = 63 +Final Relative Residual Norm = 9.483596e-07 + +# Output file: symm.out.31 +Iterations = 63 +Final Relative Residual Norm = 9.483596e-07 + +# Output file: symm.out.32 +Iterations = 63 +Final Relative Residual Norm = 9.483596e-07 + +# Output file: symm.out.33 +Iterations = 63 +Final Relative Residual Norm = 9.483596e-07 + +# Output file: symm.out.34 +Iterations = 63 +Final Relative Residual Norm = 9.483596e-07 + +# Output file: symm.out.35 +Iterations = 63 +Final Relative Residual Norm = 9.483596e-07 + diff --git a/src/test/TEST_sstruct/wide.saved.matrix b/src/test/TEST_sstruct/wide.saved.matrix new file mode 100644 index 0000000000..c8d4ab7c49 --- /dev/null +++ b/src/test/TEST_sstruct/wide.saved.matrix @@ -0,0 +1,8 @@ +# Output file: wide.out.1 +Iterations = 49 +Final Relative Residual Norm = 9.478906e-07 + +# Output file: wide.out.4 +Iterations = 49 +Final Relative Residual Norm = 9.478906e-07 + diff --git a/src/test/TEST_sstruct/zcube.saved.matrix b/src/test/TEST_sstruct/zcube.saved.matrix new file mode 100644 index 0000000000..7be9dfb34d --- /dev/null +++ b/src/test/TEST_sstruct/zcube.saved.matrix @@ -0,0 +1,8 @@ +# Output file: zcube.out.0 +Iterations = 43 +Final Relative Residual Norm = 9.942224e-07 + +# Output file: zcube.out.1 +Iterations = 43 +Final Relative Residual Norm = 9.942224e-07 + diff --git a/src/test/TEST_struct/cgpfmg3d.saved.matrix b/src/test/TEST_struct/cgpfmg3d.saved.matrix new file mode 100644 index 0000000000..088028770b --- /dev/null +++ b/src/test/TEST_struct/cgpfmg3d.saved.matrix @@ -0,0 +1,8 @@ +# Output file: cgpfmg3d.out.0 +Iterations = 9 +Final Relative Residual Norm = 4.287624e-07 + +# Output file: cgpfmg3d.out.1 +Iterations = 9 +Final Relative Residual Norm = 4.287624e-07 + diff --git a/src/test/TEST_struct/emptyproc.saved.matrix b/src/test/TEST_struct/emptyproc.saved.matrix new file mode 100644 index 0000000000..f1cf469b20 --- /dev/null +++ b/src/test/TEST_struct/emptyproc.saved.matrix @@ -0,0 +1,68 @@ +# Output file: emptyproc.out.00a +Iterations = 6 +Final Relative Residual Norm = 1.883632e-07 + +# Output file: emptyproc.out.01a +Iterations = 16 +Final Relative Residual Norm = 5.557193e-07 + +# Output file: emptyproc.out.01b +Iterations = 17 +Final Relative Residual Norm = 6.926794e-07 + +# Output file: emptyproc.out.03a +Iterations = 23 +Final Relative Residual Norm = 9.157321e-07 + +# Output file: emptyproc.out.03b +Iterations = 20 +Final Relative Residual Norm = 6.594761e-07 + +# Output file: emptyproc.out.04a +Iterations = 16 +Final Relative Residual Norm = 4.959904e-07 + +# Output file: emptyproc.out.04b +Iterations = 15 +Final Relative Residual Norm = 9.646051e-07 + +# Output file: emptyproc.out.11a +Iterations = 8 +Final Relative Residual Norm = 9.301342e-07 + +# Output file: emptyproc.out.13a +Iterations = 11 +Final Relative Residual Norm = 3.054686e-07 + +# Output file: emptyproc.out.14a +Iterations = 8 +Final Relative Residual Norm = 7.454892e-07 + +# Output file: emptyproc.out.17a +Iterations = 20 +Final Relative Residual Norm = 6.766509e-07 + +# Output file: emptyproc.out.18a +Iterations = 42 +Final Relative Residual Norm = 7.820632e-07 + +# Output file: emptyproc.out.21a +Iterations = 11 +Final Relative Residual Norm = 5.851154e-07 + +# Output file: emptyproc.out.31a +Iterations = 9 +Final Relative Residual Norm = 1.848351e-07 + +# Output file: emptyproc.out.41a +Iterations = 5 +Final Relative Residual Norm = 1.853522e-07 + +# Output file: emptyproc.out.51a +Iterations = 9 +Final Relative Residual Norm = 1.848351e-07 + +# Output file: emptyproc.out.61a +Iterations = 9 +Final Relative Residual Norm = 1.848351e-07 + diff --git a/src/test/TEST_struct/hybrid.saved.matrix b/src/test/TEST_struct/hybrid.saved.matrix new file mode 100644 index 0000000000..5054c85e2b --- /dev/null +++ b/src/test/TEST_struct/hybrid.saved.matrix @@ -0,0 +1,20 @@ +# Output file: hybrid.out.0 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: hybrid.out.1 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: hybrid.out.2 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: hybrid.out.3 +Iterations = 6 +Final Relative Residual Norm = 1.175679e-07 + +# Output file: hybrid.out.4 +Iterations = 10 +Final Relative Residual Norm = 3.092333e-07 + diff --git a/src/test/TEST_struct/hybridswitch.saved.matrix b/src/test/TEST_struct/hybridswitch.saved.matrix new file mode 100644 index 0000000000..c5ef6e03bb --- /dev/null +++ b/src/test/TEST_struct/hybridswitch.saved.matrix @@ -0,0 +1,32 @@ +# Output file: hybridswitch.out.0 +Iterations = 6 +Final Relative Residual Norm = 8.777304e-07 + +# Output file: hybridswitch.out.1 +Iterations = 11 +Final Relative Residual Norm = 4.303572e-07 + +# Output file: hybridswitch.out.2 +Iterations = 6 +Final Relative Residual Norm = 8.777304e-07 + +# Output file: hybridswitch.out.3 +Iterations = 4 +Final Relative Residual Norm = 7.591871e-07 + +# Output file: hybridswitch.out.4 +Iterations = 8 +Final Relative Residual Norm = 7.771813e-07 + +# Output file: hybridswitch.out.5 +Iterations = 36 +Final Relative Residual Norm = 9.833457e-07 + +# Output file: hybridswitch.out.6 +Iterations = 64 +Final Relative Residual Norm = 9.962554e-07 + +# Output file: hybridswitch.out.7 +Iterations = 64 +Final Relative Residual Norm = 9.962554e-07 + diff --git a/src/test/TEST_struct/io.saved.matrix b/src/test/TEST_struct/io.saved.matrix new file mode 100644 index 0000000000..df7d1d66a8 --- /dev/null +++ b/src/test/TEST_struct/io.saved.matrix @@ -0,0 +1,72 @@ +# Output file: io.out.1P +Iterations = 16 +Final Relative Residual Norm = 5.185152e-07 + +# Output file: io.out.1RA +Iterations = 16 +Final Relative Residual Norm = 5.185152e-07 + +# Output file: io.out.1RAb +Iterations = 16 +Final Relative Residual Norm = 5.185152e-07 + +# Output file: io.out.1RAbx +Iterations = 16 +Final Relative Residual Norm = 5.185152e-07 + +# Output file: io.out.3P +Iterations = 15 +Final Relative Residual Norm = 7.006196e-07 + +# Output file: io.out.3RA +Iterations = 15 +Final Relative Residual Norm = 7.006196e-07 + +# Output file: io.out.3RAb +Iterations = 15 +Final Relative Residual Norm = 7.006196e-07 + +# Output file: io.out.3RAbx +Iterations = 15 +Final Relative Residual Norm = 7.006196e-07 + +# Output file: io.out.4P +Iterations = 16 +Final Relative Residual Norm = 4.897881e-07 + +# Output file: io.out.4RA +Iterations = 16 +Final Relative Residual Norm = 4.897881e-07 + +# Output file: io.out.4RAb +Iterations = 16 +Final Relative Residual Norm = 4.897881e-07 + +# Output file: io.out.4RAbx +Iterations = 16 +Final Relative Residual Norm = 4.897881e-07 + +# Output file: io.out.101P +Iterations = 14 +Final Relative Residual Norm = 8.228245e-07 + +# Output file: io.out.101RAb +Iterations = 14 +Final Relative Residual Norm = 8.228245e-07 + +# Output file: io.out.103P +Iterations = 14 +Final Relative Residual Norm = 5.777016e-07 + +# Output file: io.out.103RAb +Iterations = 14 +Final Relative Residual Norm = 5.777016e-07 + +# Output file: io.out.104P +Iterations = 14 +Final Relative Residual Norm = 6.551070e-07 + +# Output file: io.out.104RAb +Iterations = 14 +Final Relative Residual Norm = 6.551070e-07 + diff --git a/src/test/TEST_struct/migrate.saved.matrix b/src/test/TEST_struct/migrate.saved.matrix new file mode 100644 index 0000000000..c913c5fc13 --- /dev/null +++ b/src/test/TEST_struct/migrate.saved.matrix @@ -0,0 +1,27 @@ +# Output file: migrate.out.10 +Check = 0 (success = 0) + +# Output file: migrate.out.11 +Check = 0 (success = 0) + +# Output file: migrate.out.12 +Check = 0 (success = 0) + +# Output file: migrate.out.20 +Check = 0 (success = 0) + +# Output file: migrate.out.21 +Check = 0 (success = 0) + +# Output file: migrate.out.22 +Check = 0 (success = 0) + +# Output file: migrate.out.30 +Check = 0 (success = 0) + +# Output file: migrate.out.31 +Check = 0 (success = 0) + +# Output file: migrate.out.32 +Check = 0 (success = 0) + diff --git a/src/test/TEST_struct/parflow.saved.matrix b/src/test/TEST_struct/parflow.saved.matrix new file mode 100644 index 0000000000..c3946d0d67 --- /dev/null +++ b/src/test/TEST_struct/parflow.saved.matrix @@ -0,0 +1,24 @@ +# Output file: parflow.out.0 +Iterations = 10 +Final Relative Residual Norm = 8.112584e-07 + +# Output file: parflow.out.1 +Iterations = 10 +Final Relative Residual Norm = 8.112584e-07 + +# Output file: parflow.out.2 +Iterations = 10 +Final Relative Residual Norm = 8.112584e-07 + +# Output file: parflow.out.3 +Iterations = 15 +Final Relative Residual Norm = 9.466307e-07 + +# Output file: parflow.out.4 +Iterations = 15 +Final Relative Residual Norm = 9.466307e-07 + +# Output file: parflow.out.5 +Iterations = 15 +Final Relative Residual Norm = 9.466307e-07 + diff --git a/src/test/TEST_struct/periodic.saved.matrix b/src/test/TEST_struct/periodic.saved.matrix new file mode 100644 index 0000000000..8a1daa7db5 --- /dev/null +++ b/src/test/TEST_struct/periodic.saved.matrix @@ -0,0 +1,64 @@ +# Output file: periodic.out.10 +Iterations = 16 +Final Relative Residual Norm = 5.765014e-07 + +# Output file: periodic.out.11 +Iterations = 16 +Final Relative Residual Norm = 5.765014e-07 + +# Output file: periodic.out.12 +Iterations = 16 +Final Relative Residual Norm = 5.765014e-07 + +# Output file: periodic.out.13 +Iterations = 16 +Final Relative Residual Norm = 5.765014e-07 + +# Output file: periodic.out.20 +Iterations = 23 +Final Relative Residual Norm = 6.111317e-07 + +# Output file: periodic.out.21 +Iterations = 23 +Final Relative Residual Norm = 6.111317e-07 + +# Output file: periodic.out.30 +Iterations = 21 +Final Relative Residual Norm = 4.973134e-07 + +# Output file: periodic.out.31 +Iterations = 21 +Final Relative Residual Norm = 4.973134e-07 + +# Output file: periodic.out.32 +Iterations = 21 +Final Relative Residual Norm = 4.973134e-07 + +# Output file: periodic.out.33 +Iterations = 21 +Final Relative Residual Norm = 4.973134e-07 + +# Output file: periodic.out.40 +Iterations = 43 +Final Relative Residual Norm = 8.515463e-07 + +# Output file: periodic.out.41 +Iterations = 43 +Final Relative Residual Norm = 8.515463e-07 + +# Output file: periodic.out.50 +Iterations = 7 +Final Relative Residual Norm = 3.701014e-07 + +# Output file: periodic.out.51 +Iterations = 7 +Final Relative Residual Norm = 3.701014e-07 + +# Output file: periodic.out.52 +Iterations = 7 +Final Relative Residual Norm = 3.701014e-07 + +# Output file: periodic.out.53 +Iterations = 7 +Final Relative Residual Norm = 3.701014e-07 + diff --git a/src/test/TEST_struct/pfmgbase1d.saved.matrix b/src/test/TEST_struct/pfmgbase1d.saved.matrix new file mode 100644 index 0000000000..af3f57c48f --- /dev/null +++ b/src/test/TEST_struct/pfmgbase1d.saved.matrix @@ -0,0 +1,8 @@ +# Output file: pfmgbase1d.out.0 +Iterations = 9 +Final Relative Residual Norm = 2.021867e-07 + +# Output file: pfmgbase1d.out.1 +Iterations = 9 +Final Relative Residual Norm = 2.021867e-07 + diff --git a/src/test/TEST_struct/pfmgbase2d.saved.matrix b/src/test/TEST_struct/pfmgbase2d.saved.matrix new file mode 100644 index 0000000000..e4b1c54724 --- /dev/null +++ b/src/test/TEST_struct/pfmgbase2d.saved.matrix @@ -0,0 +1,24 @@ +# Output file: pfmgbase2d.out.0 +Iterations = 13 +Final Relative Residual Norm = 3.655647e-07 + +# Output file: pfmgbase2d.out.1 +Iterations = 13 +Final Relative Residual Norm = 3.655647e-07 + +# Output file: pfmgbase2d.out.2 +Iterations = 13 +Final Relative Residual Norm = 3.655647e-07 + +# Output file: pfmgbase2d.out.3 +Iterations = 13 +Final Relative Residual Norm = 3.655647e-07 + +# Output file: pfmgbase2d.out.4 +Iterations = 13 +Final Relative Residual Norm = 3.655647e-07 + +# Output file: pfmgbase2d.out.5 +Iterations = 13 +Final Relative Residual Norm = 3.655647e-07 + diff --git a/src/test/TEST_struct/pfmgbase3d.saved.matrix b/src/test/TEST_struct/pfmgbase3d.saved.matrix new file mode 100644 index 0000000000..7d0a285c88 --- /dev/null +++ b/src/test/TEST_struct/pfmgbase3d.saved.matrix @@ -0,0 +1,32 @@ +# Output file: pfmgbase3d.out.0 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + +# Output file: pfmgbase3d.out.1 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + +# Output file: pfmgbase3d.out.2 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + +# Output file: pfmgbase3d.out.3 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + +# Output file: pfmgbase3d.out.4 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + +# Output file: pfmgbase3d.out.5 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + +# Output file: pfmgbase3d.out.6 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + +# Output file: pfmgbase3d.out.7 +Iterations = 10 +Final Relative Residual Norm = 3.298941e-07 + diff --git a/src/test/TEST_struct/pfmgconstcoeffmp.saved.matrix b/src/test/TEST_struct/pfmgconstcoeffmp.saved.matrix new file mode 100644 index 0000000000..6daf6dbfd0 --- /dev/null +++ b/src/test/TEST_struct/pfmgconstcoeffmp.saved.matrix @@ -0,0 +1,80 @@ +# Output file: pfmgconstcoeffmp.out.10 +Iterations = 13 +Final Relative Residual Norm = 5.378609e-07 + +# Output file: pfmgconstcoeffmp.out.11 +Iterations = 13 +Final Relative Residual Norm = 5.378609e-07 + +# Output file: pfmgconstcoeffmp.out.12 +Iterations = 12 +Final Relative Residual Norm = 3.999260e-07 + +# Output file: pfmgconstcoeffmp.out.13 +Iterations = 12 +Final Relative Residual Norm = 3.999260e-07 + +# Output file: pfmgconstcoeffmp.out.20 +Iterations = 19 +Final Relative Residual Norm = 5.033356e-07 + +# Output file: pfmgconstcoeffmp.out.21 +Iterations = 19 +Final Relative Residual Norm = 5.033356e-07 + +# Output file: pfmgconstcoeffmp.out.22 +Iterations = 15 +Final Relative Residual Norm = 8.833880e-07 + +# Output file: pfmgconstcoeffmp.out.23 +Iterations = 15 +Final Relative Residual Norm = 8.833880e-07 + +# Output file: pfmgconstcoeffmp.out.30 +Iterations = 100 +Final Relative Residual Norm = 1.165472e+00 + +# Output file: pfmgconstcoeffmp.out.31 +Iterations = 100 +Final Relative Residual Norm = 1.165472e+00 + +# Output file: pfmgconstcoeffmp.out.32 +Iterations = 43 +Final Relative Residual Norm = 9.925149e-07 + +# Output file: pfmgconstcoeffmp.out.33 +Iterations = 43 +Final Relative Residual Norm = 9.925149e-07 + +# Output file: pfmgconstcoeffmp.out.34 +Iterations = 14 +Final Relative Residual Norm = 5.920399e-07 + +# Output file: pfmgconstcoeffmp.out.35 +Iterations = 14 +Final Relative Residual Norm = 5.920399e-07 + +# Output file: pfmgconstcoeffmp.out.40 +Iterations = 18 +Final Relative Residual Norm = 8.028630e-07 + +# Output file: pfmgconstcoeffmp.out.41 +Iterations = 18 +Final Relative Residual Norm = 8.028630e-07 + +# Output file: pfmgconstcoeffmp.out.42 +Iterations = 16 +Final Relative Residual Norm = 6.851366e-07 + +# Output file: pfmgconstcoeffmp.out.43 +Iterations = 16 +Final Relative Residual Norm = 6.851366e-07 + +# Output file: pfmgconstcoeffmp.out.44 +Iterations = 13 +Final Relative Residual Norm = 9.856117e-07 + +# Output file: pfmgconstcoeffmp.out.45 +Iterations = 13 +Final Relative Residual Norm = 9.856117e-07 + diff --git a/src/test/TEST_struct/pfmgorient.saved.matrix b/src/test/TEST_struct/pfmgorient.saved.matrix new file mode 100644 index 0000000000..ad4e63f874 --- /dev/null +++ b/src/test/TEST_struct/pfmgorient.saved.matrix @@ -0,0 +1,12 @@ +# Output file: pfmgorient.out.0 +Iterations = 9 +Final Relative Residual Norm = 1.987658e-07 + +# Output file: pfmgorient.out.1 +Iterations = 9 +Final Relative Residual Norm = 1.987658e-07 + +# Output file: pfmgorient.out.2 +Iterations = 9 +Final Relative Residual Norm = 1.987658e-07 + diff --git a/src/test/TEST_struct/pfmgtest1d.saved.matrix b/src/test/TEST_struct/pfmgtest1d.saved.matrix new file mode 100644 index 0000000000..84e6234a6c --- /dev/null +++ b/src/test/TEST_struct/pfmgtest1d.saved.matrix @@ -0,0 +1,12 @@ +# Output file: pfmgtest1d.out.0 +Iterations = 9 +Final Relative Residual Norm = 2.021867e-07 + +# Output file: pfmgtest1d.out.1 +Iterations = 9 +Final Relative Residual Norm = 2.021867e-07 + +# Output file: pfmgtest1d.out.2 +Iterations = 9 +Final Relative Residual Norm = 2.021867e-07 + diff --git a/src/test/TEST_struct/pfmgvcycle.saved.matrix b/src/test/TEST_struct/pfmgvcycle.saved.matrix new file mode 100644 index 0000000000..f4304e4f79 --- /dev/null +++ b/src/test/TEST_struct/pfmgvcycle.saved.matrix @@ -0,0 +1,8 @@ +# Output file: pfmgvcycle.out.0 +Iterations = 30 +Final Relative Residual Norm = 8.360175e-07 + +# Output file: pfmgvcycle.out.1 +Iterations = 30 +Final Relative Residual Norm = 7.107142e-07 + diff --git a/src/test/TEST_struct/psmgbase3d.saved.matrix b/src/test/TEST_struct/psmgbase3d.saved.matrix new file mode 100644 index 0000000000..4fb7bfe522 --- /dev/null +++ b/src/test/TEST_struct/psmgbase3d.saved.matrix @@ -0,0 +1,20 @@ +# Output file: psmgbase3d.out.0 +Iterations = 6 +Final Relative Residual Norm = 7.016404e-07 + +# Output file: psmgbase3d.out.1 +Iterations = 6 +Final Relative Residual Norm = 7.016404e-07 + +# Output file: psmgbase3d.out.2 +Iterations = 6 +Final Relative Residual Norm = 7.016404e-07 + +# Output file: psmgbase3d.out.3 +Iterations = 6 +Final Relative Residual Norm = 7.016404e-07 + +# Output file: psmgbase3d.out.4 +Iterations = 6 +Final Relative Residual Norm = 7.016404e-07 + diff --git a/src/test/TEST_struct/psmgtest3d.saved.matrix b/src/test/TEST_struct/psmgtest3d.saved.matrix new file mode 100644 index 0000000000..1f7fa83644 --- /dev/null +++ b/src/test/TEST_struct/psmgtest3d.saved.matrix @@ -0,0 +1,8 @@ +# Output file: psmgtest3d.out.0 +Iterations = 5 +Final Relative Residual Norm = 6.944705e-08 + +# Output file: psmgtest3d.out.1 +Iterations = 5 +Final Relative Residual Norm = 6.944705e-08 + diff --git a/src/test/TEST_struct/smgbase1d.saved.matrix b/src/test/TEST_struct/smgbase1d.saved.matrix new file mode 100644 index 0000000000..5a24e4ac18 --- /dev/null +++ b/src/test/TEST_struct/smgbase1d.saved.matrix @@ -0,0 +1,8 @@ +# Output file: smgbase1d.out.0 +Iterations = 1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: smgbase1d.out.1 +Iterations = 1 +Final Relative Residual Norm = 0.000000e+00 + diff --git a/src/test/TEST_struct/smgbase2d.saved.matrix b/src/test/TEST_struct/smgbase2d.saved.matrix new file mode 100644 index 0000000000..fcde9fd3ef --- /dev/null +++ b/src/test/TEST_struct/smgbase2d.saved.matrix @@ -0,0 +1,20 @@ +# Output file: smgbase2d.out.0 +Iterations = 5 +Final Relative Residual Norm = 2.468039e-07 + +# Output file: smgbase2d.out.1 +Iterations = 5 +Final Relative Residual Norm = 2.468039e-07 + +# Output file: smgbase2d.out.2 +Iterations = 5 +Final Relative Residual Norm = 2.468039e-07 + +# Output file: smgbase2d.out.3 +Iterations = 5 +Final Relative Residual Norm = 2.468039e-07 + +# Output file: smgbase2d.out.4 +Iterations = 5 +Final Relative Residual Norm = 2.468039e-07 + diff --git a/src/test/TEST_struct/smgbase3d.saved.matrix b/src/test/TEST_struct/smgbase3d.saved.matrix new file mode 100644 index 0000000000..c697ff445e --- /dev/null +++ b/src/test/TEST_struct/smgbase3d.saved.matrix @@ -0,0 +1,24 @@ +# Output file: smgbase3d.out.0 +Iterations = 4 +Final Relative Residual Norm = 8.971901e-07 + +# Output file: smgbase3d.out.1 +Iterations = 4 +Final Relative Residual Norm = 8.971901e-07 + +# Output file: smgbase3d.out.2 +Iterations = 4 +Final Relative Residual Norm = 8.971901e-07 + +# Output file: smgbase3d.out.3 +Iterations = 4 +Final Relative Residual Norm = 8.971901e-07 + +# Output file: smgbase3d.out.4 +Iterations = 4 +Final Relative Residual Norm = 8.971901e-07 + +# Output file: smgbase3d.out.5 +Iterations = 4 +Final Relative Residual Norm = 8.971901e-07 + diff --git a/src/test/TEST_struct/smgtest1d.saved.matrix b/src/test/TEST_struct/smgtest1d.saved.matrix new file mode 100644 index 0000000000..fdf7e64d37 --- /dev/null +++ b/src/test/TEST_struct/smgtest1d.saved.matrix @@ -0,0 +1,12 @@ +# Output file: smgtest1d.out.0 +Iterations = 1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: smgtest1d.out.1 +Iterations = 1 +Final Relative Residual Norm = 0.000000e+00 + +# Output file: smgtest1d.out.2 +Iterations = 1 +Final Relative Residual Norm = 0.000000e+00 + diff --git a/src/test/TEST_struct/smgvcycle.saved.matrix b/src/test/TEST_struct/smgvcycle.saved.matrix new file mode 100644 index 0000000000..0e5dfa1311 --- /dev/null +++ b/src/test/TEST_struct/smgvcycle.saved.matrix @@ -0,0 +1,4 @@ +# Output file: smgvcycle.out.0 +Iterations = 7 +Final Relative Residual Norm = 3.621850e-07 + diff --git a/src/test/TEST_struct/solvers.saved.matrix b/src/test/TEST_struct/solvers.saved.matrix new file mode 100644 index 0000000000..9def633b4d --- /dev/null +++ b/src/test/TEST_struct/solvers.saved.matrix @@ -0,0 +1,20 @@ +# Output file: solvers.out.0 +Iterations = 4 +Final Relative Residual Norm = 7.846564e-07 + +# Output file: solvers.out.1 +Iterations = 8 +Final Relative Residual Norm = 5.298596e-07 + +# Output file: solvers.out.2 +Iterations = 20 +Final Relative Residual Norm = 6.913376e-07 + +# Output file: solvers.out.3 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + +# Output file: solvers.out.4 +Iterations = 20 +Final Relative Residual Norm = 5.962015e-07 + diff --git a/src/test/TEST_struct/vcpfmgRedBlackGS.saved.matrix b/src/test/TEST_struct/vcpfmgRedBlackGS.saved.matrix new file mode 100644 index 0000000000..3f4b468d27 --- /dev/null +++ b/src/test/TEST_struct/vcpfmgRedBlackGS.saved.matrix @@ -0,0 +1,47 @@ +# Output file: vcpfmgRedBlackGS.out.0 +Iterations = 5 +Final Relative Residual Norm = 3.344527e-07 + +# Output file: vcpfmgRedBlackGS.out.1 +Iterations = 5 +Final Relative Residual Norm = 3.344527e-07 + +# Output file: vcpfmgRedBlackGS.out.2 +Iterations = 5 +Final Relative Residual Norm = 3.344527e-07 + +# Output file: vcpfmgRedBlackGS.out.3 +Iterations = 5 +Final Relative Residual Norm = 3.344527e-07 + +# Output file: vcpfmgRedBlackGS.out.4 +Iterations = 5 +Final Relative Residual Norm = 3.344527e-07 + +# Output file: vcpfmgRedBlackGS.out.5 +Iterations = 5 +Final Relative Residual Norm = 3.344527e-07 + +# Output file: vcpfmgRedBlackGS.out.6 +Iterations = 10 +Final Relative Residual Norm = 5.540991e-07 + +# Output file: vcpfmgRedBlackGS.out.7 +Iterations = 10 +Final Relative Residual Norm = 5.540991e-07 + +# Output file: vcpfmgRedBlackGS.out.8 +Iterations = 10 +Final Relative Residual Norm = 5.540991e-07 + +# Output file: vcpfmgRedBlackGS.out.9 +Iterations = 10 +Final Relative Residual Norm = 5.540991e-07 + +# Output file: vcpfmgRedBlackGS.out.10 +Iterations = 10 +Final Relative Residual Norm = 5.540991e-07 + +# Output file: vcpfmgRedBlackGS.out.11 +Iterations = 10 +Final Relative Residual Norm = 5.540991e-07 diff --git a/src/test/TEST_struct/vdpfmgRedBlackGS.saved.matrix b/src/test/TEST_struct/vdpfmgRedBlackGS.saved.matrix new file mode 100644 index 0000000000..944a73081d --- /dev/null +++ b/src/test/TEST_struct/vdpfmgRedBlackGS.saved.matrix @@ -0,0 +1,48 @@ +# Output file: vdpfmgRedBlackGS.out.0 +Iterations = 5 +Final Relative Residual Norm = 1.616480e-07 + +# Output file: vdpfmgRedBlackGS.out.1 +Iterations = 5 +Final Relative Residual Norm = 1.616480e-07 + +# Output file: vdpfmgRedBlackGS.out.2 +Iterations = 5 +Final Relative Residual Norm = 1.616480e-07 + +# Output file: vdpfmgRedBlackGS.out.3 +Iterations = 5 +Final Relative Residual Norm = 1.616480e-07 + +# Output file: vdpfmgRedBlackGS.out.4 +Iterations = 5 +Final Relative Residual Norm = 1.616480e-07 + +# Output file: vdpfmgRedBlackGS.out.5 +Iterations = 5 +Final Relative Residual Norm = 1.616480e-07 + +# Output file: vdpfmgRedBlackGS.out.6 +Iterations = 9 +Final Relative Residual Norm = 8.392336e-07 + +# Output file: vdpfmgRedBlackGS.out.7 +Iterations = 9 +Final Relative Residual Norm = 8.392336e-07 + +# Output file: vdpfmgRedBlackGS.out.8 +Iterations = 9 +Final Relative Residual Norm = 8.392336e-07 + +# Output file: vdpfmgRedBlackGS.out.9 +Iterations = 9 +Final Relative Residual Norm = 8.392336e-07 + +# Output file: vdpfmgRedBlackGS.out.10 +Iterations = 9 +Final Relative Residual Norm = 8.392336e-07 + +# Output file: vdpfmgRedBlackGS.out.11 +Iterations = 9 +Final Relative Residual Norm = 8.392336e-07 + diff --git a/src/test/ams_driver.c b/src/test/ams_driver.c index 78ac7050d3..3e561347c0 100644 --- a/src/test/ams_driver.c +++ b/src/test/ams_driver.c @@ -143,13 +143,19 @@ main (hypre_int argc, * GPU Device binding * Must be done before HYPRE_Initialize() and should not be changed after *-----------------------------------------------------------------*/ - hypre_bind_device_id(-1, myid, num_procs, hypre_MPI_COMM_WORLD); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + hypre_bind_device_id(-1, myid, num_procs, hypre_MPI_COMM_WORLD); + } /*----------------------------------------------------------- * Initialize : must be the first HYPRE function to call *-----------------------------------------------------------*/ HYPRE_Initialize(); - HYPRE_DeviceInitialize(); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + HYPRE_DeviceInitialize(); + } /* default memory location */ HYPRE_SetMemoryLocation(memory_location); @@ -158,17 +164,20 @@ main (hypre_int argc, HYPRE_SetExecutionPolicy(default_exec_policy); #if defined(HYPRE_USING_GPU) + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { #if defined(HYPRE_USING_CUSPARSE) && CUSPARSE_VERSION >= 11000 - /* CUSPARSE_SPMV_ALG_DEFAULT doesn't provide deterministic results */ - HYPRE_SetSpMVUseVendor(0); + /* CUSPARSE_SPMV_ALG_DEFAULT doesn't provide deterministic results */ + HYPRE_SetSpMVUseVendor(0); #endif - /* use vendor implementation for SpGEMM */ - HYPRE_SetSpGemmUseVendor(0); + /* use vendor implementation for SpGEMM */ + HYPRE_SetSpGemmUseVendor(0); #if defined(HYPRE_USING_SYCL) - HYPRE_SetSpGemmUseVendor(1); + HYPRE_SetSpGemmUseVendor(1); #endif - /* use cuRand for PMIS */ - HYPRE_SetUseGpuRand(1); + /* use cuRand for PMIS */ + HYPRE_SetUseGpuRand(1); + } #endif /* Set defaults */ diff --git a/src/test/ij.c b/src/test/ij.c index 5227dc96b5..e803ec4979 100644 --- a/src/test/ij.c +++ b/src/test/ij.c @@ -322,7 +322,7 @@ main( hypre_int argc, HYPRE_Int cheby_scale = 1; HYPRE_Real cheby_fraction = .3; -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) #if defined(HYPRE_USING_CUSPARSE) && CUSPARSE_VERSION >= 11000 /* CUSPARSE_SPMV_ALG_DEFAULT doesn't provide deterministic results */ HYPRE_Int spmv_use_vendor = 0; @@ -340,6 +340,7 @@ main( hypre_int argc, HYPRE_Int spgemm_rowest_mtd = 3; HYPRE_Int spgemm_rowest_nsamples = -1; /* default */ HYPRE_Real spgemm_rowest_mult = -1.0; /* default */ + HYPRE_Int gpu_aware_mpi = 0; #endif HYPRE_Int nmv = 100; @@ -529,7 +530,16 @@ main( hypre_int argc, char mem_tracker_name[HYPRE_MAX_FILE_NAME_LEN] = {0}; #endif - HYPRE_Int gpu_aware_mpi = 0; + /* default execution policy and memory space */ +#if defined(HYPRE_TEST_USING_HOST) + HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_HOST; + HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_HOST; + HYPRE_ExecutionPolicy exec2_policy = HYPRE_EXEC_HOST; +#else + HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE; + HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_DEVICE; + HYPRE_ExecutionPolicy exec2_policy = HYPRE_EXEC_DEVICE; +#endif /* Initialize MPI */ hypre_MPI_Init(&argc, &argv); @@ -540,7 +550,12 @@ main( hypre_int argc, /* Should we test library initialization? */ for (arg_index = 1; arg_index < argc; arg_index ++) { - if (strcmp(argv[arg_index], "-test_init") == 0) + if ( strcmp(argv[arg_index], "-ll") == 0 ) + { + arg_index++; + log_level = atoi(argv[arg_index++]); + } + else if (strcmp(argv[arg_index], "-test_init") == 0) { test_init = 1; } @@ -552,13 +567,41 @@ main( hypre_int argc, { device_id = atoi(argv[++arg_index]); } + else if ( strcmp(argv[arg_index], "-memory_host") == 0 ) + { + memory_location = HYPRE_MEMORY_HOST; + } + else if ( strcmp(argv[arg_index], "-memory_device") == 0 ) + { + memory_location = HYPRE_MEMORY_DEVICE; + } + else if ( strcmp(argv[arg_index], "-exec_host") == 0 ) + { + default_exec_policy = HYPRE_EXEC_HOST; + } + else if ( strcmp(argv[arg_index], "-exec_device") == 0 ) + { + default_exec_policy = HYPRE_EXEC_DEVICE; + } + else if ( strcmp(argv[arg_index], "-exec2_host") == 0 ) + { + exec2_policy = HYPRE_EXEC_HOST; + } + else if ( strcmp(argv[arg_index], "-exec2_device") == 0 ) + { + exec2_policy = HYPRE_EXEC_DEVICE; + } } /*----------------------------------------------------------------- * GPU Device binding * Must be done before HYPRE_Initialize() and should not be changed after *-----------------------------------------------------------------*/ - hypre_bind_device_id(device_id, myid, num_procs, comm); + if (default_exec_policy == HYPRE_EXEC_DEVICE || + exec2_policy == HYPRE_EXEC_DEVICE ) + { + hypre_bind_device_id(device_id, myid, num_procs, comm); + } /*----------------------------------------------------------- * Initialize : must be the first HYPRE function to call @@ -573,6 +616,7 @@ main( hypre_int argc, } HYPRE_Initialize(); + HYPRE_SetExecutionPolicy(default_exec_policy); /* Check if the library is in initialized state */ if (HYPRE_Initialized() && !HYPRE_Finalized()) @@ -589,6 +633,7 @@ main( hypre_int argc, } HYPRE_Initialize(); + HYPRE_SetExecutionPolicy(default_exec_policy); /* Check if the library is in initialized state */ if (HYPRE_Initialized() && !HYPRE_Finalized()) @@ -614,9 +659,19 @@ main( hypre_int argc, HYPRE_Initialize(); - if (!lazy_device_init) + /* We set the execution policy early so that hypre_EndTiming + knows whether to call hypre_DeviceSync or not. */ + HYPRE_SetExecutionPolicy(default_exec_policy); + + if (!lazy_device_init && + (default_exec_policy == HYPRE_EXEC_DEVICE || exec2_policy == HYPRE_EXEC_DEVICE)) { HYPRE_DeviceInitialize(); + if (log_level > 0) + { + HYPRE_PrintDeviceInfo(); + hypre_MPI_Barrier(comm); + } } hypre_EndTiming(time_index); @@ -624,45 +679,6 @@ main( hypre_int argc, hypre_FinalizeTiming(time_index); hypre_ClearTiming(); - /* default execution policy and memory space */ -#if defined(HYPRE_TEST_USING_HOST) - HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_HOST; - HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_HOST; - HYPRE_ExecutionPolicy exec2_policy = HYPRE_EXEC_HOST; -#else - HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE; - HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_DEVICE; - HYPRE_ExecutionPolicy exec2_policy = HYPRE_EXEC_DEVICE; -#endif - - for (arg_index = 1; arg_index < argc; arg_index ++) - { - if ( strcmp(argv[arg_index], "-memory_host") == 0 ) - { - memory_location = HYPRE_MEMORY_HOST; - } - else if ( strcmp(argv[arg_index], "-memory_device") == 0 ) - { - memory_location = HYPRE_MEMORY_DEVICE; - } - else if ( strcmp(argv[arg_index], "-exec_host") == 0 ) - { - default_exec_policy = HYPRE_EXEC_HOST; - } - else if ( strcmp(argv[arg_index], "-exec_device") == 0 ) - { - default_exec_policy = HYPRE_EXEC_DEVICE; - } - else if ( strcmp(argv[arg_index], "-exec2_host") == 0 ) - { - exec2_policy = HYPRE_EXEC_HOST; - } - else if ( strcmp(argv[arg_index], "-exec2_device") == 0 ) - { - exec2_policy = HYPRE_EXEC_DEVICE; - } - } - if (hypre_GetExecPolicy1(memory_location) == HYPRE_EXEC_DEVICE) { keepTranspose = 1; @@ -713,12 +729,7 @@ main( hypre_int argc, while ( (arg_index < argc) && (!print_usage) ) { - if ( strcmp(argv[arg_index], "-ll") == 0 ) - { - arg_index++; - log_level = atoi(argv[arg_index++]); - } - else if ( strcmp(argv[arg_index], "-frombinfile") == 0 ) + if ( strcmp(argv[arg_index], "-frombinfile") == 0 ) { arg_index++; build_matrix_type = -2; @@ -1577,7 +1588,12 @@ main( hypre_int argc, fsai_kap_tolerance = (HYPRE_Real)atof(argv[arg_index++]); } /* end FSAI options */ -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) + else if ( strcmp(argv[arg_index], "-gpu_mpi") == 0 ) + { + arg_index++; + gpu_aware_mpi = atoi(argv[arg_index++]); + } else if ( strcmp(argv[arg_index], "-mm_vendor") == 0 ) { arg_index++; @@ -1673,11 +1689,6 @@ main( hypre_int argc, snprintf(mem_tracker_name, HYPRE_MAX_FILE_NAME_LEN, "%s", argv[arg_index++]); } #endif - else if ( strcmp(argv[arg_index], "-gpu_mpi") == 0 ) - { - arg_index++; - gpu_aware_mpi = atoi(argv[arg_index++]); - } else { arg_index++; @@ -2831,7 +2842,7 @@ main( hypre_int argc, /* default execution policy */ HYPRE_SetExecutionPolicy(default_exec_policy); -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) ierr = HYPRE_SetSpMVUseVendor(spmv_use_vendor); hypre_assert(ierr == 0); /* use vendor implementation for SpGEMM */ ierr = HYPRE_SetSpGemmUseVendor(spgemm_use_vendor); hypre_assert(ierr == 0); @@ -2842,9 +2853,8 @@ main( hypre_int argc, if (spgemm_rowest_mult > 0.0) { ierr = hypre_SetSpGemmRownnzEstimateMultFactor(spgemm_rowest_mult); hypre_assert(ierr == 0); } /* use cuRand for PMIS */ HYPRE_SetUseGpuRand(use_curand); -#endif - HYPRE_SetGpuAwareMPI(gpu_aware_mpi); +#endif /*----------------------------------------------------------- * Set up matrix @@ -9724,7 +9734,7 @@ main( hypre_int argc, #endif /* when using cuda-memcheck --leak-check full, uncomment this */ -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) hypre_ResetDevice(); #endif diff --git a/src/test/ij_assembly.c b/src/test/ij_assembly.c index e7d082401a..3af970c7f5 100644 --- a/src/test/ij_assembly.c +++ b/src/test/ij_assembly.c @@ -54,10 +54,6 @@ main( hypre_int argc, HYPRE_Int arg_index; HYPRE_Int time_index; HYPRE_Int print_usage; - HYPRE_MemoryLocation memory_location; -#if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) - HYPRE_ExecutionPolicy default_exec_policy; -#endif char memory_location_name[8]; HYPRE_Int nrows; HYPRE_BigInt num_nonzeros; @@ -86,23 +82,62 @@ main( hypre_int argc, HYPRE_Int early_assemble = 0; HYPRE_Real grow_factor = -1.0; + /* default execution policy and memory space */ +#if defined(HYPRE_TEST_USING_HOST) + HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_HOST; + HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_HOST; +#else + HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE; + HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_DEVICE; +#endif + /* Initialize MPI */ hypre_MPI_Init(&argc, &argv); hypre_MPI_Comm_size(comm, &num_procs ); hypre_MPI_Comm_rank(comm, &myid ); + /* Check memory location and exec policy */ + for (arg_index = 1; arg_index < argc; arg_index ++) + { + if ( strcmp(argv[arg_index], "-memory_host") == 0 ) + { + memory_location = HYPRE_MEMORY_HOST; + } + else if ( strcmp(argv[arg_index], "-memory_device") == 0 ) + { + memory_location = HYPRE_MEMORY_DEVICE; + } + else if ( strcmp(argv[arg_index], "-exec_host") == 0 ) + { + default_exec_policy = HYPRE_EXEC_HOST; + } + else if ( strcmp(argv[arg_index], "-exec_device") == 0 ) + { + default_exec_policy = HYPRE_EXEC_DEVICE; + } + } + /*----------------------------------------------------------------- * GPU Device binding * Must be done before HYPRE_Initialize() and should not be changed after *-----------------------------------------------------------------*/ - hypre_bind_device_id(-1, myid, num_procs, hypre_MPI_COMM_WORLD); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + hypre_bind_device_id(-1, myid, num_procs, hypre_MPI_COMM_WORLD); + } - /* Initialize Hypre */ /* Initialize Hypre: must be the first Hypre function to call */ time_index = hypre_InitializeTiming("Hypre init"); hypre_BeginTiming(time_index); + HYPRE_Initialize(); - HYPRE_DeviceInitialize(); + HYPRE_SetMemoryLocation(memory_location); + HYPRE_SetExecutionPolicy(default_exec_policy); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + HYPRE_DeviceInitialize(); + } + hypre_EndTiming(time_index); hypre_PrintTiming("Hypre init times", hypre_MPI_COMM_WORLD); hypre_FinalizeTiming(time_index); @@ -115,24 +150,21 @@ main( hypre_int argc, Py = 1; Pz = 1; - nx = 100; - ny = 101; - nz = 102; + nx = 50; + ny = 51; + nz = 52; cx = 1.0; cy = 2.0; cz = 3.0; -#if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) - default_exec_policy = HYPRE_EXEC_DEVICE; -#endif - memory_location = HYPRE_MEMORY_DEVICE; - mode = (1 << 7) - 1; - option = 1; - nchunks = 3; - base = 0; - print_matrix = 0; - stencil = 7; + mode = (1 << 7) - 1; + option = 1; + nchunks = 3; + base = 0; + stencil = 7; + + print_matrix = 0; /*----------------------------------------------------------- * Parse command line @@ -141,12 +173,7 @@ main( hypre_int argc, arg_index = 1; while ( (arg_index < argc) && (!print_usage) ) { - if ( strcmp(argv[arg_index], "-memory_location") == 0 ) - { - arg_index++; - memory_location = (HYPRE_MemoryLocation) atoi(argv[arg_index++]); - } - else if ( strcmp(argv[arg_index], "-P") == 0 ) + if ( strcmp(argv[arg_index], "-P") == 0 ) { arg_index++; Px = atoi(argv[arg_index++]); @@ -297,9 +324,11 @@ main( hypre_int argc, hypre_printf("\n"); } -#if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) - hypre_HandleDefaultExecPolicy(hypre_handle()) = default_exec_policy; -#endif + /* default memory location */ + HYPRE_SetMemoryLocation(memory_location); + + /* default execution policy */ + HYPRE_SetExecutionPolicy(default_exec_policy); #if defined(HYPRE_USING_OPENMP) if (hypre_GetExecPolicy1(memory_location) == HYPRE_EXEC_HOST) @@ -550,7 +579,7 @@ main( hypre_int argc, hypre_MPI_Finalize(); /* when using cuda-memcheck --leak-check full, uncomment this */ -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) hypre_ResetDevice(); #endif @@ -852,7 +881,7 @@ test_all(MPI_Comm comm, chunk_size = nrows / nchunks; -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) hypre_SyncDevice(); #if defined(CUDA_PROFILER) cudaProfilerStart(); @@ -931,7 +960,7 @@ test_all(MPI_Comm comm, } } -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) hypre_SyncDevice(); #if defined(CUDA_PROFILER) cudaProfilerStop(); diff --git a/src/test/ij_mm.c b/src/test/ij_mm.c index 10535ee670..70811040f6 100644 --- a/src/test/ij_mm.c +++ b/src/test/ij_mm.c @@ -977,6 +977,7 @@ main( hypre_int argc, } } +#if defined(HYPRE_USING_GPU) if (zero_mem_cost) { #ifdef HYPRE_USING_CUDA @@ -988,7 +989,9 @@ main( hypre_int argc, hypre_SetUserDeviceMalloc(gpu_alloc); hypre_SetUserDeviceMfree(gpu_free); } - +#else + (void) zero_mem_cost; +#endif /*----------------------------------------------------------- * Print usage info diff --git a/src/test/runtest.sh b/src/test/runtest.sh index 3357eeee73..9d866eab70 100755 --- a/src/test/runtest.sh +++ b/src/test/runtest.sh @@ -4,7 +4,6 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) - # global variables BatchMode=0 NoRun=0 @@ -19,7 +18,7 @@ TestDirNames="" # string of names of TEST_* directories used HOST=`hostname` NumThreads=0 # number of OpenMP threads to use if > 0 Valgrind="" # string to add to MpirunString when using valgrind -cudamemcheck="" # string to add to MpirunString when using cudamemcheck +gpumemcheck="" # string to add to MpirunString when using GPU memory checker mpibind="" # string to add to MpirunString when using mpibind script="" # string to add to MpirunString when using script SaveExt="saved" # saved file extension @@ -44,6 +43,7 @@ function usage printf " -save use '.saved. for the saved-file extension\n" printf " -valgrind use valgrind memory checker\n" printf " -cudamemcheck use CUDA memory checker\n" + printf " -cudasan use CUDA compute sanitizer\n" printf " -mpibind use mpibind\n" printf " -script use a script before the command\n" printf " -n|-norun turn off execute mode, echo what would be run\n" @@ -122,6 +122,10 @@ function MpirunString shift RunString="srun -n$1" ;; + matrix*) + shift + RunString="srun -n$1 --time=1 --overlap" + ;; node*) shift RunString="srun -n$1" @@ -138,7 +142,7 @@ function MpirunString NumArgs2=$(($#+1)) if [ "$NumArgs1" -eq "$NumArgs2" ] ; then shift - RunString="$RunString $script $mpibind $cudamemcheck $Valgrind $*" + RunString="$RunString $script $mpibind $gpumemcheck $Valgrind $*" #echo $RunString fi } @@ -518,11 +522,15 @@ do ;; -cudamemcheck) shift - cudamemcheck="cuda-memcheck --leak-check full" + gpumemcheck="cuda-memcheck --leak-check full" + ;; + -cudasan) + shift + gpumemcheck="compute-sanitizer" ;; -mpibind) shift - mpibind="mpibind" + mpibind="--mpibind=verbose:1" ;; -script) shift diff --git a/src/test/sstruct.c b/src/test/sstruct.c index b3ee48b864..aa7affddac 100644 --- a/src/test/sstruct.c +++ b/src/test/sstruct.c @@ -2712,7 +2712,7 @@ main( hypre_int argc, char mem_tracker_name[HYPRE_MAX_FILE_NAME_LEN] = {0}; #endif -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) #if defined(HYPRE_USING_SYCL) HYPRE_Int spgemm_use_vendor = 1; #else @@ -2755,16 +2755,39 @@ main( hypre_int argc, { device_id = atoi(argv[++arg_index]); } + else if ( strcmp(argv[arg_index], "-memory_host") == 0 ) + { + arg_index++; + memory_location = HYPRE_MEMORY_HOST; + } + else if ( strcmp(argv[arg_index], "-memory_device") == 0 ) + { + arg_index++; + memory_location = HYPRE_MEMORY_DEVICE; + } + else if ( strcmp(argv[arg_index], "-exec_host") == 0 ) + { + arg_index++; + default_exec_policy = HYPRE_EXEC_HOST; + } + else if ( strcmp(argv[arg_index], "-exec_device") == 0 ) + { + arg_index++; + default_exec_policy = HYPRE_EXEC_DEVICE; + } } - hypre_bind_device_id(device_id, myid, num_procs, comm); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + hypre_bind_device_id(device_id, myid, num_procs, comm); + } /*----------------------------------------------------------- * Initialize : must be the first HYPRE function to call *-----------------------------------------------------------*/ HYPRE_Initialize(); - if (!lazy_device_init) + if (!lazy_device_init && (default_exec_policy == HYPRE_EXEC_DEVICE)) { HYPRE_DeviceInitialize(); } @@ -2898,27 +2921,7 @@ main( hypre_int argc, arg_index++; log_level = atoi(argv[arg_index++]); } - else if ( strcmp(argv[arg_index], "-memory_host") == 0 ) - { - arg_index++; - memory_location = HYPRE_MEMORY_HOST; - } - else if ( strcmp(argv[arg_index], "-memory_device") == 0 ) - { - arg_index++; - memory_location = HYPRE_MEMORY_DEVICE; - } - else if ( strcmp(argv[arg_index], "-exec_host") == 0 ) - { - arg_index++; - default_exec_policy = HYPRE_EXEC_HOST; - } - else if ( strcmp(argv[arg_index], "-exec_device") == 0 ) - { - arg_index++; - default_exec_policy = HYPRE_EXEC_DEVICE; - } -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) else if ( strcmp(argv[arg_index], "-mm_vendor") == 0 ) { arg_index++; @@ -2967,7 +2970,7 @@ main( hypre_int argc, /* default execution policy */ HYPRE_SetExecutionPolicy(default_exec_policy); -#if defined(HYPRE_USING_GPU) +#if defined(HYPRE_USING_GPU) && !defined(HYPRE_TEST_USING_HOST) HYPRE_SetSpGemmUseVendor(spgemm_use_vendor); HYPRE_SetSpMVUseVendor(spmv_use_vendor); HYPRE_SetGpuAwareMPI(gpu_aware_mpi); diff --git a/src/test/struct.c b/src/test/struct.c index c16687d2dc..e52477abbe 100644 --- a/src/test/struct.c +++ b/src/test/struct.c @@ -241,22 +241,48 @@ main( hypre_int argc, { device_id = atoi(argv[++arg_index]); } + else if ( strcmp(argv[arg_index], "-memory_host") == 0 ) + { + arg_index++; + memory_location = HYPRE_MEMORY_HOST; + } + else if ( strcmp(argv[arg_index], "-memory_device") == 0 ) + { + arg_index++; + memory_location = HYPRE_MEMORY_DEVICE; + } + else if ( strcmp(argv[arg_index], "-exec_host") == 0 ) + { + arg_index++; + default_exec_policy = HYPRE_EXEC_HOST; + } + else if ( strcmp(argv[arg_index], "-exec_device") == 0 ) + { + arg_index++; + default_exec_policy = HYPRE_EXEC_DEVICE; + } } - hypre_bind_device_id(device_id, myid, num_procs, comm); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + hypre_bind_device_id(device_id, myid, num_procs, comm); + } /*----------------------------------------------------------- * Initialize : must be the first HYPRE function to call *-----------------------------------------------------------*/ HYPRE_Initialize(); - if (!lazy_device_init) + if (!lazy_device_init && (default_exec_policy == HYPRE_EXEC_DEVICE)) { HYPRE_DeviceInitialize(); } #if defined(HYPRE_USING_KOKKOS) - Kokkos::initialize (argc, argv); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + Kokkos::initialize (argc, argv); + } #endif /*----------------------------------------------------------- @@ -633,26 +659,6 @@ main( hypre_int argc, arg_index++; printLevel = atoi(argv[arg_index++]); } - else if ( strcmp(argv[arg_index], "-memory_host") == 0 ) - { - arg_index++; - memory_location = HYPRE_MEMORY_HOST; - } - else if ( strcmp(argv[arg_index], "-memory_device") == 0 ) - { - arg_index++; - memory_location = HYPRE_MEMORY_DEVICE; - } - else if ( strcmp(argv[arg_index], "-exec_host") == 0 ) - { - arg_index++; - default_exec_policy = HYPRE_EXEC_HOST; - } - else if ( strcmp(argv[arg_index], "-exec_device") == 0 ) - { - arg_index++; - default_exec_policy = HYPRE_EXEC_DEVICE; - } #if defined(HYPRE_USING_MEMORY_TRACKER) else if ( strcmp(argv[arg_index], "-print_mem_tracker") == 0 ) { @@ -3029,7 +3035,10 @@ main( hypre_int argc, } #if defined(HYPRE_USING_KOKKOS) - Kokkos::finalize(); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + Kokkos::finalize(); + } #endif /* Finalize Hypre */ diff --git a/src/test/struct_migrate.c b/src/test/struct_migrate.c index 8a6c8230d5..d106a548c3 100644 --- a/src/test/struct_migrate.c +++ b/src/test/struct_migrate.c @@ -54,6 +54,14 @@ main( hypre_int argc, HYPRE_Real check; +#if defined(HYPRE_TEST_USING_HOST) + HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_HOST; + HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_HOST; +#else + HYPRE_MemoryLocation memory_location = HYPRE_MEMORY_DEVICE; + HYPRE_ExecutionPolicy default_exec_policy = HYPRE_EXEC_DEVICE; +#endif + /*----------------------------------------------------------- * Initialize some stuff *-----------------------------------------------------------*/ @@ -67,16 +75,31 @@ main( hypre_int argc, * GPU Device binding * Must be done before HYPRE_Initialize() and should not be changed after *-----------------------------------------------------------------*/ - hypre_bind_device_id(-1, myid, num_procs, hypre_MPI_COMM_WORLD); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + hypre_bind_device_id(-1, myid, num_procs, hypre_MPI_COMM_WORLD); + } /*----------------------------------------------------------- * Initialize : must be the first HYPRE function to call *-----------------------------------------------------------*/ HYPRE_Initialize(); - HYPRE_DeviceInitialize(); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + HYPRE_DeviceInitialize(); + } + + /* default memory location */ + HYPRE_SetMemoryLocation(memory_location); + + /* default execution policy */ + HYPRE_SetExecutionPolicy(default_exec_policy); #if defined(HYPRE_USING_KOKKOS) - Kokkos::initialize (argc, argv); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + Kokkos::initialize (argc, argv); + } #endif /*----------------------------------------------------------- @@ -421,7 +444,10 @@ main( hypre_int argc, HYPRE_StructVectorDestroy(check_vector); #if defined(HYPRE_USING_KOKKOS) - Kokkos::finalize (); + if (default_exec_policy == HYPRE_EXEC_DEVICE) + { + Kokkos::finalize(); + } #endif /* Finalize Hypre */ diff --git a/src/utilities/_hypre_utilities.h b/src/utilities/_hypre_utilities.h index eb0041ddf7..ef127eb3e7 100644 --- a/src/utilities/_hypre_utilities.h +++ b/src/utilities/_hypre_utilities.h @@ -119,10 +119,12 @@ extern "C++" #define HYPRE_UMPIRE_POOL_NAME_MAX_LEN 1024 #endif /* defined(HYPRE_USING_UMPIRE) */ +#if defined(HYPRE_USING_GPU) struct hypre_DeviceData; typedef struct hypre_DeviceData hypre_DeviceData; typedef void (*GPUMallocFunc)(void **, size_t); typedef void (*GPUMfreeFunc)(void *); +#endif typedef struct { @@ -138,19 +140,13 @@ typedef struct HYPRE_Int struct_comm_recv_buffer_size; HYPRE_Int struct_comm_send_buffer_size; - /* GPU MPI */ -#if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) - HYPRE_Int use_gpu_aware_mpi; -#endif - #if defined(HYPRE_USING_GPU) hypre_DeviceData *device_data; - HYPRE_Int device_gs_method; /* device G-S options */ -#endif /* user malloc/free function pointers */ GPUMallocFunc user_device_malloc; GPUMfreeFunc user_device_free; +#endif #if defined(HYPRE_USING_UMPIRE) char umpire_device_pool_name[HYPRE_UMPIRE_POOL_NAME_MAX_LEN]; @@ -186,9 +182,8 @@ typedef struct #define hypre_HandleStructCommSendBufferSize(hypre_handle) ((hypre_handle) -> struct_comm_send_buffer_size) #define hypre_HandleDeviceData(hypre_handle) ((hypre_handle) -> device_data) -#define hypre_HandleDeviceGSMethod(hypre_handle) ((hypre_handle) -> device_gs_method) -#define hypre_HandleUseGpuAwareMPI(hypre_handle) ((hypre_handle) -> use_gpu_aware_mpi) - +#define hypre_HandleDeviceGSMethod(hypre_handle) hypre_DeviceDataGSMethod(hypre_HandleDeviceData(hypre_handle)) +#define hypre_HandleUseGpuAwareMPI(hypre_handle) hypre_DeviceDataUseGpuAwareMPI(hypre_HandleDeviceData(hypre_handle)) #define hypre_HandleCurandGenerator(hypre_handle) hypre_DeviceDataCurandGenerator(hypre_HandleDeviceData(hypre_handle)) #define hypre_HandleCublasHandle(hypre_handle) hypre_DeviceDataCublasHandle(hypre_HandleDeviceData(hypre_handle)) #define hypre_HandleCusparseHandle(hypre_handle) hypre_DeviceDataCusparseHandle(hypre_HandleDeviceData(hypre_handle)) @@ -2458,10 +2453,13 @@ HYPRE_Int hypre_SetSpGemmRownnzEstimateMultFactor( HYPRE_Real value ); HYPRE_Int hypre_SetSpGemmHashType( char value ); HYPRE_Int hypre_SetUseGpuRand( HYPRE_Int use_gpurand ); HYPRE_Int hypre_SetGaussSeidelMethod( HYPRE_Int gs_method ); -HYPRE_Int hypre_SetUserDeviceMalloc(GPUMallocFunc func); -HYPRE_Int hypre_SetUserDeviceMfree(GPUMfreeFunc func); +HYPRE_Int hypre_GetDeviceGSMethod( void ); HYPRE_Int hypre_SetGpuAwareMPI( HYPRE_Int use_gpu_aware_mpi ); -HYPRE_Int hypre_GetGpuAwareMPI(void); +HYPRE_Int hypre_GetGpuAwareMPI( void ); +#if defined(HYPRE_USING_GPU) +HYPRE_Int hypre_SetUserDeviceMalloc( GPUMallocFunc func ); +HYPRE_Int hypre_SetUserDeviceMfree( GPUMfreeFunc func ); +#endif /* int_array.c */ hypre_IntArray* hypre_IntArrayCreate( HYPRE_Int size ); diff --git a/src/utilities/_hypre_utilities.hpp b/src/utilities/_hypre_utilities.hpp index aa0f71c00d..eb3f2dadc3 100644 --- a/src/utilities/_hypre_utilities.hpp +++ b/src/utilities/_hypre_utilities.hpp @@ -1004,6 +1004,8 @@ struct hypre_DeviceData HYPRE_Int device; HYPRE_Int device_uvm; #endif + HYPRE_Int use_gpu_aware_mpi; + HYPRE_Int gs_method; /* device G-S options */ hypre_int device_max_shmem_per_block[3]; /* by default, hypre puts GPU computations in this stream * Do not be confused with the default (null) stream */ @@ -1034,6 +1036,8 @@ struct hypre_DeviceData #define hypre_DeviceDataDevice(data) ((data) -> device) #define hypre_DeviceDataDeviceUVM(data) ((data) -> device_uvm) #define hypre_DeviceDataDeviceMaxWorkGroupSize(data) ((data) -> device_max_work_group_size) +#define hypre_DeviceDataUseGpuAwareMPI(data) ((data) -> use_gpu_aware_mpi) +#define hypre_DeviceDataGSMethod(data) ((data) -> gs_method) #define hypre_DeviceDataDeviceMaxShmemPerBlock(data) ((data) -> device_max_shmem_per_block) #define hypre_DeviceDataDeviceMaxShmemPerBlockInited(data) (((data) -> device_max_shmem_per_block)[2]) #define hypre_DeviceDataComputeStreamNum(data) ((data) -> compute_stream_num) diff --git a/src/utilities/_hypre_utilities_mup.h b/src/utilities/_hypre_utilities_mup.h index 06febb7164..9316e87894 100644 --- a/src/utilities/_hypre_utilities_mup.h +++ b/src/utilities/_hypre_utilities_mup.h @@ -279,6 +279,13 @@ hypre_GetDeviceCount_dbl( hypre_int *device_count ); HYPRE_Int hypre_GetDeviceCount_long_dbl( hypre_int *device_count ); +HYPRE_Int +hypre_GetDeviceGSMethod_flt( void ); +HYPRE_Int +hypre_GetDeviceGSMethod_dbl( void ); +HYPRE_Int +hypre_GetDeviceGSMethod_long_dbl( void ); + HYPRE_Int hypre_GetDeviceLastError_flt( void ); HYPRE_Int @@ -1210,20 +1217,6 @@ hypre_SetUseGpuRand_dbl( HYPRE_Int use_gpurand ); HYPRE_Int hypre_SetUseGpuRand_long_dbl( HYPRE_Int use_gpurand ); -HYPRE_Int -hypre_SetUserDeviceMalloc_flt( GPUMallocFunc func ); -HYPRE_Int -hypre_SetUserDeviceMalloc_dbl( GPUMallocFunc func ); -HYPRE_Int -hypre_SetUserDeviceMalloc_long_dbl( GPUMallocFunc func ); - -HYPRE_Int -hypre_SetUserDeviceMfree_flt( GPUMfreeFunc func ); -HYPRE_Int -hypre_SetUserDeviceMfree_dbl( GPUMfreeFunc func ); -HYPRE_Int -hypre_SetUserDeviceMfree_long_dbl( GPUMfreeFunc func ); - HYPRE_Int hypre_UniqueIntArrayND_flt( HYPRE_Int ndim, HYPRE_Int *size, HYPRE_Int **array ); HYPRE_Int diff --git a/src/utilities/_hypre_utilities_mup_def.h b/src/utilities/_hypre_utilities_mup_def.h index faf15acc0e..5a642bb922 100644 --- a/src/utilities/_hypre_utilities_mup_def.h +++ b/src/utilities/_hypre_utilities_mup_def.h @@ -85,6 +85,7 @@ #define hypre_Free HYPRE_FIXEDPRECISION_FUNC ( hypre_Free ) #define hypre_GetDevice HYPRE_FIXEDPRECISION_FUNC ( hypre_GetDevice ) #define hypre_GetDeviceCount HYPRE_FIXEDPRECISION_FUNC ( hypre_GetDeviceCount ) +#define hypre_GetDeviceGSMethod HYPRE_FIXEDPRECISION_FUNC ( hypre_GetDeviceGSMethod ) #define hypre_GetDeviceLastError HYPRE_FIXEDPRECISION_FUNC ( hypre_GetDeviceLastError ) #define hypre_GetDeviceMaxShmemSize HYPRE_FIXEDPRECISION_FUNC ( hypre_GetDeviceMaxShmemSize ) #define hypre_GetExecPolicy1 HYPRE_FIXEDPRECISION_FUNC ( hypre_GetExecPolicy1 ) @@ -220,8 +221,6 @@ #define hypre_SetSpMVUseVendor HYPRE_FIXEDPRECISION_FUNC ( hypre_SetSpMVUseVendor ) #define hypre_SetSpTransUseVendor HYPRE_FIXEDPRECISION_FUNC ( hypre_SetSpTransUseVendor ) #define hypre_SetUseGpuRand HYPRE_FIXEDPRECISION_FUNC ( hypre_SetUseGpuRand ) -#define hypre_SetUserDeviceMalloc HYPRE_FIXEDPRECISION_FUNC ( hypre_SetUserDeviceMalloc ) -#define hypre_SetUserDeviceMfree HYPRE_FIXEDPRECISION_FUNC ( hypre_SetUserDeviceMfree ) #define hypre_UniqueIntArrayND HYPRE_FIXEDPRECISION_FUNC ( hypre_UniqueIntArrayND ) #define hypre_UnorderedBigIntMapCreate HYPRE_FIXEDPRECISION_FUNC ( hypre_UnorderedBigIntMapCreate ) #define hypre_UnorderedBigIntMapDestroy HYPRE_FIXEDPRECISION_FUNC ( hypre_UnorderedBigIntMapDestroy ) diff --git a/src/utilities/_hypre_utilities_mup_undef.h b/src/utilities/_hypre_utilities_mup_undef.h index ec35cb31a3..ed4f1ffa15 100644 --- a/src/utilities/_hypre_utilities_mup_undef.h +++ b/src/utilities/_hypre_utilities_mup_undef.h @@ -82,6 +82,7 @@ #undef hypre_Free #undef hypre_GetDevice #undef hypre_GetDeviceCount +#undef hypre_GetDeviceGSMethod #undef hypre_GetDeviceLastError #undef hypre_GetDeviceMaxShmemSize #undef hypre_GetExecPolicy1 @@ -217,8 +218,6 @@ #undef hypre_SetSpMVUseVendor #undef hypre_SetSpTransUseVendor #undef hypre_SetUseGpuRand -#undef hypre_SetUserDeviceMalloc -#undef hypre_SetUserDeviceMfree #undef hypre_UniqueIntArrayND #undef hypre_UnorderedBigIntMapCreate #undef hypre_UnorderedBigIntMapDestroy diff --git a/src/utilities/device_utils.c b/src/utilities/device_utils.c index fc84184260..c3dbb07ff2 100644 --- a/src/utilities/device_utils.c +++ b/src/utilities/device_utils.c @@ -27,12 +27,18 @@ hypre_DeviceDataCreate() avoid a segmentation fault when building with HYPRE_USING_UMPIRE_HOST */ hypre_DeviceData *data = (hypre_DeviceData*) calloc(1, sizeof(hypre_DeviceData)); + hypre_DeviceDataGSMethod(data) = 1; /* SpTrSV - CPU: 0; Vendor: 1 */ + hypre_DeviceDataComputeStreamNum(data) = 0; #if defined(HYPRE_USING_SYCL) hypre_DeviceDataDevice(data) = nullptr; #else hypre_DeviceDataDevice(data) = 0; #endif - hypre_DeviceDataComputeStreamNum(data) = 0; +#if defined(HYPRE_USING_GPU_AWARE_MPI) + hypre_DeviceDataUseGpuAwareMPI(data) = 1; +#else + hypre_DeviceDataUseGpuAwareMPI(data) = 0; +#endif /* SpMV, SpGeMM, SpTrans: use vendor's lib by default */ #if defined(HYPRE_USING_CUSPARSE) || defined(HYPRE_USING_ROCSPARSE) || defined(HYPRE_USING_ONEMKLSPARSE) @@ -86,7 +92,7 @@ hypre_DeviceDataDestroy(hypre_DeviceData *data) return; } - hypre_TFree(hypre_DeviceDataReduceBuffer(data), HYPRE_MEMORY_DEVICE); + hypre_TFree(hypre_DeviceDataReduceBuffer(data), HYPRE_MEMORY_DEVICE); #if defined(HYPRE_USING_CURAND) if (data->curand_generator) @@ -3044,6 +3050,7 @@ hypre_bind_device_id( HYPRE_Int device_id_in, #if defined(HYPRE_DEBUG) && defined(HYPRE_PRINT_ERRORS) hypre_printf("Proc [global %d/%d, local %d/%d] can see %d GPUs and is running on %d\n", myid, nproc, myNodeid, NodeSize, nDevices, device_id); + hypre_MPI_Barrier(comm); #endif #else diff --git a/src/utilities/device_utils.h b/src/utilities/device_utils.h index 3a73e34518..feca41719f 100644 --- a/src/utilities/device_utils.h +++ b/src/utilities/device_utils.h @@ -786,6 +786,8 @@ struct hypre_DeviceData HYPRE_Int device; HYPRE_Int device_uvm; #endif + HYPRE_Int use_gpu_aware_mpi; + HYPRE_Int gs_method; /* device G-S options */ hypre_int device_max_shmem_per_block[3]; /* by default, hypre puts GPU computations in this stream * Do not be confused with the default (null) stream */ @@ -816,6 +818,8 @@ struct hypre_DeviceData #define hypre_DeviceDataDevice(data) ((data) -> device) #define hypre_DeviceDataDeviceUVM(data) ((data) -> device_uvm) #define hypre_DeviceDataDeviceMaxWorkGroupSize(data) ((data) -> device_max_work_group_size) +#define hypre_DeviceDataUseGpuAwareMPI(data) ((data) -> use_gpu_aware_mpi) +#define hypre_DeviceDataGSMethod(data) ((data) -> gs_method) #define hypre_DeviceDataDeviceMaxShmemPerBlock(data) ((data) -> device_max_shmem_per_block) #define hypre_DeviceDataDeviceMaxShmemPerBlockInited(data) (((data) -> device_max_shmem_per_block)[2]) #define hypre_DeviceDataComputeStreamNum(data) ((data) -> compute_stream_num) diff --git a/src/utilities/general.c b/src/utilities/general.c index 68a5dd099f..9e6dccd490 100644 --- a/src/utilities/general.c +++ b/src/utilities/general.c @@ -43,26 +43,15 @@ hypre_HandleCreate(void) avoid a segmentation fault when building with HYPRE_USING_UMPIRE_HOST */ hypre_Handle *hypre_handle_ = (hypre_Handle*) calloc(1, sizeof(hypre_Handle)); - hypre_HandleLogLevel(hypre_handle_) = 0; - hypre_HandleLogLevelSaved(hypre_handle_) = 0; - hypre_HandleMemoryLocation(hypre_handle_) = HYPRE_MEMORY_DEVICE; + hypre_HandleLogLevel(hypre_handle_) = 0; + hypre_HandleLogLevelSaved(hypre_handle_) = 0; + hypre_HandleMemoryLocation(hypre_handle_) = HYPRE_MEMORY_DEVICE; #if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) + hypre_HandleDeviceData(hypre_handle_) = hypre_DeviceDataCreate(); hypre_HandleDefaultExecPolicy(hypre_handle_) = HYPRE_EXEC_DEVICE; -#endif - -#if defined(HYPRE_USING_GPU) - hypre_HandleDeviceData(hypre_handle_) = hypre_DeviceDataCreate(); - /* Gauss-Seidel: SpTrSV */ - hypre_HandleDeviceGSMethod(hypre_handle_) = 1; /* CPU: 0; Cusparse: 1 */ -#endif - -#if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) -#if defined(HYPRE_USING_GPU_AWARE_MPI) - hypre_HandleUseGpuAwareMPI(hypre_handle_) = 1; #else - hypre_HandleUseGpuAwareMPI(hypre_handle_) = 0; -#endif + hypre_HandleDefaultExecPolicy(hypre_handle_) = HYPRE_EXEC_HOST; #endif return hypre_handle_; @@ -442,6 +431,8 @@ HYPRE_Finalize(void) return hypre_error_flag; } + HYPRE_Int exec_device = hypre_HandleDefaultExecPolicy(_hypre_handle) == HYPRE_EXEC_DEVICE; + #if defined(HYPRE_USING_UMPIRE) hypre_UmpireFinalize(_hypre_handle); #endif @@ -452,14 +443,20 @@ HYPRE_Finalize(void) #if defined(HYPRE_USING_SYCL) /* With sycl, cannot call hypre_GetDeviceLastError() after destroying the handle, so do it here */ - hypre_GetDeviceLastError(); + if (exec_device) + { + hypre_GetDeviceLastError(); + } #endif hypre_HandleDestroy(_hypre_handle); _hypre_handle = NULL; #if !defined(HYPRE_USING_SYCL) - hypre_GetDeviceLastError(); + if (exec_device) + { + hypre_GetDeviceLastError(); + } #endif #if defined(HYPRE_USING_MEMORY_TRACKER) @@ -488,16 +485,23 @@ HYPRE_PrintDeviceInfo(void) HYPRE_CUDA_CALL( cudaGetDevice(&dev) ); HYPRE_CUDA_CALL( cudaGetDeviceProperties(&deviceProp, dev) ); - hypre_printf("Running on \"%s\", major %d, minor %d, total memory %.2f GiB\n", deviceProp.name, - deviceProp.major, deviceProp.minor, deviceProp.totalGlobalMem / (1 << 30)); + { + hypre_printf("Running on \"%s\", Comp. Capability: %d.%d, Total VRAM: %.2f GiB, ", + deviceProp.name, deviceProp.major, deviceProp.minor, + ((HYPRE_Real) deviceProp.totalGlobalMem) / (HYPRE_Real) (1 << 30)); + } #elif defined(HYPRE_USING_HIP) hipDeviceProp_t deviceProp; HYPRE_HIP_CALL( hipGetDevice(&dev) ); HYPRE_HIP_CALL( hipGetDeviceProperties(&deviceProp, dev) ); - hypre_printf("Running on \"%s\", major %d, minor %d, total memory %.2f GiB\n", deviceProp.name, - deviceProp.major, deviceProp.minor, deviceProp.totalGlobalMem / (1 << 30)); + { + const char *gfx_name = deviceProp.gcnArchName[0] ? deviceProp.gcnArchName : "unknown"; + hypre_printf("Running on \"%s\", %s, Total VRAM: %.2f GiB, ", + deviceProp.name, gfx_name, + ((HYPRE_Real) deviceProp.totalGlobalMem) / (HYPRE_Real) (1 << 30)); + } #elif defined(HYPRE_USING_SYCL) auto device = *hypre_HandleDevice(hypre_handle()); @@ -516,8 +520,8 @@ HYPRE_PrintDeviceInfo(void) #if defined(HYPRE_USING_GPU) hypre_int max_size = 0, max_size_optin = 0; hypre_GetDeviceMaxShmemSize(dev, &max_size, &max_size_optin); - hypre_printf("MaxSharedMemoryPerBlock %d, MaxSharedMemoryPerBlockOptin %d\n", - max_size, max_size_optin); + hypre_printf("MaxShmem: %d KiB, MaxShmemOptin: %d KiB\n", + max_size / 1024, max_size_optin / 1024); #endif return hypre_error_flag; diff --git a/src/utilities/handle.c b/src/utilities/handle.c index f9c9ef44aa..c74dd0846d 100644 --- a/src/utilities/handle.c +++ b/src/utilities/handle.c @@ -233,37 +233,44 @@ hypre_SetGaussSeidelMethod( HYPRE_Int gs_method ) } /*-------------------------------------------------------------------------- - * hypre_SetUserDeviceMalloc *--------------------------------------------------------------------------*/ HYPRE_Int -hypre_SetUserDeviceMalloc(GPUMallocFunc func) +hypre_GetDeviceGSMethod(void) { -#if defined(HYPRE_USING_GPU) - hypre_HandleUserDeviceMalloc(hypre_handle()) = func; +#if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) + return hypre_HandleDeviceGSMethod(hypre_handle()); #else - HYPRE_UNUSED_VAR(func); + return 0; #endif +} + +#if defined(HYPRE_USING_GPU) + +/*-------------------------------------------------------------------------- + *--------------------------------------------------------------------------*/ + +HYPRE_Int +hypre_SetUserDeviceMalloc(GPUMallocFunc func) +{ + hypre_HandleUserDeviceMalloc(hypre_handle()) = func; return hypre_error_flag; } /*-------------------------------------------------------------------------- - * hypre_SetUserDeviceMfree *--------------------------------------------------------------------------*/ HYPRE_Int hypre_SetUserDeviceMfree(GPUMfreeFunc func) { -#if defined(HYPRE_USING_GPU) hypre_HandleUserDeviceMfree(hypre_handle()) = func; -#else - HYPRE_UNUSED_VAR(func); -#endif return hypre_error_flag; } +#endif /* if defined(HYPRE_USING_GPU) */ + /*-------------------------------------------------------------------------- * hypre_SetGpuAwareMPI *--------------------------------------------------------------------------*/ diff --git a/src/utilities/handle.h b/src/utilities/handle.h index 8005b12577..a91e3454e7 100644 --- a/src/utilities/handle.h +++ b/src/utilities/handle.h @@ -26,10 +26,12 @@ #define HYPRE_UMPIRE_POOL_NAME_MAX_LEN 1024 #endif /* defined(HYPRE_USING_UMPIRE) */ +#if defined(HYPRE_USING_GPU) struct hypre_DeviceData; typedef struct hypre_DeviceData hypre_DeviceData; typedef void (*GPUMallocFunc)(void **, size_t); typedef void (*GPUMfreeFunc)(void *); +#endif typedef struct { @@ -45,19 +47,13 @@ typedef struct HYPRE_Int struct_comm_recv_buffer_size; HYPRE_Int struct_comm_send_buffer_size; - /* GPU MPI */ -#if defined(HYPRE_USING_GPU) || defined(HYPRE_USING_DEVICE_OPENMP) - HYPRE_Int use_gpu_aware_mpi; -#endif - #if defined(HYPRE_USING_GPU) hypre_DeviceData *device_data; - HYPRE_Int device_gs_method; /* device G-S options */ -#endif /* user malloc/free function pointers */ GPUMallocFunc user_device_malloc; GPUMfreeFunc user_device_free; +#endif #if defined(HYPRE_USING_UMPIRE) char umpire_device_pool_name[HYPRE_UMPIRE_POOL_NAME_MAX_LEN]; @@ -93,9 +89,8 @@ typedef struct #define hypre_HandleStructCommSendBufferSize(hypre_handle) ((hypre_handle) -> struct_comm_send_buffer_size) #define hypre_HandleDeviceData(hypre_handle) ((hypre_handle) -> device_data) -#define hypre_HandleDeviceGSMethod(hypre_handle) ((hypre_handle) -> device_gs_method) -#define hypre_HandleUseGpuAwareMPI(hypre_handle) ((hypre_handle) -> use_gpu_aware_mpi) - +#define hypre_HandleDeviceGSMethod(hypre_handle) hypre_DeviceDataGSMethod(hypre_HandleDeviceData(hypre_handle)) +#define hypre_HandleUseGpuAwareMPI(hypre_handle) hypre_DeviceDataUseGpuAwareMPI(hypre_HandleDeviceData(hypre_handle)) #define hypre_HandleCurandGenerator(hypre_handle) hypre_DeviceDataCurandGenerator(hypre_HandleDeviceData(hypre_handle)) #define hypre_HandleCublasHandle(hypre_handle) hypre_DeviceDataCublasHandle(hypre_HandleDeviceData(hypre_handle)) #define hypre_HandleCusparseHandle(hypre_handle) hypre_DeviceDataCusparseHandle(hypre_HandleDeviceData(hypre_handle)) diff --git a/src/utilities/memory.c b/src/utilities/memory.c index d0561239c5..c9eeeeb8c3 100644 --- a/src/utilities/memory.c +++ b/src/utilities/memory.c @@ -273,11 +273,13 @@ hypre_DeviceMalloc(size_t size, HYPRE_Int zeroinit) { void *ptr = NULL; +#if defined(HYPRE_USING_GPU) if ( hypre_HandleUserDeviceMalloc(hypre_handle()) ) { hypre_HandleUserDeviceMalloc(hypre_handle())(&ptr, size); } else +#endif { #if defined(HYPRE_USING_UMPIRE_DEVICE) hypre_umpire_device_pooled_allocate(&ptr, size); @@ -463,11 +465,13 @@ hypre_HostFree(void *ptr) static inline void hypre_DeviceFree(void *ptr) { +#if defined(HYPRE_USING_GPU) if ( hypre_HandleUserDeviceMfree(hypre_handle()) ) { hypre_HandleUserDeviceMfree(hypre_handle())(ptr); } else +#endif { #if defined(HYPRE_USING_UMPIRE_DEVICE) hypre_umpire_device_pooled_free(ptr); diff --git a/src/utilities/mup.fixed b/src/utilities/mup.fixed index 3e5e15cd37..c0d73704d7 100644 --- a/src/utilities/mup.fixed +++ b/src/utilities/mup.fixed @@ -35,6 +35,7 @@ hypre_Finalized hypre_Free hypre_GetDevice hypre_GetDeviceCount +hypre_GetDeviceGSMethod hypre_GetDeviceLastError hypre_GetDeviceMaxShmemSize hypre_GetExecPolicy1 @@ -170,8 +171,6 @@ hypre_SetSpGemmUseVendor hypre_SetSpMVUseVendor hypre_SetSpTransUseVendor hypre_SetUseGpuRand -hypre_SetUserDeviceMalloc -hypre_SetUserDeviceMfree hypre_UniqueIntArrayND hypre_UnorderedBigIntMapCreate hypre_UnorderedBigIntMapDestroy diff --git a/src/utilities/mup_fixed.c b/src/utilities/mup_fixed.c index ef6cc2dac0..f34b4cbce3 100644 --- a/src/utilities/mup_fixed.c +++ b/src/utilities/mup_fixed.c @@ -312,6 +312,14 @@ hypre_GetDeviceCount( hypre_int *device_count ) /*--------------------------------------------------------------------------*/ +HYPRE_Int +hypre_GetDeviceGSMethod( void ) +{ + return HYPRE_CURRENTPRECISION_FUNC(hypre_GetDeviceGSMethod)( ); +} + +/*--------------------------------------------------------------------------*/ + HYPRE_Int hypre_GetDeviceLastError( void ) { @@ -1376,22 +1384,6 @@ hypre_SetUseGpuRand( HYPRE_Int use_gpurand ) /*--------------------------------------------------------------------------*/ -HYPRE_Int -hypre_SetUserDeviceMalloc( GPUMallocFunc func ) -{ - return HYPRE_CURRENTPRECISION_FUNC(hypre_SetUserDeviceMalloc)( func ); -} - -/*--------------------------------------------------------------------------*/ - -HYPRE_Int -hypre_SetUserDeviceMfree( GPUMfreeFunc func ) -{ - return HYPRE_CURRENTPRECISION_FUNC(hypre_SetUserDeviceMfree)( func ); -} - -/*--------------------------------------------------------------------------*/ - HYPRE_Int hypre_UniqueIntArrayND( HYPRE_Int ndim, HYPRE_Int *size, HYPRE_Int **array ) { diff --git a/src/utilities/protos.h b/src/utilities/protos.h index 176f2fa373..fe35a5abc4 100644 --- a/src/utilities/protos.h +++ b/src/utilities/protos.h @@ -374,10 +374,13 @@ HYPRE_Int hypre_SetSpGemmRownnzEstimateMultFactor( HYPRE_Real value ); HYPRE_Int hypre_SetSpGemmHashType( char value ); HYPRE_Int hypre_SetUseGpuRand( HYPRE_Int use_gpurand ); HYPRE_Int hypre_SetGaussSeidelMethod( HYPRE_Int gs_method ); -HYPRE_Int hypre_SetUserDeviceMalloc(GPUMallocFunc func); -HYPRE_Int hypre_SetUserDeviceMfree(GPUMfreeFunc func); +HYPRE_Int hypre_GetDeviceGSMethod( void ); HYPRE_Int hypre_SetGpuAwareMPI( HYPRE_Int use_gpu_aware_mpi ); -HYPRE_Int hypre_GetGpuAwareMPI(void); +HYPRE_Int hypre_GetGpuAwareMPI( void ); +#if defined(HYPRE_USING_GPU) +HYPRE_Int hypre_SetUserDeviceMalloc( GPUMallocFunc func ); +HYPRE_Int hypre_SetUserDeviceMfree( GPUMfreeFunc func ); +#endif /* int_array.c */ hypre_IntArray* hypre_IntArrayCreate( HYPRE_Int size ); diff --git a/src/utilities/timing.c b/src/utilities/timing.c index 7c7197047a..24b81aff19 100644 --- a/src/utilities/timing.c +++ b/src/utilities/timing.c @@ -284,8 +284,7 @@ hypre_EndTiming_fcn( HYPRE_Int time_index ) if (hypre_TimingState(time_index) == 0) { #if defined(HYPRE_USING_GPU) - hypre_Handle *hypre_handle_ = hypre_handle(); - if (hypre_HandleDefaultExecPolicy(hypre_handle_) == HYPRE_EXEC_DEVICE) + if (hypre_HandleDefaultExecPolicy(hypre_handle()) == HYPRE_EXEC_DEVICE) { hypre_SyncDevice(); }