As you can see for 20k steps, the optimal pme grid is calculated at step 6400. If I change the number of steps, that step change too. For example, if the total number of steps is 5000, I see:
Your second run is too short and never finished the PME tuning load balancer the output of which you are observing. Make sure to run long enough for the balancer to find the optimal setting and to also run a significant time with that setting (also use the -resetstep/-resethway if you want to collect reliable performance data from shorter runs).
Make sure to run long enough for the balancer to find the optimal setting
What do you mean by optimal setting? Do you mean number of threads or so? Such things are determined at the beginning of the execution. My command is
it’s trying to optimize the PME computational parameters by changing the ones noted (pme grid and cutoff). The number of threads are not changed.
In your original post, it found and reported the optimal settings after 6400 steps for the first simulation. The second simulation only ran for 5000 steps and so it didn’t have enough time to find the optimal settings, which is why they did not get reported.
You may be able to disable the tuning with -notunepme but you probably want it turned on unless you are absolutely sure of what you are doing.
Ok. Is that tuning related to the performace of simulation in my run? Or it affect the accuracy of computation? For my work, I am analyzing the performace, so the actuall output an number steps for molecular precision is not my interest.
I tested multiple times and the run times are around 22 and 26 seconds, respectively. So, it seems that not using that option is better. I guess that is not expected. Any thoughts?
The tuning takes some time to finish, during which the performance is lower. To properly compare the performance you should only benchmark the optimized performance.
As @pszilard pointed out you can use -resethway/-resetstep to only use the latter, optimized part for the performance reporting.