Re: [AMBER] About "Must have more residues than processors"

From: Jason Swails <>
Date: Sun, 12 Jun 2011 17:14:30 -0600

On Sun, Jun 12, 2011 at 2:35 PM, Bin Wu <> wrote:

> Dear Amber Users,
> I have a question about using parallel amber.
> I managed to configure and installed serial and parallel version of amber
> on
> my desktop which has Ubuntu 64bit operating system. And it passed almost
> all
> of the testing, for both serial and parallel.
> Now I intend to run simulation on my own polymer--- dendrimer, which has a
> repeat unit. The PDB file is created using Material Studio. I followed the
> steps described in the tutorial and the simulation on serial version of
> sander worked just fine.
> Once I tried to go parallel, it gave me tons of troubles.
> When I intend to launch the simulation by "mpirun -np 2 sander.MPI -O -i
> -o DenG3.out -p DenG3.prmtop -c DenG3.crd -r DenG3.rst -x
> DenG3.mdrcd
> &"
> It gives me an error saying "Must have more residues than processors". So
> I looked into the prmtop file and learned it is true that there is only one
> residue defined. And then I looked into the pdb file generated by material
> studio, the "residue sequence number" is all set 0.

This is true for sander. For pmemd, however, the restriction is simply that
the number of atoms must be at least 10x the number of processors, which is
an arbitrary limit loosely based on the idea that if you split the workload
up any more, communication will limit your scaling (and probably make it
even slower than running on fewer processors). sander has a more naive
approach to splitting the workload, and does so by residue (hence the
message you're seeing).

> So I figured it might be the problem. Then I manually change the "residue
> sequence number" grouping each repeat unit to have the same "residue
> sequence number". Finally there are 61 residue. Based on my understanding,
> it could ran on at least 60 processors.

It *should* run on 61, but using that many processors is a poor idea, in my
opinion (and most other peoples' opinions as well, I'm sure).

> However, when I intend to use "antechamber" to prepare the mol2 file, it
> gives me another error saying "Warning: detected more than 10 Residue
> sequence numbers:" and also "cannot run judgebontype() of antechamber.c
> properly, exit".

Antechamber is mainly useful for *single* residues. Thus, if your system is
a truly repeating polymer, then you should be able to create a mol2 file for
just 1 monomer, and it will use that definition for every unit in your
system. Another useful utility for this is R.E.D. tools ( See some of their tutorials for details
on creating force field libraries.

> My questions is
> 1) Is it true that the number of residues must be greater than the number
> of
> processors one wanted to use? So if I want to use 120 cores, do I have to
> have at least 121 residues in my simulation system?

No, at least 120 for sander, or 1200 atoms for pmemd. However, actually
going out to this limit is not advisable. You'll be wasting resources.

> 2) If the answer to my first question is positive, why I could not prepare
> mol2 file using antechamber for a system only have 61 residues?

Antechamber isn't designed for a 60-residue system. See my comments above.


Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
AMBER mailing list
Received on Sun Jun 12 2011 - 16:30:02 PDT
Custom Search