Commit 78d3c225 authored by incardon's avatar incardon

Added informetion to the report

parent b76568f8
......@@ -85,7 +85,7 @@ then
if [ $? -ne 0 ]; then exit 1 ; fi
salloc --nodes=8 --ntasks-per-node=16 --time=00:05:00 --mem-per-cpu=1900 --partition=sandy mpirun -np 128 src/vcluster
if [ $? -ne 0 ]; then exit 1 ; fi
salloc --nodes=16 --ntasks-per-node=16 --time=00:10:00 --mem-per-cpu=1900 --partition=sandy mpirun -np 256 src/vcluster
salloc --nodes=16 --ntasks-per-node=16 --time=00:5:00 --mem-per-cpu=1900 --partition=sandy mpirun -np 256 src/vcluster
if [ $? -ne 0 ]; then exit 1 ; fi
else
......
......@@ -556,12 +556,15 @@ public:
{MPI_SAFE_CALL(MPI_Ibarrier(MPI_COMM_WORLD,&bar_req));reached_bar_req = true;}
}
// Check if all processor reach the async barrier
// barrier status
MPI_Status bar_stat;
// Check if all processor reached the async barrier
if (reached_bar_req)
{MPI_SAFE_CALL(MPI_Test(&bar_req,&flag,MPI_STATUSES_IGNORE))};
{MPI_SAFE_CALL(MPI_Test(&bar_req,&flag,&bar_stat))};
// produce a report if communication get stuck
log.NBXreport(NBX_cnt,req);
log.NBXreport(NBX_cnt,req,reached_bar_req,bar_stat);
} while (flag == false);
......
......@@ -88,7 +88,7 @@ public:
* \param nbx
* \param send request
*/
void NBXreport(size_t nbx, openfpm::vector<MPI_Request> & req)
void NBXreport(size_t nbx, openfpm::vector<MPI_Request> & req, bool reach_b, MPI_Status bar_stat)
{
// req and s_log must match
......@@ -126,6 +126,15 @@ public:
f << "Received from: " << r_log.get(j).MPI_SOURCE << " with tag " << r_log.get(j).MPI_TAG << "\n";
}
// Barrier status
if (reach_b == true)
f << "Barrier status: active\n";
else
f << "Barrier status: inactive\n";
f << "======================================================================\n";
f.flush();
......@@ -158,7 +167,7 @@ public:
inline void openLog(size_t rank) {}
inline void logRecv(MPI_Status & stat) {}
inline void logSend(size_t prc) {}
inline void NBXreport(size_t nbx, openfpm::vector<MPI_Request> & req) {}
inline void NBXreport(size_t nbx, openfpm::vector<MPI_Request> & req, bool reach_b, MPI_Status bar_stat) {}
inline void clear() {};
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment