Caliper icon indicating copy to clipboard operation
Caliper copied to clipboard

Synchronizing time across MPI ranks

Open mrzv opened this issue 4 years ago • 3 comments

I would like to compare time.offset across traces from different MPI ranks. I notice in the Timestamp section, it says:

Note that timestamps are not synchronized between nodes in a distributed-memory program.

Is there some way to work around this? I realize that synchronizing clocks is a hopelessly complicated problem in general, but if I just wanted something like:

MPI_Barrier(MPI_COMM_WORLD);
caliper::reset_time();

Is there a way to achieve this?

mrzv avatar Nov 26 '19 20:11 mrzv

@tpeterka FYI

mrzv avatar Nov 26 '19 20:11 mrzv

Hi @mrzv ,

We currently don't have a way to reset timestamps. You can of course can manually post-process the trace data and update timestamps when you know where a barrier is.

daboehme avatar Nov 26 '19 22:11 daboehme

@daboehme This is quite a show-stopper for me. Would it be difficult to add something like reset_time()? Is this compatible with how services are designed now?

mrzv avatar Nov 26 '19 23:11 mrzv