Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | LoopControl: Correct Fortran macros; provide Fortran wrappers | Erik Schnetter | 2013-01-21 | |
| | ||||
* | LoopControl: Update Fortran macros to follow cctk_Loop API | Erik Schnetter | 2013-01-20 | |
| | ||||
* | LoopControl: Add assert statements to loop macros to catch indexing errors | Erik Schnetter | 2013-01-20 | |
| | ||||
* | LoopControl: Correct indexing error with vectorisation | Erik Schnetter | 2013-01-20 | |
| | ||||
* | LoopControl: Store loop bounds in the provided variables | Erik Schnetter | 2013-01-19 | |
| | | | | Store the loop bounds in the provided variables, not in lc_imin and lc_imax. | |||
* | LoopControl: Run tests only with 2 processes | Erik Schnetter | 2013-01-18 | |
| | ||||
* | LoopControl: Circumvent Cray compiler bug | Erik Schnetter | 2013-01-17 | |
| | ||||
* | LoopControl: Rewrite | Erik Schnetter | 2013-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: Add missing copyprivate | Erik Schnetter | 2012-11-22 | |
| | ||||
* | LoopControl: Change printstats default to "no" | Erik Schnetter | 2012-10-19 | |
| | ||||
* | LoopControl: Modify code to please PGI compiler | Erik Schnetter | 2012-09-11 | |
| | | | | | Declare local variable outside of "#pragma for". Also improve some error messages. | |||
* | LoopControl: Remove redefinition of restrict qualifier | Erik Schnetter | 2012-09-11 | |
| | ||||
* | LoopControl: Explain why downcast is safe | Erik Schnetter | 2012-09-11 | |
| | ||||
* | LoopControl: Add some comments to field declarations | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Add more self-checking | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Add many asserts to check correctness at run time | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Remove explicit attribute(pure) declarations | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Disable random-restart hill climbing by default | Erik Schnetter | 2011-12-14 | |
| | | | | | | Disable random-restart hill climbing by default, as this makes a certain segfault vanish. (We don't know the cause of the segfault yet.) | |||
* | LoopControl: Correct OpenMP parallelisation. Add self-tests. | Erik Schnetter | 2011-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: Make selftest conditional on a parameter | Erik Schnetter | 2011-12-14 | |
| | | | | | Make selftest conditional on a new parameter do_selftest. Use atomic OpenMP statements in selftest. | |||
* | LoopControl: Improve checking Fortran type sizes | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Disable some unused code | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Add a self-test | Erik Schnetter | 2011-12-14 | |
| | | | | | Add a self-test that ensure that all loops cover each grid point exactly once. | |||
* | LoopControl: Improve error message for illegal loop shapes | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: change storage size calculation to work with Intel 11.1 | Roland Haas | 2011-12-14 | |
| | | | | | | | | it seems that ifort's INQUIRE statement returns the byte size of a record divided by four. Maybe it is counting ints? This one uses pointer arithmetic and will work unless Fortran pads the structures differently than C or if a compiler allocates some temporaries when members of arrays are passed to functions. | |||
* | LoopControl: check that Fortran structures match C structures at startup | Roland Haas | 2011-12-14 | |
| | | | | | | 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. | |||
* | LoopControl: support vectorized loops in Fortran interface | Roland Haas | 2011-12-14 | |
| | ||||
* | LoopControl: Align inner loop boundaries with vector sizes, if vectorisation ↵ | Erik Schnetter | 2011-12-14 | |
| | | | | is used | |||
* | LoopControl: Ensure that LoopControl is active if it is used | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Ensure there is at least one possible tiling | Erik Schnetter | 2011-12-14 | |
| | | | | | Ensure there is at least one possible tiling, creating a fake tiling if there are zero grid points. | |||
* | LoopControl: Update statistics; activate statistics by default | Erik Schnetter | 2011-12-14 | |
| | | | | | | | | Handle very small grids correctly. Output statistics all the time. Introduce multiple verbosity levels for statistics. Update statistics to include saved time and comparison between best and initial time. Activate hill climbing algorithm by default. | |||
* | LoopControl: Override the flesh CCTK_LOOP macros | Erik Schnetter | 2011-12-14 | |
| | | | | | | Override the flesh CCTK_LOOP macros, so that one can use CCTK_LOOP instead of LC_LOOP. Remove some outdated vectorisation code. Ensure the LC_LOOP and LC_ENDLOOP macros match in pairs. | |||
* | LoopControl: remove restrict keyword for lc_topology_t because we do modify ↵ | knarf | 2011-12-14 | |
| | | | | it using realloc | |||
* | LoopControl: realloc more memory for thread structures when needed instead ↵ | knarf | 2011-12-14 | |
| | | | | of aborting | |||
* | LoopControl: be more verbose with error abour thread count inconsistency) | knarf | 2011-12-14 | |
| | ||||
* | LoopControl: Add loop macros for vectorised code | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Comment out unused routine | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Reformat some statements | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Correct some comments | Erik Schnetter | 2011-12-14 | |
| | ||||
* | - protect some mallocs | knarf | 2011-12-14 | |
| | | | | - fix some compiler warnings | |||
* | LoopControl: Disable demo code | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Correct error in handling loop with different numbers of threads | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Add white space | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Include <sys/time.h> if necessary | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Correct handling empty regions | Erik Schnetter | 2011-12-14 | |
| | ||||
* | LoopControl: Implement cache-collaborative multi-threading | Erik Schnetter | 2011-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. | |||
* | Import Carpet | Erik Schnetter | 2011-12-14 | |
| | | | | Ignore-this: 309b4dd613f4af2b84aa5d6743fdb6b3 | |||
* | Merge branch 'master' of /Users/eschnett/Cbeta/carpet/ | Erik Schnetter | 2009-01-27 | |
|\ | ||||
| * | LoopControl: Do not use <tgmath.h> | Erik Schnetter | 2009-01-27 | |
| | | ||||
* | | Merge branch 'master' of /Users/eschnett/Cbeta/carpet/ | Erik Schnetter | 2009-01-26 | |
|\| |