#2289: CT_MultiLevel tests abort when run using more than one thread via simfactory
Reporter:Roland Haas
Status:new
Milestone:
Version:
Type:bug
Priority:minor
Component:EinsteinToolkit thorn

In git hash f813545 "CT_MultiLevel: request single-thread execution of all tests." of ctthorns the CT_MultiLevel tests were changed to force a single OpenMP thread. This is a good thing as there is a (known, harmless) race condition in the Gauss-Seidel sweep that the code uses when more than a single thread is used which renders results non-deterministic.

Unfortunately the change interferes badly with the sanity checks in Carpet using CACTUS_NUM_THREADS to check that the number of threads requested in the RunScript agrees with the number of threads that Carpet sees in use during its SetupGH routine:

if (cactus_num_threads != mynthreads) {
  CCTK_VWarn(CCTK_WARN_ABORT, __LINE__, __FILE__, CCTK_THORNSTRING,
             "The environment variable CACTUS_NUM_THREADS is set to %d, "
             "but there are %d threads on this process. This may "
             "indicate a severe problem with the OpenMP startup "
             "mechanism.",
             cactus_num_threads, mynthreads);
}

which uses the env variable CA

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2289/ct_multilevel-tests-abort-when-run-using