Re: [AMBER] Using multiple CPU cores with pmemd.cuda

From: Ross Walker <ross.rosswalker.co.uk>
Date: Fri, 18 Jan 2013 09:19:45 -0800

Dear Filippo,

The short answer is no. The CPU cores are effectively unused when running
GPU calculations. The reason for this is that the performance is obtained
by running the entire calculation on the GPU thus avoiding all the
overhead of copying back and forth between GPU and CPU. Thus trying to use
more CPUs would likely only add complexity to the code and ultimately slow
down the calculation. It really only makes sense if you are not using the
GPU effectively enough, e.g. just doing direct space on the GPU. In this
situation the only way to really amortize the communication cost is to run
very large simulations (with big cutoffs) which is not what the majority
of AMBER users are looking to do hence why we haven't put any time into
such an execution method.

That said if you are running serial GPU calculations with AMBER the CPUs
are mostly unused so you should be able to run calculations on those
CPUs(using pmemd.MPI or another application of your choice) without
adversely affecting the performance of the GPU simulation.

Your second comment seems strange and is likely due to you running into
some other bottleneck. Are these parallel GPU runs? As in you are running
a single calculation across multiple GPUs? If so then yes running more
than one 'multi' GPU calculation on a single node at the same time, or
trying to use the CPU cores will slow things down because the system is
horribly starved for memory bandwidth. My advice would be to run one
independent calculation per GPU and then use the remaining CPUs for
another calculation. If you still see large slowdowns (greater than 10% or
so per calculation) then you are likely running into an I/O bottleneck.
Try writing to local disk instead of over NFS or ideally write the results
to SSDs rather than spinning disk. You can also increase the values of
NTPR, NTWE, NTWX and NTWR which should help.

All the best
Ross



On 1/18/13 9:02 AM, "Filippo Pullara" <filippo.pullara.amber.gmail.com>
wrote:

>Dear all,
>
>I'm wondering if it is possible to use more than one CPU core during
>molecular dynamics with pmemd.cuda or if this option will not enhance
>calculation performances.
>
>I use Amber12 with several GPU (GTX690, GTX680, M2090 and K20) in
>different systems and I see that the speed is affected by the CPU in use.
>
>Thank you in advance for your help,
>
>Filippo Pullara
>_______________________________________________
>AMBER mailing list
>AMBER.ambermd.org
>http://lists.ambermd.org/mailman/listinfo/amber



_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Jan 18 2013 - 09:30:03 PST
Custom Search