4 October 2023 2:24:15.905 PM ziggurat_openmp(): FORTRAN77 version The number of processors = 16 The number of threads = 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.437635E-01 0.411777E-01 RATE: 228.501 242.850 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.660512E-01 0.660512E-01 0.00000 Efficiency check: Computing values in parallel should be faster. Sequential Parallel TIME: 0.464699E-01 0.458904E-01 RATE: 215.193 217.910 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.948858E-01 0.104150 RATE: 105.390 96.0156 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.954464E-01 0.103379 RATE: 104.771 96.7316 ziggurat_openmp(): Normal end of execution. 4 October 2023 2:24:16.480 PM 4 October 2023 2:24:16.482 PM ziggurat_openmp(): FORTRAN77 version The number of processors = 16 The number of threads = 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.418868E-01 0.205229E-01 RATE: 238.739 487.261 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.466312E-01 0.240158E-01 RATE: 214.449 416.393 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.945483E-01 0.510525E-01 RATE: 105.766 195.877 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.942771E-01 0.517669E-01 RATE: 106.070 193.173 ziggurat_openmp(): Normal end of execution. 4 October 2023 2:24:16.907 PM 4 October 2023 2:24:16.909 PM ziggurat_openmp(): FORTRAN77 version The number of processors = 16 The number of threads = 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.413916E-01 0.117143E-01 RATE: 241.595 853.659 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.470402E-01 0.126526E-01 RATE: 212.584 790.352 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.957291E-01 0.263416E-01 RATE: 104.461 379.627 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.948637E-01 0.262263E-01 RATE: 105.414 381.297 ziggurat_openmp(): Normal end of execution. 4 October 2023 2:24:17.265 PM