RE: Running fulldirect in parallel

From: Tom Coles (
Date: Sun Oct 07 2012 - 15:21:32 CDT

Thanks for the fast reply. I wasn't aware of staticAtomAssignment before, but I will try it now.

I have been setting the cutoff high, but I was hoping to make things faster with fullDirect because simply using a large cutoff has the following issues:

1) L-J calculations also occur all the way out to the large cut-off, wasting some computational time.

2) I would like to use fullElectFrequency to evaluate long-range electrostatics at a larger timestep. I know that nonBondedFreq can be used to evaluate L-J and electrostatics at a larger timestep, but the long-range part can be safely evaluated at an even larger timestep and I was hoping to take advantage of that.


From: Aron Broom []
Sent: 07 October 2012 16:14
To: Tom Coles
Subject: Re: namd-l: Running fulldirect in parallel

can you set the cutoff value very high? I've done some implicit solvent and particularly vacuum simulations in NAMD where I essentially wanted full electrostatics, and so just set "cutoff 999". For efficiency you also want to turn "switching off", and use "staticAtomAssignment yes". Maybe I'm missing something important about fullDirect though, does it do a different kind of electrostatic calculation?

On Sun, Oct 7, 2012 at 4:08 PM, Tom Coles <<>> wrote:
I was trying to use the fulldirect method and found that it only works in serial mode; there is an error every time I try to run it in parallel. I know that fulldirect is very slow and inefficient, but I need to do a simulation of a non-periodic system.

Anyway, I looked at the source code and noticed that the doWork method in ComputeFullDirect.C calls the sendMessage method in Communicate.C for all PEs and not just PE 0, but sendMessage gives an error for any non-zero PE.

sendMessage accepted any PE in NAMD2.5b1 and earlier, so fulldirect worked in parallel until that time. However, it was changed to only accept PE 0 for NAMD2.5 and later. I would like to try to make it work in parallel again, so I was wondering why there was a problem with non-zero PEs in Communicate.C and if there is recommended alternative way of performing the communication required by fulldirect?

Thanks for any help,
Tom Coles

Aron Broom M.Sc
PhD Student
Department of Chemistry
University of Waterloo

This archive was generated by hypermail 2.1.6 : Tue Dec 31 2013 - 23:22:39 CST