Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Created TimeTasks class for coarse-level profiling #17

Closed
alecjohnson opened this issue Jun 4, 2013 · 4 comments
Closed

Created TimeTasks class for coarse-level profiling #17

alecjohnson opened this issue Jun 4, 2013 · 4 comments

Comments

@alecjohnson
Copy link
Contributor

I am creating

  utility/TimeTasks.h

implemented in

  utility/diagnostics.cpp

to perform coarse-level self-profiling.

The essential tasks to profile are:

  • computing moments
  • computing fields
  • pushing particles

The time spent in each task is subdivided into

  • computation
  • communication

This class is conceived of as a singleton.

Statistics are accumulated via calls to start_() and end_() methods at the beginning and end of major procedure calls and at the beginning and end of communication routines such as those found in "communication/ComNodes3D.h". The start() and end() methods call MPI_Wtime().

Detailed behavior regarding accumulation or averaging of statistics across MPI processes and/or cycles of the algorithm is not yet specified.

alecjohnson added a commit to alecjohnson/iPic3D that referenced this issue Jun 4, 2013
alecjohnson added a commit to alecjohnson/iPic3D that referenced this issue Jun 4, 2013
@murci3lag0
Copy link
Contributor

Isn't this done by profiling tools like Scalasca?

@markidis
Copy link

markidis commented Jun 4, 2013

i think it's very useful to have some low-overhead performance measurement directly in iPIC3D. I wouldn't write more code than what Alec implemented. Other tools can be used for more fine-grained performance tracing.

@alecjohnson
Copy link
Contributor Author

Thanks. Agreed. I wouldn't want to fill the code with
book-keeping calls at the beginning and end of every trivial
function. But I would also like to avoid having to instrument
with full-blown profiling on every platform just to get the
coarsest statistics, which can be accomplished with book-keeping
calls at the beginning and end of a small number of functions.

Alec

On Tue, Jun 04, 2013 at 04:20:11PM -0700, markidis wrote:

i think it's very useful to have some low-overhead performance measurement
directly in iPIC3D. I wouldn't write more code than what Alec implemented.
Other tools can be used for more fine-grained performance tracing.


Reply to this email directly or view it on GitHub.*

@murci3lag0
Copy link
Contributor

Added to master branch.

alecjohnson added a commit to alecjohnson/iPic3D that referenced this issue Jul 16, 2013
…ion time for accumulating moments was being reckoned as calculation time.
alecjohnson added a commit to alecjohnson/iPic3D that referenced this issue Jul 16, 2013
…ion time for accumulating moments was being reckoned as calculation time.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants