| Commit message (Collapse) | Author | Age |
|
|
|
| |
Update Fortran macros to conform to recent changes
|
|
|
|
|
|
|
|
|
|
| |
Redesigned internal data structures. This touches many parts of the code.
Keep statistics about past loop iterations. Output statistics when terminating.
Use these statistics to dynamically choose looping parameters.
Allow disabling this feature, e.g. for benchmarks.
|
| |
|
|
|
|
| |
Also clean up code.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add parameter printstatus. Output statistics only if desired.
Add parameter legacy_init as new initial parallelisation choice.
Add parameter ignore_initial_overhead, which ignores the first time
the loop is encountered when optimising the parallelisation.
Correct serious inconsistency when choosing the tiling.
Output average loop time as well.
darcs-hash:20080204211904-dae7b-ef0175704efb2c8e0e20ee6ee04a468803b3a5ec.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
|