diff --git a/src/core/Atoms.cpp b/src/core/Atoms.cpp index 4f633a233f36aec4d803162d03a656915370607d..ee0b18698da39cfb8a4abacdb450d0951f8385ee 100644 --- a/src/core/Atoms.cpp +++ b/src/core/Atoms.cpp @@ -336,6 +336,11 @@ void Atoms::setAtomsNlocal(int n){ gatindex.resize(n); if(dd){ dd.g2l.resize(natoms,-1); +// Since these vectors are sent with MPI by using e.g. +// &dd.positionsToBeSent[0] +// we make sure they are non-zero-sized so as to +// avoid errors when doing boundary check + if(n==0) n++; dd.positionsToBeSent.resize(n*5,0.0); dd.positionsToBeReceived.resize(natoms*5,0.0); dd.indexToBeSent.resize(n,0); diff --git a/user-doc/Performances.txt b/user-doc/Performances.txt index 5a7e40648fe1ca30356af3620d7e22b7e89ea7a4..856bfac625d88c0c78691c401b667311e29ee190 100644 --- a/user-doc/Performances.txt +++ b/user-doc/Performances.txt @@ -30,7 +30,7 @@ help in taking the most by using PLUMED for your simulations. - \subpage Neighbour - \subpage Openmp - \subpage Secondary - +- \subpage Time \page GMXGPU GROMACS and PLUMED with GPU @@ -210,6 +210,15 @@ The metric used to calculate the distance from ideal secondary structure element the performances, try to use TYPE=OPTIMAL or TYPE=OPTIMAL-FAST instead of TYPE=DRMSD. At last, try to reduce the number of residues in the calculation. - + +\page Time Time your Input + +Once you have prepared your plumed input file you can run a test simulation, or use driver, +to see which collective variable, function, bias or analysis is consuming more time and can +thus be the target for a different definition (use less atoms, change relevant parameters, +or just use somenthing else) + +To have an accurate timing of your input you can use the \ref DEBUG DETAILED_TIMERS. + */