03 August 2020 09:56:19 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.075389 0.067421 RATE: 132.645381 148.322804 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.322003 0.315834 RATE: 31.055652 31.662212 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.158604 0.159434 RATE: 63.049987 62.721994 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.857617 0.867010 RATE: 11.660210 11.533895 ZIGGURAT_OPENMP: Normal end of execution. 03 August 2020 09:56:22 PM 03 August 2020 09:56:22 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.069538 0.035817 RATE: 143.805731 279.193732 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.316755 0.166158 RATE: 31.570151 60.183523 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.157141 0.084644 RATE: 63.637258 118.141939 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.843423 0.453857 RATE: 11.856452 22.033373 ZIGGURAT_OPENMP: Normal end of execution. 03 August 2020 09:56:24 PM 03 August 2020 09:56:24 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.071430 0.018897 RATE: 139.997059 529.170777 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.321836 0.088085 RATE: 31.071706 113.527175 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.159862 0.044470 RATE: 62.553921 224.871170 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.857991 0.239957 RATE: 11.655139 41.674119 ZIGGURAT_OPENMP: Normal end of execution. 03 August 2020 09:56:26 PM 03 August 2020 09:56:26 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.073964 0.017793 RATE: 135.200483 562.026352 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.322274 0.055556 RATE: 31.029476 179.998058 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.162868 0.035730 RATE: 61.399353 279.873000 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.859433 0.170181 RATE: 11.635582 58.761004 ZIGGURAT_OPENMP: Normal end of execution. 03 August 2020 09:56:27 PM