| 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.
|
| |
|
|
|
|
|
| |
Add a self-test that ensure that all loops cover each grid point
exactly once.
|
|
|
|
|
|
| |
this is not foolproof (nor necessarily portable). It just checks that the
sum of sizeof(lc_statmap_t) and sizeof(lc_control_t) is the same as seen
from Fortran (via INQUIRE(IOLENGTH)) and C.
|
| |
|
|
|
|
|
| |
(scheduled at STARTUP) which can be triggered via LoopControl::run_demo = "yes"
and controled with LoopControl::n{xyz} and LoopControl:nsteps.
|
|
|
|
| |
darcs-hash:20071010133923-dae7b-a3406485d61ab795191655c89a16e2ae2c487978.gz
|
|
|
|
|
|
|
|
| |
(Nice idea, but doesn't seem to work right. Maybe only the parameters
need to be chosen differently? But I rather think that a more
intelligent method is necessary.)
darcs-hash:20070826025505-dae7b-ed81bc28a4204d84776d28443be65a995c52699b.gz
|
|
darcs-hash:20070821185122-dae7b-cde121a591484710e62b2b82453ef592d80786e4.gz
|