Open neapel opened 11 years ago
I suggest to use nonlinear oscillator lattices, I have some tuned codes for that already we can check against.
1725e45ac5a41b14ae0e has a trivial benchmark to check if there's any kind of speedup but the values vary wildly with gcc's OpenMP library, with Intel's it's more stable...
Maybe 1024 lorenz systems is still not enough to benefit from parallelization? For a proper benchmark I suggest to look at the scaling with cores. For such a loranz example, which is completely uncoupled, it should scale almost perfectly with the number of cores (or memory bandwidth for that matter)
Benchmark results for GCC 4.7.3 and ICC 13.1.1 on i7-3770 with (short) n=4096, 1024steps; (long) n=4194304, 1step; using (split) openmp_algebra
=openmp_nested_algebra<range_algebra>
with openmp_state
or (simple) openmp_range_algebra
with vector
. All cases with schedule(runtime)
and OMP_SCHEDULE=static
.
Measure speedup