10 May 2025 01:24:52 PM ziggurat_openmp(): C version Number of processors available = 8 Number of threads = 1 TEST01 SHR3_SEEDED 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.061135 0.060116 RATE: 163.573650 166.345656 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.066051 0.066051 0.000000 Efficiency check: Computing values in parallel should be faster:' Sequential Parallel TIME: 0.287754 0.286099 RATE: 34.751959 34.952955 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.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.133575 0.132524 RATE: 74.864459 75.457789 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.113969 0.113969 0.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.732464 0.729440 RATE: 13.652545 13.709140 ziggurat_openmp(): Normal end of execution. 10 May 2025 01:24:55 PM 10 May 2025 01:24:55 PM ziggurat_openmp(): C version Number of processors available = 8 Number of threads = 2 TEST01 SHR3_SEEDED 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.060860 0.030847 RATE: 164.310325 324.182914 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.000000 1 0.617119 0.617119 0.000000 Efficiency check: Computing values in parallel should be faster:' Sequential Parallel TIME: 0.286932 0.146949 RATE: 34.851416 68.050734 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.000000 1 -1.070512 -1.070512 0.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.132228 0.067754 RATE: 75.627220 147.591941 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 0.332266 0.332266 0.000000 1 0.605476 0.605476 0.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.733602 0.372479 RATE: 13.631369 26.847146 ziggurat_openmp(): Normal end of execution. 10 May 2025 01:24:56 PM 10 May 2025 01:24:56 PM ziggurat_openmp(): C version Number of processors available = 8 Number of threads = 4 TEST01 SHR3_SEEDED 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.060806 0.015950 RATE: 164.458250 626.958107 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.000000 1 0.525170 0.525170 0.000000 2 0.130314 0.130314 0.000000 3 0.944491 0.944491 0.000000 Efficiency check: Computing values in parallel should be faster:' Sequential Parallel TIME: 0.288157 0.075440 RATE: 34.703355 132.556482 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.000000 1 0.314686 0.314686 0.000000 2 -0.989801 -0.989801 0.000000 3 -1.487724 -1.487724 0.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.132809 0.034838 RATE: 75.296040 287.044062 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.427391 0.427391 0.000000 1 0.162032 0.162032 0.000000 2 0.125027 0.125027 0.000000 3 0.264089 0.264089 0.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.731190 0.190571 RATE: 13.676338 52.473798 ziggurat_openmp(): Normal end of execution. 10 May 2025 01:24:58 PM 10 May 2025 01:24:58 PM ziggurat_openmp(): C version Number of processors available = 8 Number of threads = 8 TEST01 SHR3_SEEDED 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.063040 0.014951 RATE: 158.628319 668.832167 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.000000 1 0.196424 0.196424 0.000000 2 0.538894 0.538894 0.000000 3 0.596126 0.596126 0.000000 4 0.373859 0.373859 0.000000 5 0.455788 0.455788 0.000000 6 0.398628 0.398628 0.000000 7 0.809289 0.809289 0.000000 Efficiency check: Computing values in parallel should be faster:' Sequential Parallel TIME: 0.292358 0.048152 RATE: 34.204593 207.674559 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.337011 -1.337011 0.000000 1 1.767073 1.767073 0.000000 2 0.673030 0.673030 0.000000 3 -0.048907 -0.048907 0.000000 4 -0.393083 -0.393083 0.000000 5 -0.447175 -0.447175 0.000000 6 -0.081930 -0.081930 0.000000 7 -0.861219 -0.861219 0.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.135967 0.030840 RATE: 73.547478 324.255393 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 1.330563 1.330563 0.000000 1 0.276245 0.276245 0.000000 2 0.123901 0.123901 0.000000 3 0.348290 0.348290 0.000000 4 0.348777 0.348777 0.000000 5 0.145308 0.145308 0.000000 6 0.669387 0.669387 0.000000 7 0.877301 0.877301 0.000000 Efficiency check: Computing values in parallel should be faster: Sequential Parallel TIME: 0.740207 0.132892 RATE: 13.509742 75.249204 ziggurat_openmp(): Normal end of execution. 10 May 2025 01:24:59 PM