You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running hello world with CHPL_TASKS=fifo + CHPL_COMM=gasnet segfaults during runtime startup. Using GASNET_BACKTRACE=1, I traced this to a failure in partitionResources, because topology is NULL.
I believe this is because partitionResources is called when it should not be. Making the following to chpl_topo_post_comm_init (to match other chpl_topo_ functions) partially fixes the issue
After making this change, hello world exists with "error: number of cpus is uninitialized". So something needs to be done to properly initialize the number of cpus
One way this can be done is by changing chpl_topo_pre_comm_init to make sure it initializes the topology when using tasks=fifo, but this feels heavy handed (based on code comments).
I think this is only an issue when CHPL_HWLOC is not explicitly set, as it defaults to CHPL_HWLOC=none when CHPL_TASKS!=qthreads. And with CHPL_HWLOC=none, this code is not used.
I discussed this offline with @jhh67, we determined that the correct thing to do is the "heavy handed" approach and just make sure to initialize topology when CHPL_TASKS=fifo. This led to removing haveTopology entirely, as now the check for CHPL_TASKS is whether it is fifo or qthreads, which will always be true.
Running hello world with CHPL_TASKS=fifo + CHPL_COMM=gasnet segfaults during runtime startup. Using
GASNET_BACKTRACE=1
, I traced this to a failure inpartitionResources
, becausetopology
is NULL.I believe this is because
partitionResources
is called when it should not be. Making the following tochpl_topo_post_comm_init
(to match otherchpl_topo_
functions) partially fixes the issueAfter making this change, hello world exists with "error: number of cpus is uninitialized". So something needs to be done to properly initialize the number of cpus
One way this can be done is by changing
chpl_topo_pre_comm_init
to make sure it initializes the topology when using tasks=fifo, but this feels heavy handed (based on code comments).I think this is only an issue when
CHPL_HWLOC
is not explicitly set, as it defaults toCHPL_HWLOC=none
whenCHPL_TASKS!=qthreads
. And withCHPL_HWLOC=none
, this code is not used.chplenv
The text was updated successfully, but these errors were encountered: