mdrun with PME gives different results with MPI
When mdrun is run from mpirun as
mpirun -c 1 mdrun -s
it gives different results than when run as
and when it is compiled without MPI it gives yet different results.
The differences are very minor and are due to PME. Currently we suspect that it
has to do with bsplines stuff
#1 Updated by Anonymous over 13 years ago
Compiling with: ./configure --with-fft=fftpack(or fftw3) --without-x
and compiling with an additional line of #define DEBUG in src/mdlib/pme.c also
gives different results. Maybe it is caused by the same bug.
The difference is also very small. Running mdrun -debug resulted in different
adresses for Grid and different entries at some locations in the qgrid array.
I checked that the adress does not change after the memory allocation.
After this I suspected that somewhere a pointer array is exceeded (because
adding fprintf statements in pme.c could result in changing the manifestation of
the bug) and the information is put into the Grid memory area. So I compiled
with dmalloc, but it did not give any out of bounds warnings.
However dmalloc does not check for static pointer arrays. Maybe the problem is
in one of the static pointer arrays, but I do not know how to check them.
Same problem can occur when implementing new force functions.