[molpro-user] Best practices for parallelization

Manhui Wang wangm9 at cardiff.ac.uk
Tue Jun 19 17:14:42 BST 2012


Dear Ivan,

On 17/06/12 19:51, Ivan Reche wrote:
> Hello,
>
> I'm a new user of Molpro 2010 and I'm compiling it to work on a 
> standard home-made Beowulf cluster.
>
> I've compiled it with global arrays 5.0.2 and mpich2 1.4.1. However, 
> I'm having some doubts:
>
> 1. From what I understood by reading the docs, is there an option to 
> not use global arrays? Should I use just pure MPICH2 for my setup? Is 
> global arrays optimized for InfiniBand and other non-conventional 
> networks and, as such, not recommended to my standard ethernet network?
Molpro can be built with Global Arrays toolkit or the MPI-2 library.  
Globle Arrays may take full advantage of shared memory on a single MPP 
node, but MPI-2 doesn't. On the other hand, MPI-2 may take advantage of 
the built-in MPI-2 library with fast connection. The performance depends 
on lots of facts, including MPI library, network connection etc.  For 
your case (standard home-made Beowulf cluster connected with ethernet 
network),  it is better to build Molpro with Global Arrays. You could 
achieve reasonable speedup on a single node, but  it could be very slow 
across nodes due to the ethernet network. Please also see the previous 
discussion, 
http://www.molpro.net/pipermail/molpro-user/2010-February/003587.html
>
> 2. By running some test jobs that came with Molpro and comparing the 
> serial results with the parallel results, the serial ones were faster 
> in all cases. Is there a common mistake that I might be causing these 
> undesired results? What issues should I look for?
If you run the testjobs across the nodes in parallel, the performance 
may be very poor due to the Ethernet network. Molpro bench results can 
be found at
http://www.molpro.net/info/bench.php
>
> 3. Let's say that I'm trying to separate my computation in two 
> computers: foo and bar. If I call molpro in the foo machine like this:
>
> molpro -N user:foo:1,user:bar:1 myjob.com <http://myjob.com>
>
> I get an MPI error complained that it couldn't connect to rank 0. 
> However, if I switch the orders of the hosts like this:
>
> molpro -N user:bar:1,user:foo:1 myjob.com <http://myjob.com>
>
> It works, but dumps the results in the bar machine. Both machine can 
> login with "user" using ssh without passwords. What am I missing here? 
> Maybe using the rank 0 machine for the computation is not recommended?
The rank 0 process certainly can be used as computation like other 
processes.

I couldn't see this problem for the similar Molpro configuration(with 
auto-configuration):

./configure -batch -ifort -icc -mpp -auto-ga-tcgmsg-mpich2

The following commands in different orders work for me:
  ./bin/molpro -N arccacluster11:2,arccacluster10:2 testjobs/h2o_vdz.test
  ./bin/molpro -N arccacluster10:2,arccacluster11:2 testjobs/h2o_vdz.test

I suspect it might be some problem with your own mpich2 build. In order 
to isolate the problem, you could run a standalone MPI program and see 
if it works fine with machine files in different orders.

For example, you could run the mpich2's own example ( examples/cpi). The 
following is my test, and the final two runnings should succeed if the 
mpich2 library is built properly.
============================================================
[sacmw4 at arccacluster11 examples]$ hostname
arccacluster11
[sacmw4 at arccacluster11 examples]$ cat machines1
arccacluster11
arccacluster11
arccacluster10
arccacluster10
[sacmw4 at arccacluster11 examples]$ cat machines2
arccacluster10
arccacluster10
arccacluster11
arccacluster11

[sacmw4 at arccacluster11 examples]$ ../../mpich2-install/bin/mpiexec  
-machinefile machines1 -np 4  ./cpi

[sacmw4 at arccacluster11 examples]$ ../../mpich2-install/bin/mpiexec  
-machinefile machines2 -np 4  ./cpi
================================================================

>
> 4. What is the deal with the helper servers? I couldn't understand 
> their roles by just reading the docs.
For Molpro built with GA, there is no helper, while for MPI-2 Molpro, 
one helper per node is the default setting. For further details, please see
http://dx.doi.org/10.1016/j.cpc.2011.03.020
http://dx.doi.org/10.1016/j.cpc.2009.05.002

Best wishes,
Manhui
>
> Thanks in advance for your time and attention.
>
> Cheers,
>
> Ivan
>
>
> _______________________________________________
> Molpro-user mailing list
> Molpro-user at molpro.net
> http://www.molpro.net/mailman/listinfo/molpro-user

-- 
-----------
Manhui  Wang
School of Chemistry, Cardiff University,
Main Building, Park Place,
Cardiff CF10 3AT, UK

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.molpro.net/pipermail/molpro-user/attachments/20120619/90f21c87/attachment.html>


More information about the Molpro-user mailing list