- changed status to resolved
Allow `experimental::relo::debug*()` before init()
CCS segment mapping is performed during static initialization before main()
. As such it would be nice if the experimental::relo::debug*()
functions for dumping CCS process mapping state were available before init()
, but currently they crash in DEBUG mode for a trivial reason, because they invoke upcxx::rank_me()
.
Copied from this comment in PR 434:
It would be nicer if these internal debugging functions accepted a const std::string &line_prefix
argument, instead of hard-coding every line to start with '[' << rank_me() << ']'
.
In particular, rank_me()
is invalid to call before upcxx::init() and will assert in a DEBUG build, which means one currently cannot dump the contents of the segment map for inspection before upcxx::init(). A more robust implementation of upcxx::experimental::relo::debug*()
would check upcxx::initialized()
and pass a line prefix like gasnett_gethostname() + ":" + getpid()
instead.
Comments (1)
-
reporter - Log in to comment
Issue 545: Allow
experimental::relo::debug*()
beforeinit()
Resolves issue
#545→ <<cset 6659a0749d49>>