| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Rewrite code in C++.
Remove dependency on GSL.
Modify algorithm; now traverses arrays bottom-up (by splitting the looping region into equal-sized blocks) instead of top-down (splitting the region into a certain number of blocks)
Make multi-threading dynamic
Support SMT (hyper-threading), i.e. threads which share the same cache
|
|
|
|
|
|
|
|
|
|
| |
Correct the OpenMP parallelisation: Previously, when the loop size is
not a multiple of the block size assigned to each OpenMP thread, some
grid points would be traversed multiple times.
Add new parameter do_selftest that enables (somewhat expensive)
self-tests to ensure in each loop that each grid point is traversed
exactly once.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Ignore-this: 5169757c7749834ae595d4d73b39220
Add a new, additional feature to LoopControl: different threads can
work on small regions that are likely to use the same cache entries as
other threads, trying to reduce cache pressure. This makes sense
mostly when the regions are still expensive although they are small,
e.g. for the BSSN RHS.
|
|
darcs-hash:20070821185122-dae7b-cde121a591484710e62b2b82453ef592d80786e4.gz
|