Commit 78d3c225 authored by incardon's avatar incardon
Browse files

Added informetion to the report

parent b76568f8
...@@ -85,7 +85,7 @@ then ...@@ -85,7 +85,7 @@ then
if [ $? -ne 0 ]; then exit 1 ; fi 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 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 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 if [ $? -ne 0 ]; then exit 1 ; fi
else else
......
...@@ -556,12 +556,15 @@ public: ...@@ -556,12 +556,15 @@ public:
{MPI_SAFE_CALL(MPI_Ibarrier(MPI_COMM_WORLD,&bar_req));reached_bar_req = true;} {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) 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 // 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); } while (flag == false);
......
...@@ -88,7 +88,7 @@ public: ...@@ -88,7 +88,7 @@ public:
* \param nbx * \param nbx
* \param send request * \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 // req and s_log must match
...@@ -126,6 +126,15 @@ public: ...@@ -126,6 +126,15 @@ public:
f << "Received from: " << r_log.get(j).MPI_SOURCE << " with tag " << r_log.get(j).MPI_TAG << "\n"; 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 << "======================================================================\n";
f.flush(); f.flush();
...@@ -158,7 +167,7 @@ public: ...@@ -158,7 +167,7 @@ public:
inline void openLog(size_t rank) {} inline void openLog(size_t rank) {}
inline void logRecv(MPI_Status & stat) {} inline void logRecv(MPI_Status & stat) {}
inline void logSend(size_t prc) {} 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() {}; 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