6 October 2025 6:53:01.190 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.616066E-01 0.600483E-01 RATE: 162.320 166.533 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.712628E-01 0.716765E-01 RATE: 140.326 139.516 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.129394 0.129905 RATE: 77.2834 76.9791 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.127992 0.132539 RATE: 78.1299 75.4492 ziggurat_openmp(): Normal end of execution. 6 October 2025 6:53:01.975 PM 6 October 2025 6:53:01.976 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.617133E-01 0.346445E-01 RATE: 162.040 288.646 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.722830E-01 0.375237E-01 RATE: 138.345 266.498 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.133195 0.676591E-01 RATE: 75.0782 147.800 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.129822 0.693747E-01 RATE: 77.0287 144.145 ziggurat_openmp(): Normal end of execution. 6 October 2025 6:53:02.583 PM 6 October 2025 6:53:02.585 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.607279E-01 0.158456E-01 RATE: 164.669 631.088 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.718498E-01 0.189466E-01 RATE: 139.179 527.800 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.130325 0.344494E-01 RATE: 76.7310 290.281 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.129116 0.348820E-01 RATE: 77.4496 286.681 ziggurat_openmp(): Normal end of execution. 6 October 2025 6:53:03.081 PM 6 October 2025 6:53:03.083 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.633304E-01 0.146941E-01 RATE: 157.902 680.545 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.766908E-01 0.168371E-01 RATE: 130.394 593.925 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.133753 0.286032E-01 RATE: 74.7647 349.611 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.131552 0.284126E-01 RATE: 76.0158 351.956 ziggurat_openmp(): Normal end of execution. 6 October 2025 6:53:03.577 PM