diff --git a/AUTOTEST/machine-lassen.sh b/AUTOTEST/machine-lassen.sh index 3bf2bc73c..df493a37f 100755 --- a/AUTOTEST/machine-lassen.sh +++ b/AUTOTEST/machine-lassen.sh @@ -18,7 +18,7 @@ case $1 in where: -h|-help prints this usage information and exits {src_dir} is the hypre source directory - This script runs a number of tests suitable for the syrah cluster. + This script runs a number of tests suitable for the lassen cluster. Example usage: $0 ../src @@ -67,6 +67,12 @@ co="--with-cuda --enable-unified-memory --with-openmp --enable-hopscotch --enabl ./test.sh basic.sh $src_dir -co: $co -mo: $mo ./renametest.sh basic $output_dir/basic-cuda-um-shared +#CUDA with UM and single precision +co="--with-cuda --enable-unified-memory --enable-single --enable-debug --with-gpu-arch=\\'60 70\\' --with-extra-CFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'" +ro="-single -rt -mpibind -save ${save}" +./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: ${ro} +./renametest.sh basic $output_dir/basic-cuda-um-single + # CUDA with UM without MPI [no run] #co="--with-cuda --enable-unified-memory --without-MPI --with-gpu-arch=\\'60 70\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'" #./test.sh basic.sh $src_dir -co: $co -mo: $mo @@ -89,7 +95,7 @@ ro="-bench -struct -rt -mpibind -save ${save}" # OMP 4.5 without UM in debug mode [struct] co="--with-device-openmp --enable-debug --with-gpu-arch=\\'60 70\\' --with-extra-CFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'" -ro="-struct -rt -mpibind -save ${host}" +ro="-struct -rt -mpibind -save ${save}" ./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $ro ./renametest.sh basic $output_dir/basic-deviceomp-nonum-debug-struct @@ -116,6 +122,7 @@ co="-DCMAKE_C_COMPILER=$(which xlc) -DCMAKE_CXX_COMPILER=$(which xlc++) -DCMAKE_ ################################ ## CUDA 11 build (only) tests ## ################################ + co="--with-cuda --enable-unified-memory --with-gpu-arch=\\'60 70\\' --with-extra-CFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CUFLAGS=\\'--Wno-deprecated-declarations\\'" module -q load cuda/11 module list cuda/11 |& grep "None found" diff --git a/AUTOTEST/machine-ray.sh b/AUTOTEST/machine-ray.sh index d9c024a6f..f7a1e1171 100755 --- a/AUTOTEST/machine-ray.sh +++ b/AUTOTEST/machine-ray.sh @@ -18,7 +18,7 @@ case $1 in where: -h|-help prints this usage information and exits {src_dir} is the hypre source directory - This script runs a number of tests suitable for the syrah cluster. + This script runs a number of tests suitable for the ray cluster. Example usage: $0 ../src @@ -67,6 +67,12 @@ co="--with-cuda --enable-unified-memory --with-openmp --enable-hopscotch --enabl ./test.sh basic.sh $src_dir -co: $co -mo: $mo ./renametest.sh basic $output_dir/basic-cuda-um-shared +#CUDA with UM and single precision +co="--with-cuda --enable-unified-memory --enable-single --enable-debug --with-gpu-arch=\\'60 70\\' --with-extra-CFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'" +ro="-single -rt -mpibind -save ${save}" +./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: ${ro} +./renametest.sh basic $output_dir/basic-cuda-um-single + # CUDA with UM without MPI [no run] #co="--with-cuda --enable-unified-memory --without-MPI --with-gpu-arch=\\'60 70\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'" #./test.sh basic.sh $src_dir -co: $co -mo: $mo @@ -89,13 +95,14 @@ ro="-bench -struct -rt -mpibind -save ${save}" # OMP 4.5 without UM in debug mode [struct] co="--with-device-openmp --enable-debug --with-gpu-arch=\\'60 70\\' --with-extra-CFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\'" -ro="-struct -rt -mpibind -save ${host}" +ro="-struct -rt -mpibind -save ${save}" ./test.sh basic.sh $src_dir -co: $co -mo: $mo -ro: $ro ./renametest.sh basic $output_dir/basic-deviceomp-nonum-debug-struct -################################# -# CUDA + CMake build (only) tests -################################# +##################################### +## CUDA + CMake build (only) tests ## +##################################### + mo="-j" # CUDA with UM + CMake co="-DCMAKE_C_COMPILER=$(which xlc) -DCMAKE_CXX_COMPILER=$(which xlc++) -DCMAKE_CUDA_COMPILER=$(which nvcc) -DMPI_C_COMPILER=$(which mpicc) -DMPI_CXX_COMPILER=$(which mpicxx) -DHYPRE_WITH_CUDA=ON -DHYPRE_ENABLE_UNIFIED_MEMORY=ON -DCMAKE_BUILD_TYPE=Debug -DHYPRE_ENABLE_PERSISTENT_COMM=ON -DHYPRE_ENABLE_DEVICE_POOL=ON -DHYPRE_WITH_EXTRA_CFLAGS="\'"-qmaxmem=-1 -qsuppress=1500-029"\'" -DHYPRE_WITH_EXTRA_CXXFLAGS="\'"-qmaxmem=-1 -qsuppress=1500-029"\'" -DHYPRE_CUDA_SM=70" @@ -112,9 +119,10 @@ co="-DCMAKE_C_COMPILER=$(which xlc) -DCMAKE_CXX_COMPILER=$(which xlc++) -DCMAKE_ ./test.sh cmake.sh $src_dir -co: $co -mo: $mo ./renametest.sh cmake $output_dir/cmake-cuda-nonum-struct -############################ -# CUDA 11 build (only) tests -############################ +################################ +## CUDA 11 build (only) tests ## +################################ + co="--with-cuda --enable-unified-memory --with-gpu-arch=\\'60 70\\' --with-extra-CFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CXXFLAGS=\\'-qmaxmem=-1 -qsuppress=1500-029\\' --with-extra-CUFLAGS=\\'--Wno-deprecated-declarations\\'" module -q load cuda/11 module list cuda/11 |& grep "None found" diff --git a/AUTOTEST/machine-redwood.sh b/AUTOTEST/machine-redwood.sh index d51d9b480..c5a3d734c 100755 --- a/AUTOTEST/machine-redwood.sh +++ b/AUTOTEST/machine-redwood.sh @@ -11,14 +11,14 @@ case $1 in -h|-help) cat <colors); @@ -243,7 +243,7 @@ void SubdomainGraph_dhPrintStatsLong(SubdomainGraph_dh s, FILE *fp) } else { /*----------------------------------------- - * local n2o_row permutation + * local n2o_row permutation *-----------------------------------------*/ hypre_fprintf(fp, "\nlocal n2o_row permutation:\n"); hypre_fprintf(fp, "--------------------------\n"); @@ -1427,7 +1427,7 @@ void SubdomainGraph_dhDump(SubdomainGraph_dh s, char *filename) hypre_fprintf(fp, "%i ", s->bdry_count[i]); } hypre_fprintf(fp, "\n"); - + } /* write subdomain graph */ @@ -1567,7 +1567,7 @@ void find_bdry_nodes_seq_private(SubdomainGraph_dh s, HYPRE_Int m, void* A) tmp = (HYPRE_Int*)MALLOC_DH(m*sizeof(HYPRE_Int)); CHECK_V_ERROR; for (i=0; i= CUSPARSE_NEWAPI_VERSION */ *d_ic_out = csc_i; *d_jc_out = csc_j; @@ -124,6 +135,8 @@ hypreDevice_CSRSpTransRocsparse(HYPRE_Int m, HYPRE_Int n, HYPR void * buffer; buffer = hypre_TAlloc(char, buffer_size, HYPRE_MEMORY_DEVICE); +#if !defined(HYPRE_COMPLEX) +#if !defined(HYPRE_SINGLE) && !defined(HYPRE_LONG_DOUBLE) HYPRE_ROCSPARSE_CALL( rocsparse_dcsr2csc(handle, m, n, nnzA, d_aa, d_ia, d_ja, @@ -131,6 +144,17 @@ hypreDevice_CSRSpTransRocsparse(HYPRE_Int m, HYPRE_Int n, HYPR action, rocsparse_index_base_zero, buffer) ); +#elif defined(HYPRE_SINGLE) + HYPRE_ROCSPARSE_CALL( rocsparse_scsr2csc(handle, + m, n, nnzA, + d_aa, d_ia, d_ja, + csc_a, csc_j, csc_i, + action, + rocsparse_index_base_zero, + buffer) ); +#endif +#endif /* #if !defined(HYPRE_COMPLEX) */ + hypre_TFree(buffer, HYPRE_MEMORY_DEVICE); *d_ic_out = csc_i; diff --git a/src/test/TEST_single/solvers_ij.saved.lassen b/src/test/TEST_single/solvers_ij.saved.lassen new file mode 100644 index 000000000..455244e23 --- /dev/null +++ b/src/test/TEST_single/solvers_ij.saved.lassen @@ -0,0 +1,145 @@ +# Output file: solvers_ij.out.0 +Iterations = 6 +Final Relative Residual Norm = 3.800163e-05 + +# Output file: solvers_ij.out.1 +Iterations = 26 +Final Relative Residual Norm = 7.193501e-05 + +# Output file: solvers_ij.out.2 +GMRES Iterations = 6 +Final GMRES Relative Residual Norm = 4.962838e-05 + +# Output file: solvers_ij.out.3 +GMRES Iterations = 39 +Final GMRES Relative Residual Norm = 9.043231e-05 + +# Output file: solvers_ij.out.4 +Iterations = 5 +Final Relative Residual Norm = 1.785553e-05 + +# Output file: solvers_ij.out.5 +Iterations = 103 +Final Relative Residual Norm = 8.784425e-05 + +# Output file: solvers_ij.out.6 +GMRES Iterations = 15 +Final GMRES Relative Residual Norm = 7.131146e-05 + +# Output file: solvers_ij.out.7 +Iterations = 13 +Final Relative Residual Norm = 7.750613e-05 + +# Output file: solvers_ij.out.8 +Iterations = 26 +PCG_Iterations = 0 +DSCG_Iterations = 26 +Final Relative Residual Norm = 7.193501e-05 + +# Output file: solvers_ij.out.9 +Iterations = 7 +PCG_Iterations = 3 +DSCG_Iterations = 4 +Final Relative Residual Norm = 8.301256e-05 + +# Output file: solvers_ij.out.10 +Iterations = 6 +PCG_Iterations = 4 +DSCG_Iterations = 2 +Final Relative Residual Norm = 2.785249e-05 + +# Output file: solvers_ij.out.11 +Iterations = 5 +PCG_Iterations = 2 +DSCG_Iterations = 3 +Final Relative Residual Norm = 1.361495e-05 + +# Output file: solvers_ij.out.sysh + Average Convergence Factor = 0.196477 + + Complexity: grid = 1.392875 + operator = 2.633675 + cycle = 5.267332 + +# Output file: solvers_ij.out.sysn + Average Convergence Factor = 0.533116 + + Complexity: grid = 1.390750 + operator = 2.080112 + cycle = 10.160150 + +# Output file: solvers_ij.out.sysu + Average Convergence Factor = 0.737621 + + Complexity: grid = 1.390813 + operator = 2.718671 + cycle = 5.437173 + +# Output file: solvers_ij.out.101 +LGMRES Iterations = 39 +Final LGMRES Relative Residual Norm = 7.229704e-05 + +# Output file: solvers_ij.out.102 +LGMRES Iterations = 6 +Final LGMRES Relative Residual Norm = 4.962838e-05 + +# Output file: solvers_ij.out.103 +FlexGMRES Iterations = 39 +Final FlexGMRES Relative Residual Norm = 9.043153e-05 + +# Output file: solvers_ij.out.104 +FlexGMRES Iterations = 6 +Final FlexGMRES Relative Residual Norm = 4.961434e-05 + +# Output file: solvers_ij.out.105 +Iterations = 11 +Final Relative Residual Norm = 4.022052e-05 + +# Output file: solvers_ij.out.106 +Iterations = 11 +Final Relative Residual Norm = 4.022052e-05 + +# Output file: solvers_ij.out.107 +Iterations = 16 +Final Relative Residual Norm = 6.623256e-05 + +# Output file: solvers_ij.out.108 +Iterations = 16 +Final Relative Residual Norm = 6.623272e-05 + +# Output file: solvers_ij.out.109 +Iterations = 11 +Final Relative Residual Norm = 7.168805e-05 + +# Output file: solvers_ij.out.110 +Iterations = 11 +Final Relative Residual Norm = 7.168810e-05 + +# Output file: solvers_ij.out.111 +Iterations = 17 +Final Relative Residual Norm = 7.756719e-05 + +# Output file: solvers_ij.out.112 +GMRES Iterations = 21 +Final GMRES Relative Residual Norm = 7.660792e-05 + +# Output file: solvers_ij.out.113 +GMRES Iterations = 14 +Final GMRES Relative Residual Norm = 9.868194e-05 + +# Output file: solvers_ij.out.114 +BoomerAMG Iterations = 17 +Final Relative Residual Norm = 9.048652e-05 + +# Output file: solvers_ij.out.115 +BoomerAMG Iterations = 17 +Final Relative Residual Norm = 9.091324e-05 + +# Output file: solvers_ij.out.116 +GMRES Iterations = 8 +Final GMRES Relative Residual Norm = 7.735370e-05 + +# Output file: solvers_ij.out.117 +GMRES Iterations = 8 +Final GMRES Relative Residual Norm = 7.728816e-05 + diff --git a/src/test/TEST_single/solvers_ij.saved.ray b/src/test/TEST_single/solvers_ij.saved.ray new file mode 100644 index 000000000..f3bf951b7 --- /dev/null +++ b/src/test/TEST_single/solvers_ij.saved.ray @@ -0,0 +1,145 @@ +# Output file: solvers_ij.out.0 +Iterations = 6 +Final Relative Residual Norm = 3.800161e-05 + +# Output file: solvers_ij.out.1 +Iterations = 26 +Final Relative Residual Norm = 7.193501e-05 + +# Output file: solvers_ij.out.2 +GMRES Iterations = 6 +Final GMRES Relative Residual Norm = 4.962170e-05 + +# Output file: solvers_ij.out.3 +GMRES Iterations = 39 +Final GMRES Relative Residual Norm = 9.043231e-05 + +# Output file: solvers_ij.out.4 +Iterations = 5 +Final Relative Residual Norm = 1.785550e-05 + +# Output file: solvers_ij.out.5 +Iterations = 103 +Final Relative Residual Norm = 8.784425e-05 + +# Output file: solvers_ij.out.6 +GMRES Iterations = 15 +Final GMRES Relative Residual Norm = 7.131146e-05 + +# Output file: solvers_ij.out.7 +Iterations = 13 +Final Relative Residual Norm = 7.750613e-05 + +# Output file: solvers_ij.out.8 +Iterations = 26 +PCG_Iterations = 0 +DSCG_Iterations = 26 +Final Relative Residual Norm = 7.193501e-05 + +# Output file: solvers_ij.out.9 +Iterations = 7 +PCG_Iterations = 3 +DSCG_Iterations = 4 +Final Relative Residual Norm = 8.301259e-05 + +# Output file: solvers_ij.out.10 +Iterations = 6 +PCG_Iterations = 4 +DSCG_Iterations = 2 +Final Relative Residual Norm = 2.785446e-05 + +# Output file: solvers_ij.out.11 +Iterations = 5 +PCG_Iterations = 2 +DSCG_Iterations = 3 +Final Relative Residual Norm = 1.361500e-05 + +# Output file: solvers_ij.out.sysh + Average Convergence Factor = 0.193839 + + Complexity: grid = 1.392875 + operator = 2.632649 + cycle = 5.265280 + +# Output file: solvers_ij.out.sysn + Average Convergence Factor = 0.533116 + + Complexity: grid = 1.390750 + operator = 2.080112 + cycle = 10.160150 + +# Output file: solvers_ij.out.sysu + Average Convergence Factor = 0.739514 + + Complexity: grid = 1.390563 + operator = 2.717318 + cycle = 5.434468 + +# Output file: solvers_ij.out.101 +LGMRES Iterations = 39 +Final LGMRES Relative Residual Norm = 7.229704e-05 + +# Output file: solvers_ij.out.102 +LGMRES Iterations = 6 +Final LGMRES Relative Residual Norm = 4.962170e-05 + +# Output file: solvers_ij.out.103 +FlexGMRES Iterations = 39 +Final FlexGMRES Relative Residual Norm = 9.043153e-05 + +# Output file: solvers_ij.out.104 +FlexGMRES Iterations = 6 +Final FlexGMRES Relative Residual Norm = 4.961419e-05 + +# Output file: solvers_ij.out.105 +Iterations = 11 +Final Relative Residual Norm = 4.434195e-05 + +# Output file: solvers_ij.out.106 +Iterations = 11 +Final Relative Residual Norm = 4.434195e-05 + +# Output file: solvers_ij.out.107 +Iterations = 16 +Final Relative Residual Norm = 6.671497e-05 + +# Output file: solvers_ij.out.108 +Iterations = 16 +Final Relative Residual Norm = 6.671443e-05 + +# Output file: solvers_ij.out.109 +Iterations = 11 +Final Relative Residual Norm = 7.168811e-05 + +# Output file: solvers_ij.out.110 +Iterations = 11 +Final Relative Residual Norm = 7.168806e-05 + +# Output file: solvers_ij.out.111 +Iterations = 17 +Final Relative Residual Norm = 7.756725e-05 + +# Output file: solvers_ij.out.112 +GMRES Iterations = 21 +Final GMRES Relative Residual Norm = 7.643850e-05 + +# Output file: solvers_ij.out.113 +GMRES Iterations = 14 +Final GMRES Relative Residual Norm = 9.851967e-05 + +# Output file: solvers_ij.out.114 +BoomerAMG Iterations = 18 +Final Relative Residual Norm = 6.353526e-05 + +# Output file: solvers_ij.out.115 +BoomerAMG Iterations = 18 +Final Relative Residual Norm = 6.077210e-05 + +# Output file: solvers_ij.out.116 +GMRES Iterations = 8 +Final GMRES Relative Residual Norm = 7.078722e-05 + +# Output file: solvers_ij.out.117 +GMRES Iterations = 8 +Final GMRES Relative Residual Norm = 7.086178e-05 + diff --git a/src/test/TEST_single/solvers_struct.saved.lassen b/src/test/TEST_single/solvers_struct.saved.lassen new file mode 100644 index 000000000..d32a9369e --- /dev/null +++ b/src/test/TEST_single/solvers_struct.saved.lassen @@ -0,0 +1,120 @@ +# Output file: solvers_struct.out.0 +Iterations = 3 +Final Relative Residual Norm = 3.246689e-05 + +# Output file: solvers_struct.out.1 +Iterations = 6 +Final Relative Residual Norm = 2.055851e-05 + +# Output file: solvers_struct.out.2 +Iterations = 16 +Final Relative Residual Norm = 5.377654e-05 + +# Output file: solvers_struct.out.3 +Iterations = 16 +Final Relative Residual Norm = 3.718371e-05 + +# Output file: solvers_struct.out.4 +Iterations = 16 +Final Relative Residual Norm = 3.718370e-05 + +# Output file: solvers_struct.out.10.lobpcg +Iterations = 3 +Final Relative Residual Norm = 6.275833e-06 + +# Output file: solvers_struct.out.10.lobpcg.1 +Eigenvalue lambda 1.84366509318352e-01 +Residual 2.48082087637158e-05 + +# Output file: solvers_struct.out.10.lobpcg.3 +Iteration 10 bsize 2 maxres 4.33511973824352e-04 +Iteration 11 bsize 1 maxres 2.04666575882584e-04 +Iteration 12 bsize 1 maxres 8.50733777042478e-05 + +Eigenvalue lambda 1.84366509318352e-01 +Eigenvalue lambda 2.50882238149643e-01 +Eigenvalue lambda 3.60091090202332e-01 +Residual 7.41478434065357e-05 +Residual 4.07401748816483e-05 +Residual 8.50733777042478e-05 + +# Output file: solvers_struct.out.11.lobpcg +Iterations = 6 +Final Relative Residual Norm = 2.112819e-05 + +# Output file: solvers_struct.out.11.lobpcg.1 +Eigenvalue lambda 1.84366583824158e-01 +Residual 3.15948745992500e-05 + +# Output file: solvers_struct.out.11.lobpcg.3 +Iteration 11 bsize 2 maxres 6.90118235070258e-04 +Iteration 12 bsize 2 maxres 2.52081663347781e-04 +Iteration 13 bsize 1 maxres 7.02887409715913e-05 + +Eigenvalue lambda 1.84366479516029e-01 +Eigenvalue lambda 2.50883370637894e-01 +Eigenvalue lambda 3.60090911388397e-01 +Residual 5.58231040486135e-05 +Residual 2.60377983067883e-05 +Residual 7.02887409715913e-05 + +# Output file: solvers_struct.out.17.lobpcg +Iterations = 17 +Final Relative Residual Norm = 8.241194e-07 + +# Output file: solvers_struct.out.17.lobpcg.1 +Eigenvalue lambda 1.84366509318352e-01 +Residual 1.95705306396121e-05 + +# Output file: solvers_struct.out.17.lobpcg.3 +Iteration 10 bsize 2 maxres 3.62064485670999e-04 +Iteration 11 bsize 1 maxres 1.69921870110556e-04 +Iteration 12 bsize 1 maxres 7.11168977431953e-05 + +Eigenvalue lambda 1.84366405010223e-01 +Eigenvalue lambda 2.50881940126419e-01 +Eigenvalue lambda 3.60090613365173e-01 +Residual 5.52630408492405e-05 +Residual 3.09487622871529e-05 +Residual 7.11168977431953e-05 + +# Output file: solvers_struct.out.18.lobpcg +Iterations = 32 +Final Relative Residual Norm = 8.266953e-07 + +# Output file: solvers_struct.out.18.lobpcg.1 +Eigenvalue lambda 1.84366241097450e-01 +Residual 4.44491524831392e-05 + +# Output file: solvers_struct.out.18.lobpcg.3 +Iteration 10 bsize 2 maxres 5.81342901568860e-04 +Iteration 11 bsize 1 maxres 1.98838606593199e-04 +Iteration 12 bsize 1 maxres 9.27079236134887e-05 + +Eigenvalue lambda 1.84366494417191e-01 +Eigenvalue lambda 2.50879585742950e-01 +Eigenvalue lambda 3.60090494155884e-01 +Residual 9.27079236134887e-05 +Residual 8.72101882123388e-05 +Residual 5.49681753909681e-05 + +# Output file: solvers_struct.out.19.lobpcg +Iterations = 25 +Final Relative Residual Norm = 7.712439e-05 + +# Output file: solvers_struct.out.19.lobpcg.1 +Eigenvalue lambda 1.84366539120674e-01 +Residual 4.44510842498858e-05 + +# Output file: solvers_struct.out.19.lobpcg.3 +Iteration 10 bsize 2 maxres 5.81450236495584e-04 +Iteration 11 bsize 1 maxres 1.98705645743757e-04 +Iteration 12 bsize 1 maxres 9.26581269595772e-05 + +Eigenvalue lambda 1.84366509318352e-01 +Eigenvalue lambda 2.50874906778336e-01 +Eigenvalue lambda 3.60090017318726e-01 +Residual 9.26581269595772e-05 +Residual 8.80578954820521e-05 +Residual 5.49828182556666e-05 + diff --git a/src/test/TEST_single/solvers_struct.saved.ray b/src/test/TEST_single/solvers_struct.saved.ray new file mode 100644 index 000000000..d32a9369e --- /dev/null +++ b/src/test/TEST_single/solvers_struct.saved.ray @@ -0,0 +1,120 @@ +# Output file: solvers_struct.out.0 +Iterations = 3 +Final Relative Residual Norm = 3.246689e-05 + +# Output file: solvers_struct.out.1 +Iterations = 6 +Final Relative Residual Norm = 2.055851e-05 + +# Output file: solvers_struct.out.2 +Iterations = 16 +Final Relative Residual Norm = 5.377654e-05 + +# Output file: solvers_struct.out.3 +Iterations = 16 +Final Relative Residual Norm = 3.718371e-05 + +# Output file: solvers_struct.out.4 +Iterations = 16 +Final Relative Residual Norm = 3.718370e-05 + +# Output file: solvers_struct.out.10.lobpcg +Iterations = 3 +Final Relative Residual Norm = 6.275833e-06 + +# Output file: solvers_struct.out.10.lobpcg.1 +Eigenvalue lambda 1.84366509318352e-01 +Residual 2.48082087637158e-05 + +# Output file: solvers_struct.out.10.lobpcg.3 +Iteration 10 bsize 2 maxres 4.33511973824352e-04 +Iteration 11 bsize 1 maxres 2.04666575882584e-04 +Iteration 12 bsize 1 maxres 8.50733777042478e-05 + +Eigenvalue lambda 1.84366509318352e-01 +Eigenvalue lambda 2.50882238149643e-01 +Eigenvalue lambda 3.60091090202332e-01 +Residual 7.41478434065357e-05 +Residual 4.07401748816483e-05 +Residual 8.50733777042478e-05 + +# Output file: solvers_struct.out.11.lobpcg +Iterations = 6 +Final Relative Residual Norm = 2.112819e-05 + +# Output file: solvers_struct.out.11.lobpcg.1 +Eigenvalue lambda 1.84366583824158e-01 +Residual 3.15948745992500e-05 + +# Output file: solvers_struct.out.11.lobpcg.3 +Iteration 11 bsize 2 maxres 6.90118235070258e-04 +Iteration 12 bsize 2 maxres 2.52081663347781e-04 +Iteration 13 bsize 1 maxres 7.02887409715913e-05 + +Eigenvalue lambda 1.84366479516029e-01 +Eigenvalue lambda 2.50883370637894e-01 +Eigenvalue lambda 3.60090911388397e-01 +Residual 5.58231040486135e-05 +Residual 2.60377983067883e-05 +Residual 7.02887409715913e-05 + +# Output file: solvers_struct.out.17.lobpcg +Iterations = 17 +Final Relative Residual Norm = 8.241194e-07 + +# Output file: solvers_struct.out.17.lobpcg.1 +Eigenvalue lambda 1.84366509318352e-01 +Residual 1.95705306396121e-05 + +# Output file: solvers_struct.out.17.lobpcg.3 +Iteration 10 bsize 2 maxres 3.62064485670999e-04 +Iteration 11 bsize 1 maxres 1.69921870110556e-04 +Iteration 12 bsize 1 maxres 7.11168977431953e-05 + +Eigenvalue lambda 1.84366405010223e-01 +Eigenvalue lambda 2.50881940126419e-01 +Eigenvalue lambda 3.60090613365173e-01 +Residual 5.52630408492405e-05 +Residual 3.09487622871529e-05 +Residual 7.11168977431953e-05 + +# Output file: solvers_struct.out.18.lobpcg +Iterations = 32 +Final Relative Residual Norm = 8.266953e-07 + +# Output file: solvers_struct.out.18.lobpcg.1 +Eigenvalue lambda 1.84366241097450e-01 +Residual 4.44491524831392e-05 + +# Output file: solvers_struct.out.18.lobpcg.3 +Iteration 10 bsize 2 maxres 5.81342901568860e-04 +Iteration 11 bsize 1 maxres 1.98838606593199e-04 +Iteration 12 bsize 1 maxres 9.27079236134887e-05 + +Eigenvalue lambda 1.84366494417191e-01 +Eigenvalue lambda 2.50879585742950e-01 +Eigenvalue lambda 3.60090494155884e-01 +Residual 9.27079236134887e-05 +Residual 8.72101882123388e-05 +Residual 5.49681753909681e-05 + +# Output file: solvers_struct.out.19.lobpcg +Iterations = 25 +Final Relative Residual Norm = 7.712439e-05 + +# Output file: solvers_struct.out.19.lobpcg.1 +Eigenvalue lambda 1.84366539120674e-01 +Residual 4.44510842498858e-05 + +# Output file: solvers_struct.out.19.lobpcg.3 +Iteration 10 bsize 2 maxres 5.81450236495584e-04 +Iteration 11 bsize 1 maxres 1.98705645743757e-04 +Iteration 12 bsize 1 maxres 9.26581269595772e-05 + +Eigenvalue lambda 1.84366509318352e-01 +Eigenvalue lambda 2.50874906778336e-01 +Eigenvalue lambda 3.60090017318726e-01 +Residual 9.26581269595772e-05 +Residual 8.80578954820521e-05 +Residual 5.49828182556666e-05 + diff --git a/src/utilities/random.c b/src/utilities/random.c index 468c2fadf..3da9afc5f 100644 --- a/src/utilities/random.c +++ b/src/utilities/random.c @@ -98,6 +98,6 @@ HYPRE_Int hypre_RandI() *--------------------------------------------------------------------------*/ HYPRE_Real hypre_Rand() { - return ((HYPRE_Real)(hypre_RandI()) / m); + return ((HYPRE_Real)(hypre_RandI()) / (HYPRE_Real)m); }