aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/timestat.hh
Commit message (Collapse)AuthorAge
* CarpetLib: Define elapsed() when CycleClock provides no timerErik Schnetter2013-10-11
|
* Carpet: Make dependency on CycleClock optionalErik Schnetter2013-10-10
|
* CarpetLib, CycleClock: Move cycle counting clock into its own thornErik Schnetter2012-12-21
| | | | | | New thorn CycleClock, mostly taken out of CarpetLib. This thorn provides an (almost) cycle-accurate clock, taken from FFTW. This clock is both directly accessible, and is also wrapped in a Cactus clock. Note: Applying this commit will require adding thorn CycleClock to thorn lists and parameter files.
* CarpetLib: Remove/correct ATTRIBUTE_CONST and ATTRIBUTE_PURE declarationsErik Schnetter2012-09-11
|
* CarpetLib: Use timing routines from FFTW libraryErik Schnetter2008-01-14
| | | | | | | | | | Use the timing routines from FFTW library. These contain platform-specific code for many different platforms. Remove parameter timestat_timer, since the timer is now chosen automatically. darcs-hash:20080114150519-dae7b-d979aa53a1470335b3ace353e862eef13670958d.gz
* CarpetLib: Improve timersErik Schnetter2007-02-03
| | | | | | | | | | | | Implement a second timer based on Intel's rdtsc instruction, which is much faster and much more accurate than MPI_Wtime. Place the timer classes into the CarpetLib namespace. Create a TimerSet class. Make the Timer class automatically register all timers with a singleton object, removing all global variables. darcs-hash:20070203211128-dae7b-42765e79446eda6a2337ba22cd390869055c555a.gz
* CarpetLib: Reorganise prolongation and restriction operatorsErik Schnetter2007-01-12
| | | | | | | | | | | | | | | | | | | | | | | | Reorganise prolongation and restriction operators. This is a major implementation change. Most operators are now written as C++ templates instead of as Fortran 77 code. This simplifies the code, since C++ routines can be called more easily, and they also have access to CarpetLib's high-level data structures. Previously, the operators combined temporal and spatial interpolation. Now, time interpolation and space interpolation are handled separately. This may be less efficient, but simplifies the code significantly, since there are now N+M instead of N*M routines, for N time interpolation and M space interpolation methods. Remove the minmod prolongation operator, which was previously disabled. Add support for cell centering, using a method described by Simon Hern, and suggested for Carpet by Ian Hawke. darcs-hash:20070112205812-dae7b-5329795aa698e7bbc3671b1504134885dd830238.gz
* CarpetLib: Make many MPI experiments configurableErik Schnetter2006-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new parameters: BOOLEAN interleave_communications: Try to interleave communications with each other; each processor begins to communicate with its 'right neighbour' in rank, instead of with the root processor BOOLEAN vary_tags: Use different tags for each communication BOOLEAN barrier_between_stages: Add a barrier between the communication stages (slows down, but may make timing numbers easier to interpret) BOOLEAN combine_sends: Send data together and in order of processor ranks BOOLEAN reduce_mpi_waitall: Call MPI_Waitall only for requests that are not null BOOLEAN use_mpi_send: Use MPI_Send instead of MPI_Isend BOOLEAN use_mpi_ssend: Use MPI_Ssend instead of MPI_Isend darcs-hash:20061206165333-dae7b-8ba40bd19fb1733336e60cb7e6bfa0ebfe0d546d.gz
* CarpetLib: Add timers for each prolongation operatorErik Schnetter2006-09-25
| | | | | | Add more timers, one timer for each kind of prolongation operator. darcs-hash:20060925214744-dae7b-00f47d74c2cdccdd8d5ee05a88973543116678e9.gz
* CarpetLib: Collect more timing informationErik Schnetter2006-09-04
| | | | | | | Extend the CarpetLib timers so that they also count the number of bytes transmitted in addition to the wall time. darcs-hash:20060904020649-dae7b-7a18c2fbe2de09d662b4154a3ae2e553ad57c12b.gz
* CarpetLib: Extend timing statisticsErik Schnetter2006-07-31
| | | | | | | | | | Add timers for the new communication infrastructure. Enhance the timers to also track the minimum and maximum time spent. Add a parameter to output timing information to files. darcs-hash:20060731152618-dae7b-1d049b2b37397610c14648078fd0ee92f252ca2a.gz
* CarpetLib: Add lightweight communication buffers (untested)Erik Schnetter2005-01-02
| | | | | | | | | | | Lightweight communication buffers use essentially only a vector<T> instead of a data<T> to transfer data between processors. This should reduce the computational overhead. Set the parameter "use_lightweight_buffers" to use this feature. This feature is completely untested. darcs-hash:20050102173524-891bb-6a3999cbd63e367c8520c175c8078374d294eaa8.gz
* CarpetLib: Correct errors in declaration of timestatErik Schnetter2005-01-01
| | | | darcs-hash:20050101185325-891bb-197dd6cea208ec8d17507e31d99c22f0161fa21b.gz
* CarpetLib: Move class timestat into its own fileErik Schnetter2005-01-01
darcs-hash:20050101171429-891bb-130630de8631b8f9bbe494e135662ffb089ecca0.gz