9 May 2025 9:48:19.164 PM ZIGGURAT_OPENMP(): FORTRAN90 version The number of processors available is: 8 The number of threads available is: 1 TEST01 SHR3 computes random integers. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 1 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 -1863796367 -1863796367 0 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.619638E-01 0.603941E-01 RATE: 161.384 165.579 TEST02 R4_UNI computes uniformly random single precision real values. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 1 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.660511E-01 0.660511E-01 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.719062E-01 0.712098E-01 RATE: 139.070 140.430 TEST03 R4_NOR computes normal random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 1 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 -0.326194 -0.326194 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.130328 0.129897 RATE: 76.7295 76.9843 TEST04 R4_EXP computes exponential random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 1 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.351739 0.351739 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.128734 0.133547 RATE: 77.6796 74.8801 ZIGGURAT_OPENMP(): Normal end of execution. 9 May 2025 9:48:19.952 PM 9 May 2025 9:48:19.953 PM ZIGGURAT_OPENMP(): FORTRAN90 version The number of processors available is: 8 The number of threads available is: 2 TEST01 SHR3 computes random integers. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 2 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 1249912034 1249912034 0 1 503020437 503020437 0 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.619826E-01 0.311917E-01 RATE: 161.336 320.598 TEST02 R4_UNI computes uniformly random single precision real values. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 2 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.791018 0.791018 0.00000 1 0.617119 0.617119 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.717792E-01 0.371913E-01 RATE: 139.316 268.880 TEST03 R4_NOR computes normal random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 2 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.977730 0.977730 0.00000 1 -1.07051 -1.07051 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.130741 0.673898E-01 RATE: 76.4874 148.391 TEST04 R4_EXP computes exponential random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 2 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 1.73583 1.73583 0.00000 1 0.502068 0.502068 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.128995 0.687452E-01 RATE: 77.5226 145.465 ZIGGURAT_OPENMP(): Normal end of execution. 9 May 2025 9:48:20.551 PM 9 May 2025 9:48:20.553 PM ZIGGURAT_OPENMP(): FORTRAN90 version The number of processors available is: 8 The number of threads available is: 4 TEST01 SHR3 computes random integers. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 4 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 -1669655539 -1669655539 0 1 108105747 108105747 0 2 -1587791136 -1587791136 0 3 1909075432 1909075432 0 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.609536E-01 0.158841E-01 RATE: 164.059 629.560 TEST02 R4_UNI computes uniformly random single precision real values. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 4 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.111253 0.111253 0.00000 1 0.525170 0.525170 0.00000 2 0.130314 0.130314 0.00000 3 0.944491 0.944491 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.728556E-01 0.189021E-01 RATE: 137.258 529.041 TEST03 R4_NOR computes normal random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 4 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 -0.828252 -0.828252 0.00000 1 0.314686 0.314686 0.00000 2 -0.989801 -0.989801 0.00000 3 -1.48772 -1.48772 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.131555 0.341122E-01 RATE: 76.0138 293.151 TEST04 R4_EXP computes exponential random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 4 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.129717 0.129717 0.00000 1 0.439901 0.439901 0.00000 2 0.834098 0.834098 0.00000 3 0.973891 0.973891 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.130666 0.348041E-01 RATE: 76.5309 287.322 ZIGGURAT_OPENMP(): Normal end of execution. 9 May 2025 9:48:21.053 PM 9 May 2025 9:48:21.054 PM ZIGGURAT_OPENMP(): FORTRAN90 version The number of processors available is: 8 The number of threads available is: 8 TEST01 SHR3 computes random integers. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 8 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 2066176573 2066176573 0 1 -1303848666 -1303848666 0 2 167050157 167050157 0 3 412856606 412856606 0 4 -541773661 -541773661 0 5 -189888513 -189888513 0 6 -435391081 -435391081 0 7 1328385438 1328385438 0 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.633330E-01 0.147280E-01 RATE: 157.896 678.980 TEST02 R4_UNI computes uniformly random single precision real values. Since the output is completely determined by the input value of SEED, we can run in parallel as long as we make an array of seeds. The number of threads is 8 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.981069 0.981069 0.00000 1 0.196424 0.196424 0.00000 2 0.538894 0.538894 0.00000 3 0.596126 0.596126 0.00000 4 0.373859 0.373859 0.00000 5 0.455788 0.455788 0.00000 6 0.398628 0.398628 0.00000 7 0.809289 0.809289 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.769397E-01 0.168023E-01 RATE: 129.972 595.156 TEST03 R4_NOR computes normal random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 8 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 -1.33701 -1.33701 0.00000 1 1.76707 1.76707 0.00000 2 0.673030 0.673030 0.00000 3 -0.489069E-01 -0.489069E-01 0.00000 4 -0.393083 -0.393083 0.00000 5 -0.447175 -0.447175 0.00000 6 -0.819305E-01 -0.819305E-01 0.00000 7 -0.861219 -0.861219 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.134192 0.285831E-01 RATE: 74.5202 349.857 TEST04 R4_EXP computes exponential random single precision real values. Since the output is completely determined by the input value of SEED and the tables, we can run in parallel as long as we make an array of seeds and share the tables. The number of threads is 8 Correctness check: Computing values sequentially should reach the same result as doing it in parallel: THREAD Sequential Parallel Difference 0 0.445202 0.445202 0.00000 1 0.451912 0.451912 0.00000 2 0.355638 0.355638 0.00000 3 0.743365 0.743365 0.00000 4 1.85271 1.85271 0.00000 5 0.674086 0.674086 0.00000 6 0.810988 0.810988 0.00000 7 0.686205 0.686205 0.00000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.133255 0.284570E-01 RATE: 75.0443 351.408 ZIGGURAT_OPENMP(): Normal end of execution. 9 May 2025 9:48:21.551 PM