From 27461a762da51d0c3151e7a55f13719e393ebded Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Thu, 15 Aug 2013 13:14:28 -0600 Subject: LoopControl: Add debug output to help track down assertion failure --- Carpet/LoopControl/src/loopcontrol.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Carpet/LoopControl/src/loopcontrol.cc b/Carpet/LoopControl/src/loopcontrol.cc index 391757162..c4a2f6be1 100644 --- a/Carpet/LoopControl/src/loopcontrol.cc +++ b/Carpet/LoopControl/src/loopcontrol.cc @@ -823,13 +823,20 @@ void lc_control_init(lc_control_t *restrict const control, } // Allocate fine thread communicators - if (int(lc_fine_thread_comm.size()) < get_num_coarse_threads()) { + int ftcs, gnct; + if ((ftcs=int(lc_fine_thread_comm.size())) < (gnct=get_num_coarse_threads())) { #pragma omp barrier + if (not ((int(lc_fine_thread_comm.size()) < get_num_coarse_threads()))) { +#pragma omp critical + cout << "thread: " << omp_get_thread_num() << " " + << "ftcs1=" << ftcs << " " + << "gnct1=" << gnct << " " + << "ftcs2=" << lc_fine_thread_comm.size() << " " + << "gnct2=" << get_num_coarse_threads() << "\n" << flush; + } assert(int(lc_fine_thread_comm.size()) < get_num_coarse_threads()); #pragma omp master - { - lc_fine_thread_comm.resize(get_num_coarse_threads()); - } + lc_fine_thread_comm.resize(get_num_coarse_threads()); #pragma omp barrier assert(int(lc_fine_thread_comm.size()) == get_num_coarse_threads()); } -- cgit v1.2.3