parsec icon indicating copy to clipboard operation
parsec copied to clipboard

parsec_ce initialization: bug in PTG with dynamic termination detection

Open therault opened this issue 2 years ago • 5 comments

Describe the bug

parsec_ce is not initialized by default when we create the taskpool. It is only initialized lazily after the context is started.

When enabling dynamic termination detection in PTG (either via the %option dynamic option in the JDF, or via the --dynamic-termdet flag to parsec_ptgpp), the generated code in taskpool_new() installs a dynamic termination detector (fourcounter today).

This calls mca_component_query() on the fourcounter termination detector module, which calls parsec_ce.tag_register() and segfaults.

To Reproduce

  1. Checkout dplasma master with parsec master
  2. Enable dynamic termination detection with the PTGs of DPLASMA by passing -DPARSEC_PTGPP_FLAGS=--dynamic-termdet at configure time
  3. Run any (single process or multiprocess) dplasma test. ./tests/testing_dgemm -N 1000 for example.

Expected behavior

Should run to completion. Doesn't.

Environment (please complete the following information):

  • PaRSEC master & DPLASMA master

Additional context

Adding remote_dep_mpi_on(ctx); at the end of parsec_context_t* setup_parsec(int argc, char **argv, int *iparam) in DPLASMA solves the problem, but I assume this is not what we want to do.

therault avatar Nov 03 '22 22:11 therault