aboutsummaryrefslogtreecommitdiff
path: root/Carpet/LoopControl/src/loopcontrol_types.F90
Commit message (Collapse)AuthorAge
* LoopControl: RewriteErik Schnetter2013-01-16
| | | | | | | | 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
* LoopControl: Correct OpenMP parallelisation. Add self-tests.Erik Schnetter2011-12-14
| | | | | | | | | | 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.
* LoopControl: support vectorized loops in Fortran interfaceRoland Haas2011-12-14
|
* LoopControl: Implement cache-collaborative multi-threadingErik Schnetter2011-12-14
| | | | | | | | | | 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.
* LoopControl: New thorn which helps iterating over grid functions efficientlyErik Schnetter2007-08-21
darcs-hash:20070821185122-dae7b-cde121a591484710e62b2b82453ef592d80786e4.gz