Hi Cao,
On 29/04/2012, at 12:59 PM, xiaojiong wrote:
> I am a user of AMBER in China. I have a question with the calculation in parallel. I noticed that in the QM calculation software GAUSSIAN, it is available for users to define the numebers of CPU in the input file.
> But it seems that we could only carry out the calculation in parallel in AMBER with "mpirun". To my comprehension, the difference is: N CPUs deal with one process in GAUSSIAN while N CPUS deal with N processes in AMBER.
> And I found that it is much slower with GAUSSIAN when I use mpirun instead of defining the CPU numbers in the input file directly. So my question is:
>
> Is it available for AMBER to define the CPU numbers in the input file? Or in other words, is it possiable that when I execute "top" in linux, I could see N CPUs running one sander/pmemd rather than N CPUs running N sander/pmemd?
No, this is not how MPI programs work. This fact is not a "problem", nor is it specific to Amber.
An MPI program works by spawning a number of parallel processes that communicate with each other.
If you have one single process running on more than one CPU, as you asked about, it's not an MPI program. It uses some other form of parallelisation, like SMP, and will usually be limited to running on one node.
Amber only supports MPI parallelisation. Gaussian, on the other hand, only supports SMP (except if you use Linda, which I gather you're not using).
Also, note that the number of MPI tasks and the number of Gaussian CPUs do completely different things. The former controls only the number of Amber threads. The latter controls only the number of Gaussian threads. They are not different ways of achieving the same thing; instead, they achieve two different things, and you need to set them both.
Best,
Ben
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Sat Apr 28 2012 - 23:00:04 PDT