-
Notifications
You must be signed in to change notification settings - Fork 69
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
Custom loop profile #521
Comments
Hi @termi-official , apologies for the delay. I think what you want should be possible with Caliper, but it may require some custom configuration and queries. Let's start with the custom
If you know these ahead of time you can also put them outside of the loop entirely. The I think the best strategy here is to collect a full profile into a .cali file and run queries on it. Once we have the queries figured out we can create a custom config to run the query online and produce text or json directly. The config to collect a full profile should look something like this:
The This should produce a .cali file, and you can run |
Thanks for the detailed response David. This clears up some of my questions. I could also track down that the file size literally exploded without setting For the number of elements, I do not know the number ahead of time as it is dynamically determined through an error estimation procedure. I have a first workflow where I first use cali-query to generate a table which I then filter with some scripts. I will definitely report back with some examples and will try myself with the new information here first. Btw, is it intended that the loop-report does not "see" the |
Yes, the loop-report config unfortunately doesn't recognize the `%mpi.rank% variable. In fact it currently doesn't have a flag to split output per rank at all right now. It should be possible to write a query to produce similar output though. |
Hi,
I am trying to benchmark adaptive finite element simulations using Caliper and I am super stuck in finding the correct configuration for caliper. Since I am cycling between the documentation page and permutating environment variable combinations for the last 3 days without any progress I am asking here for help.
Basically what I want is
On a very high level my program looks like this
To be specific, I want to generate a time series with time spent in MPI_Waitall+selected regions+total time+the 2 annotations per iteration in "Time Loop" to investigate how load imbalanced evolve for different load balancing strategies and numbers of processes. So my question is: How can this be achieved with Caliper? I am also happy with some external example from which I can start or the docs page, in case I missed something here.
Also related to this, is it possible that the docs are out of date? I could not really figure out where the code for the example here http://software.llnl.gov/Caliper/services.html#example can be found.
What I tried so far
My first try was to just write the raw data and use cali-query to bring it into the correct shape. With this I almost succeeded, but hit hard drive limitations very fast (since I could not figure out how to filter the event traces correctly) and I could not get the exact caliper query. Here is what I tried to generate the data
and for the query
My second attempt was to generate the required data in-situ. Here I first tried to do it via the aggregation service via
here no matter what I have put into
CALI_AGGREGATE_ATTRIBUTES
andCALI_AGGREGATE_KEY
I could not get anything meaningful. Furthermore, I am not understanding at all what I am doing wrong here and could not really deduce it from the docs, because the output is faulty in any case (the number of output columns change with each iteration and the data starts to interleave). I have just updated to master and can reproduce this.My latest idea was to make a custom loop-reporter, because it is closest to what I want. However, I was really not sure where I should even start after copy pasting
LoopReportController
. I also could not find how to extend the output of the loop controller from command line, or even just redirect the output to some specific file.Thanks in advance,
Dennis
The text was updated successfully, but these errors were encountered: