DCDReporter performance
Posted: Thu Feb 21, 2013 9:02 am
Hi,
I have tried o find out the fastest way to record simulation data using OpenMM-5.0.
I am runnning an explicit solvent, PME, simulation of Alanine-Dipeptide, with integration time step dt=2fs. I have tried to benchmark (in a very crude approach using the python time module) the data reporting performance. I have performed simulations for a total of t=100ps/200ps. I am runnning on GeForceGtX580 using the python interface.
100ps:
i) Perfroming simulation.step(n), n=50000 : 35.5s
ii) With dcd reporter : 57.8s
iii) for i in range(1000):
n=50
simulation.step(n),
copying positions from context => 42.8s
200ps:
i) Perfroming simulation.step(n), n=100000 : 68.8s
ii) With dcd reporter : 108.8 s
iii) for i in range(2000):
n=50
simulation.step(n),
copying positions from context => 83.6s
It seems that it is more efficient to directly copy positions from context using
than using the DCDReporter.
Is that to be expected?
Thanks,
Ben
I have tried o find out the fastest way to record simulation data using OpenMM-5.0.
I am runnning an explicit solvent, PME, simulation of Alanine-Dipeptide, with integration time step dt=2fs. I have tried to benchmark (in a very crude approach using the python time module) the data reporting performance. I have performed simulations for a total of t=100ps/200ps. I am runnning on GeForceGtX580 using the python interface.
100ps:
i) Perfroming simulation.step(n), n=50000 : 35.5s
ii) With dcd reporter : 57.8s
iii) for i in range(1000):
n=50
simulation.step(n),
copying positions from context => 42.8s
200ps:
i) Perfroming simulation.step(n), n=100000 : 68.8s
ii) With dcd reporter : 108.8 s
iii) for i in range(2000):
n=50
simulation.step(n),
copying positions from context => 83.6s
It seems that it is more efficient to directly copy positions from context using
Code: Select all
simulation.context.getState(getPositions=True).getPositions()
Is that to be expected?
Thanks,
Ben