-
Notifications
You must be signed in to change notification settings - Fork 17
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
Move comm profiling initialization into comm thread #626
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove #ifdef / #endif
around pre-declaration
6a219ab
to
c134744
Compare
the CI errors can be ignored @therault are you satisfied with the changes? If so please merge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remote_dep_mpi_profiling_init
function does two things: registers the dictionary entries for the communication thread and allocate the first bucket for the profiling stream. As far as I recall the dictionary must be created early in the process, this is not something that one can be part of the lazy initialization.
The correct approach would be to split the current remote_dep_mpi_profiling_init
function in two, one for registration (that must be called where remote_dep_mpi_profiling_init
is called today), and one doing memory allocation (basically the last 2 lines ofremote_dep_mpi_profiling_init
), that should be called from the communication thread.
c134744
to
39855f5
Compare
@bosilca please recheck |
Signed-off-by: Joseph Schuchart <schuchart@icl.utk.edu>
39855f5
to
0b3140f
Compare
The comm thread must call
remote_dep_mpi_profiling_init
to make sure it's thread-local variable is properly set.Supersedes #622