06 September 2018 11:08:20 AM
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.070797 0.066838
RATE: 141.249061 149.616390
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.297684 0.304923
RATE: 33.592719 32.795215
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.158088 0.166920
RATE: 63.256052 59.909098
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.837340 0.842756
RATE: 11.942583 11.865836
ZIGGURAT_OPENMP:
Normal end of execution.
06 September 2018 11:08:23 AM
06 September 2018 11:08:23 AM
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.071003 0.036295
RATE: 140.839921 275.519528
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.317376 0.160096
RATE: 31.508351 62.462606
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.168982 0.085940
RATE: 59.177797 116.360897
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.866709 0.444665
RATE: 11.537899 22.488831
ZIGGURAT_OPENMP:
Normal end of execution.
06 September 2018 11:08:25 AM
06 September 2018 11:08:25 AM
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.070412 0.018853
RATE: 142.022158 530.432476
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.294859 0.084151
RATE: 33.914528 118.833755
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.171211 0.044466
RATE: 58.407328 224.892830
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.836783 0.234431
RATE: 11.950528 42.656564
ZIGGURAT_OPENMP:
Normal end of execution.
06 September 2018 11:08:27 AM