aboutsummaryrefslogtreecommitdiff
path: root/Source/Initialization/WarpXInitData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Initialization/WarpXInitData.cpp')
-rw-r--r--Source/Initialization/WarpXInitData.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp
index d8b6cdd16..98c4b448c 100644
--- a/Source/Initialization/WarpXInitData.cpp
+++ b/Source/Initialization/WarpXInitData.cpp
@@ -62,7 +62,7 @@
#include <string>
#include <utility>
#include <vector>
-
+#include <sstream>
using namespace amrex;
@@ -757,8 +757,9 @@ WarpX::PerformanceHints ()
for (int ilev = 0; ilev <= finestLevel(); ++ilev) {
total_nboxes += boxArray(ilev).size();
}
- if (ParallelDescriptor::NProcs() > total_nboxes)
- amrex::Print() << "\n[Warning] [Performance] Too many resources / too little work!\n"
+ if (ParallelDescriptor::NProcs() > total_nboxes){
+ std::stringstream warnMsg;
+ warnMsg << "Too many resources / too little work!\n"
<< " It looks like you requested more compute resources than "
<< "there are total number of boxes of cells available ("
<< total_nboxes << "). "
@@ -773,6 +774,9 @@ WarpX::PerformanceHints ()
<< " More information:\n"
<< " https://warpx.readthedocs.io/en/latest/running_cpp/parallelization.html\n";
+ WarpX::GetInstance().RecordWarning("Performance", warnMsg.str(), WarnPriority::high);
+ }
+
// TODO: warn if some ranks have disproportionally more work than all others
// tricky: it can be ok to assign "vacuum" boxes to some ranks w/o slowing down
// all other ranks; we need to measure this with our load-balancing