Re: [OMPI users] OpenMPI vs Intel Efficiency question

2011-07-12 Thread Tim Prince

On 7/12/2011 7:45 PM, Mohan, Ashwin wrote:

Hi,

I noticed that the exact same code took 50% more time to run on OpenMPI
than Intel. I use the following syntax to compile and run:
Intel MPI Compiler: (Redhat Fedora Core release 3 (Heidelberg), Kernel
version: Linux 2.6.9-1.667smp x86_64**

mpiicpc -o .cpp  -lmpi

OpenMPI 1.4.3: (Centos 5.5 w/ python 2.4.3, Kernel version: Linux
2.6.18-194.el5 x86_64)**

mpiCC .cpp -o


**Other hardware specs**

 processor   : 0
 vendor_id   : GenuineIntel
 cpu family  : 15
 model   : 3
 model name  : Intel(R) Xeon(TM) CPU 3.60GHz
 stepping: 4
 cpu MHz : 3591.062
 cache size  : 1024 KB
 physical id : 0
 siblings: 2
 core id : 0
 cpu cores   : 1
 apicid  : 0
 fpu : yes
 fpu_exception   : yes
 cpuid level : 5
 wp  : yes
 flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36
 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lmconstant_tsc
pni monitor ds_cpl est tm2
  cid xtpr
  bogomips: 7182.12
 clflush size: 64
 cache_alignment : 128
 address sizes   : 36 bits physical, 48 bits virtual
 power management:

Can the issue of efficiency be deciphered from the above info?

Does the compiler flags have an effect on the efficiency of the
simulation. If so, what flags maybe useful to check to be included for
Open MPI.
The default options for icpc are roughly equivalent to the quite 
aggressive choice
g++ -fno-strict-aliasing -ffast-math -fnocx-limited-range -O3 
-funroll-loops --param max-unroll-times=2
while you apparently used default -O0 for your mpiCC (if it is g++), 
neither of which is a very good initial choice for performance analysis. 
So, if you want a sane comparison but aren't willing to study the 
compiler manuals, you might use (if your source code doesn't violate the 
aliasing rules)

mpiicpc -prec-div -prec-sqrt -ansi-alias
and at least
(if your linux compiler is g++)
mpiCC -O2
possibly with some of the other options I mentioned earlier.
If you have as ancient a g++ as your indication of FC3 implies, it 
really isn't fair to compare it with a currently supported compiler.


Then, Intel MPI, by default, would avoid using HyperThreading, even 
though you have it enabled on your CPU, so, I suppose, if you are 
running on a single core, it will be rotating among your 4 MPI processes 
1 at a time.  The early Intel HyperThread CPUs typically took 15% longer 
to run MPI jobs when running 2 processes per core.


Will including MPICH2 increase efficiency in running simulations using
OpenMPI?

You have to choose a single MPI.  Having MPICH2 installed shouldn't 
affect performance of OpenMPI or Intel MPI, except to break your 
installation if you don't keep things sorted out.
OpenMPI and Intel MPI normally perform very close, if using equivalent 
settings, when working within the environments for which both are suited.

--
Tim Prince


Re: [OMPI users] a question about network connection of open-mpi

2011-07-12 Thread Ralph Castain
I believe we responded to this before...you might check your spam or inbox.


On Jul 12, 2011, at 7:39 PM, zhuangchao wrote:

> hello all :
>  
>  
>I   run  the following command :  
>  
> /data1/cluster/openmpi/bin/mpirun  -d  -machinefile  /tmp/nodes.10515.txt   
> -np  3  /data1/cluster/mpiblast-pio-1.6/bin/mpiblast   -p blastn -i 
> /data1/cluster/sequences/seq_4.txt -d Baculo_Nucleotide -o 
> /data1/cluster/blast.out/blast.out.10515  -g T -m  0 -F F
>  
>   Then  I  get  the following  error  from  openmpi:
>  
> [node7][[3812,1],2][btl_tcp_endpoint.c:638:mca_btl_tcp_endpoint_complete_connect]
>  connect() to 192.168.0.5 failed: No route to host (113)
> [node7][[3812,1],2][btl_tcp_endpoint.c:638:mca_btl_tcp_endpoint_complete_connect]
>  connect() to 159.226.126.15 failed: No route to host (113)
>  
>  The  machinefile  is defined  as  following :
>  
>  node1
>  node5
>  node7
>  
>  192.168.0.5  is  not  the  ip  of  hosts in the  machinefile .
> 159.226.126.15  is  the   another ip of  node1 .  But  hostname node1
>  
> corresponds to   11.11.11.1  in  the /etc/hosts .
>  
> why   do  I  get  the error ?  Can  you  help me ?
>  
>Thank you !
>  
>  
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users



Re: [OMPI users] OpenMPI vs Intel Efficiency question

2011-07-12 Thread Eugene Loh

On 7/12/2011 4:45 PM, Mohan, Ashwin wrote:

I noticed that the exact same code took 50% more time to run on OpenMPI
than Intel.
It would be good to know if that extra time is spent inside MPI calls or 
not.  There is a discussion of how you might do this here:  
http://www.open-mpi.org/faq/?category=perftools  You should probably 
start here and narrow down your investigation.


If the difference is the time spent inside MPI calls... um, that would 
be interesting.


If the difference is time spent outside MPI calls, how you are compiling 
(which serial compiler is being used, which optimization flags, etc.) 
could be the issue.  Or possibly how processes are placed on a node 
("paffinity" or "binding" issues).

Does the compiler flags have an effect on the efficiency of the
simulation.
Sure.  Ideally, most of the time is spent in parallel computation and 
very little in MPI.  For performance in such an "ideal" case, any 
"decent" MPI implementation (OMPI and Intel hopefully among them) should 
do just fine.

Will including MPICH2 increase efficiency in running simulations using
OpenMPI?
MPICH2 and OMPI are MPI implementations.  You choose one or the other 
(or other options... e.g., Intel).


[OMPI users] a question about network connection of open-mpi

2011-07-12 Thread zhuangchao
hello all :


   I   run  the following command :   

/data1/cluster/openmpi/bin/mpirun  -d  -machinefile  /tmp/nodes.10515.txt   -np 
 3  /data1/cluster/mpiblast-pio-1.6/bin/mpiblast   -p blastn -i 
/data1/cluster/sequences/seq_4.txt -d Baculo_Nucleotide -o 
/data1/cluster/blast.out/blast.out.10515  -g T -m  0 -F F 

  Then  I  get  the following  error  from  openmpi:

[node7][[3812,1],2][btl_tcp_endpoint.c:638:mca_btl_tcp_endpoint_complete_connect]
 connect() to 192.168.0.5 failed: No route to host (113)
[node7][[3812,1],2][btl_tcp_endpoint.c:638:mca_btl_tcp_endpoint_complete_connect]
 connect() to 159.226.126.15 failed: No route to host (113)

 The  machinefile  is defined  as  following :

 node1
 node5
 node7

 192.168.0.5  is  not  the  ip  of  hosts in the  machinefile .
159.226.126.15  is  the   another ip of  node1 .  But  hostname node1

corresponds to   11.11.11.1  in  the /etc/hosts .

why   do  I  get  the error ?  Can  you  help me ? 

   Thank you !





[OMPI users] OpenMPI vs Intel Efficiency question

2011-07-12 Thread Mohan, Ashwin
Hi,

I noticed that the exact same code took 50% more time to run on OpenMPI
than Intel. I use the following syntax to compile and run:
Intel MPI Compiler: (Redhat Fedora Core release 3 (Heidelberg), Kernel
version: Linux 2.6.9-1.667smp x86_64**

mpiicpc -o .cpp  -lmpi

OpenMPI 1.4.3: (Centos 5.5 w/ python 2.4.3, Kernel version: Linux
2.6.18-194.el5 x86_64)**

mpiCC .cpp -o  


**Other hardware specs**

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 15
model   : 3
model name  : Intel(R) Xeon(TM) CPU 3.60GHz
stepping: 4
cpu MHz : 3591.062
cache size  : 1024 KB
physical id : 0
siblings: 2
core id : 0
cpu cores   : 1
apicid  : 0
fpu : yes
fpu_exception   : yes
cpuid level : 5
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
pge mca cmov pat pse36
clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall lmconstant_tsc
pni monitor ds_cpl est tm2   
 cid xtpr
 bogomips: 7182.12
clflush size: 64
cache_alignment : 128
address sizes   : 36 bits physical, 48 bits virtual
power management:

Can the issue of efficiency be deciphered from the above info? 

Does the compiler flags have an effect on the efficiency of the
simulation. If so, what flags maybe useful to check to be included for
Open MPI. 

Will including MPICH2 increase efficiency in running simulations using
OpenMPI?

Thanks,
Ashwin.



[OMPI users] How to use a wrapper for ssh?

2011-07-12 Thread Paul Kapinos

Hi OpenMPI folks,

Using the version 1.4.3 of OpenMPI, I wanna to wrap the 'ssh' calls, 
which are made from the OpenMPIs 'mpiexec'. For this purpose, at least 
two ways seem to be possible for me:


1. let the wrapper have the name 'ssh' and paste the path where it is 
into the PATH envvar *before* the path to real ssh


Q1: Would this work?

2. use MCA parameters described in
http://www.open-mpi.org/faq/?category=rsh#rsh-not-ssh
to bend the call to my wrapper, e.g.
export OMPI_MCA_plm_rsh_agent=WrapPer
export OMPI_MCA_orte_rsh_agent=WrapPer

the oddly thing is, that the OMPI_MCA_orte_rsh_agent envvar seem not to 
have any effect, whereas OMPI_MCA_plm_rsh_agent works.

Why I believe so?

Because "strace -f mpiexec ..." says still trying for opening 'ssh' if 
OMPI_MCA_orte_rsh_agent is set, and correctly trying to open the 
'WrapPer' iff OMPI_MCA_plm_rsh_agent is set.


Q2: Is the supposed non-functionality of OMPI_MCA_orte_rsh_agent a bug, 
or do I have just misunderstood something?


Best wishes,
Paul

P.S. reproducing: just set the envvars and do 'strace -f mpiexec ...'

example:

export OMPI_MCA_plm_rsh_agent=WrapPer
---> look'n for 'WrapPer';
stat64("/opt/lsf/8.0/linux2.6-glibc2.3-x86_64/bin/WrapPer", 0x8324) 
= -1 ENOENT (No such file or directory)


export OMPI_MCA_orte_rsh_agent=WrapPer
(do not forget to unset OMPI_MCA_plm_rsh_agent :o)
---> still looking for 'ssh'
stat64("/opt/lsf/8.0/linux2.6-glibc2.3-x86_64/bin/ssh", 0x8324) = -1 
ENOENT (No such file or directory)


===> OMPI_MCA_orte_rsh_agent does not work?!

--
Dipl.-Inform. Paul Kapinos   -   High Performance Computing,
RWTH Aachen University, Center for Computing and Communication
Seffenter Weg 23,  D 52074  Aachen (Germany)
Tel: +49 241/80-24915


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [OMPI users] tcp communication problems with 1.4.3 and 1.4.4 rc2 on FreeBSD

2011-07-12 Thread Steve Kargl
On Tue, Jul 12, 2011 at 11:03:42AM -0700, Steve Kargl wrote:
> On Tue, Jul 12, 2011 at 10:37:14AM -0700, Steve Kargl wrote:
> > On Fri, Jul 08, 2011 at 07:03:13PM -0400, Jeff Squyres wrote:
> > > Sorry -- I got distracted all afternoon...
> > > 
> > > In addition to what Ralph said (i.e., I'm not sure if the CIDR
> > > notation stuff made it over to the v1.5 branch or not, but it
> > > is available from the nightly SVN trunk tarballs:
> > > http://www.open-mpi.org/nightly/trunk/), here's a few points
> > > from other mails in this thread...
> > > 
> > 
> > trunk does not appear to be an option. :-(
> > 
> > % svn co http://svn.open-mpi.org/svn/ompi/trunk ompi
> > % cd ompi
> > % ./autogen.pl
> > % ./configure --enable-mpirun-prefix-by-default --prefix=/usr/local/ompi \
> >--disable-shared --enable-static
> > 
> > (many lines removed)
> > checking prefix for function in .type... @
> > checking if .size is needed... yes
> > checking if .align directive takes logarithmic value... no
> > configure: error: No atomic primitives available for 
> > amd64-unknown-freebsd9.0
> 
> It seems the configure script does not recognize amd64.  If I add
> --build='x86_64-*-freebsd' to the configure line, then everything
> appears to work.  
> 
> I'll report back after I've had a chance to work with ompi built
> from trunk.
> 

There's good news and some bad news.

I got trunk to build and install.  I compile the netpipe
code with

% /usr/local/ompi/bin/mpicc -o z -O GetOpt.c netmpi.c


Bad news:

I can then run

% /usr/local/ompi/bin/mpiexec -machinefile mf --mca btl self,tcp \
  --mca btl_base_verbose 30 ./z

with mf containing 

node11 slots=1   (node11 contains a single bge0=168.192.0.11)
node16 slots=1   (node16 contains a single bge0=168.192.0.16)

or

node11 slots=2   (communication on memory bus)

However, if mf contains

node10 slots=1   (node10 contains bge0=10.208.xx and bge1=192.168.0.10)
node16 slots=1   (node16 contains a single bge0=192.168.0.16)

I see the same problem where node10 cannot communicate with node16.

Good News:

Adding 'btl_tcp_if_include=192.168.0.0/16' to my ~/.openmpi/mca-params.conf
file seems to cure the communication problem.

Thanks for the help.  If I run into any other problems with trunk,
I'll report those here.

-- 
Steve


Re: [OMPI users] tcp communication problems with 1.4.3 and 1.4.4 rc2 on FreeBSD

2011-07-12 Thread Steve Kargl
On Tue, Jul 12, 2011 at 10:37:14AM -0700, Steve Kargl wrote:
> On Fri, Jul 08, 2011 at 07:03:13PM -0400, Jeff Squyres wrote:
> > Sorry -- I got distracted all afternoon...
> > 
> > In addition to what Ralph said (i.e., I'm not sure if the CIDR
> > notation stuff made it over to the v1.5 branch or not, but it
> > is available from the nightly SVN trunk tarballs:
> > http://www.open-mpi.org/nightly/trunk/), here's a few points
> > from other mails in this thread...
> > 
> 
> trunk does not appear to be an option. :-(
> 
> % svn co http://svn.open-mpi.org/svn/ompi/trunk ompi
> % cd ompi
> % ./autogen.pl
> % ./configure --enable-mpirun-prefix-by-default --prefix=/usr/local/ompi \
>--disable-shared --enable-static
> 
> (many lines removed)
> checking prefix for function in .type... @
> checking if .size is needed... yes
> checking if .align directive takes logarithmic value... no
> configure: error: No atomic primitives available for amd64-unknown-freebsd9.0

It seems the configure script does not recognize amd64.  If I add
--build='x86_64-*-freebsd' to the configure line, then everything
appears to work.  

I'll report back after I've had a chance to work with ompi built
from trunk.

-- 
Steve


Re: [OMPI users] tcp communication problems with 1.4.3 and 1.4.4 rc2 on FreeBSD

2011-07-12 Thread Steve Kargl
On Fri, Jul 08, 2011 at 07:03:13PM -0400, Jeff Squyres wrote:
> Sorry -- I got distracted all afternoon...
> 
> In addition to what Ralph said (i.e., I'm not sure if the CIDR
> notation stuff made it over to the v1.5 branch or not, but it
> is available from the nightly SVN trunk tarballs:
> http://www.open-mpi.org/nightly/trunk/), here's a few points
> from other mails in this thread...
> 

trunk does not appear to be an option. :-(

% svn co http://svn.open-mpi.org/svn/ompi/trunk ompi
% cd ompi
% ./autogen.pl
% ./configure --enable-mpirun-prefix-by-default --prefix=/usr/local/ompi \
   --disable-shared --enable-static

(many lines removed)
checking prefix for function in .type... @
checking if .size is needed... yes
checking if .align directive takes logarithmic value... no
configure: error: No atomic primitives available for amd64-unknown-freebsd9.0

-- 
Steve


Re: [OMPI users] icc erroring when trying to use a directory as a source file (Catastrophic error: cannot open source file "paddress.c": is a directory )

2011-07-12 Thread Jeff Squyres
I can't quite parse your output.

paddress.c should be a sym link in ompi/mpi/c/profile back to 
ompi/mpi/c/address.c.  I'm not sure why "ls paddress.c" shows a whole directory 
of files...?

You might want to whack your OMPI source tree, re-expand the tarball, and try 
again.  If it still fails, please send all the output listed here:

http://www.open-mpi.org/community/help/


On Jul 12, 2011, at 3:23 AM, Denis wrote:

> Hello, buddies, i am trying to build openmpi with icc and it s not
> working. I ve tried versions 1.4.3 and 1.4.2  the error is the same
> but for different source files(directories)
> 
> I am using the latest icc version and have compiled same version of
> openmpi with gnu before.
> Is there any switch that need to be passed to icc in order to be able
> to compile a directory as a source code as needed to build openmpi?
> 
> 
> Mac-$ icc -DHAVE_CONFIG_H -I. -I../../../../opal/include
> -I../../../../orte/include -I../../../../ompi/include
> -I../../../../opal/mca/paffinity/linux/plpa/src/libplpa
> -DOMPI_PROFILING_DEFINES=1 -I../../../.. -D_REENTRANT -O3 -DNDEBUG
> -finline-functions -fno-strict-aliasing -restrict -fvisibility=hidden
> -MT paddress.lo -MD -MP -MF .deps/paddress.Tpo -c paddress.c
> -fno-common -DPIC -o .libs/paddress.o
> Catastrophic error: cannot open source file "paddress.c": is a directory
> 
> 
> $ ls paddress.c
> Makefile  comm_call_errhandler.c  file_c2f.c  
> file_set_atomicity.cgroup_difference.c
>   op_create.c status_set_elements.c   
> type_set_name.c
> Makefile.am   comm_compare.c  
> file_call_errhandler.c  file_set_errhandler.c   group_excl.c  
>   op_f2c.ctest.c  
> type_size.c
> Makefile.in   comm_connect.c  file_close.c
> file_set_info.c group_f2c.c   
>   op_free.c   test_cancelled.c
> type_struct.c
> abort.c   comm_create.c   
> file_create_errhandler.cfile_set_size.c group_free.c  
>   open_port.c testall.c   
> type_ub.c
> accumulate.c  comm_create_errhandler.cfile_delete.c   
> file_set_view.c group_incl.c  
>   pack.c  testany.c   
> type_vector.c
> add_error_class.c comm_create_keyval.cfile_f2c.c
> 
> 
> Thank you in advance!
> Denis.
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [hwloc-users] hwloc 1.2 compilation problems

2011-07-12 Thread Samuel Thibault
Carl Smith, le Tue 12 Jul 2011 02:46:27 +0200, a écrit :
> > is it perhaps the presence of -L/usr/local/lib which makes the linking
> > fail? I've commited something that might help.
> 
>   Perhaps.  Your latest change does work on this AIX system.  Thanks
> for persisting.

Great!

I've backported to the 1.2 branch.

Samuel


Re: [OMPI users] Mpirun only works when n< 3

2011-07-12 Thread Jeff Squyres
On Jul 11, 2011, at 11:31 AM, Randolph Pullen wrote:

> There are no firewalls by default.  I can ssh between both nodes without a 
> password so I assumed that all is good with the comms.

FWIW, ssh'ing is different than "comms" (which I assume you mean opening random 
TCP sockets between two servers).

> I can also get both nodes to participate in the ring program at the same time.
> Its just that I am limited to inly 2 processes if they are split between the 
> nodes
> ie:
> mpirun -H A,B ring (works)
> mpirun -H A,A,A,A,A,A,A  ring (works)
> mpirun -H B,B,B,B ring (works)
> mpirun -H A,B,A  ring(hangs)

It is odd that A,B works and A,B,A does not.

> I have discovered slightly more information:
> When I replace node 'B' from the new cluster with node 'C' from the old 
> cluster
> I get the similar behavior but with an error message:
> mpirun -H A,A,A,A,A,A,A  ring (works from either node)
> mpirun -H C,C,C  ring (works from either node)
> mpirun -H A,C  ring (Fails from either node:)
> Process 0 sending 10 to 1, tag 201 (3 processes in ring)
> [C:23465] ***  An error occurred in MPI_Recv
> [C:23465] ***  on communicator MPI_COMM_WORLD
> [C:23465] ***  MPI_ERRORS_ARE FATAL (your job will now abort)
> Process 0 sent to 1
> --
> Running this on either node A or C produces the same result
> Node C runs openMPI 1.4.1 and is an ordinary dual core on FC10 , not an i5 
> 2400 like the others.
> all the binaries are compiled on FC10 with gcc 4.3.2


Are you sure that all the versions of Open MPI being used on all nodes are 
exactly the same?  I.e., are you finding/using Open MPI v1.4.1 on all nodes?

Are the nodes homogeneous in terms of software?  If they're heterogeneous in 
terms of hardware, you *might* need to have separate OMPI installations on each 
machine (vs., for example, a network-filesystem-based install shared to all 3) 
because the compiler's optimizer may produce code tailored for one of the 
machines, and it may therefore fail in unexpected ways on the other(s).  The 
same is true for your executable.

See this FAQ entry about heterogeneous setups:

http://www.open-mpi.org/faq/?category=building#where-to-install

...hmm.  I could have sworn we had more on the FAQ about heterogeneity, but 
perhaps not.  The old LAM/MPI FAQ on heterogeneity is somewhat outdated, but 
most of its concepts are directly relevant to Open MPI as well:

http://www.lam-mpi.org/faq/category11.php3

I should probably copy most of that LAM/MPI heterogeneous FAQ to the Open MPI 
FAQ, but it'll be waaay down on my priority list.  :-(  If anyone could help 
out here, I'd be happy to point them in the right direction to convert the 
LAM/MPI FAQ PHP to Open MPI FAQ PHP...  

To be clear: the PHP conversion will be pretty trivial; I stole heavily from 
the LAM/MPI FAQ PHP to create the Open MPI FAQ PHP -- but there are points 
where the LAM/MPI heterogeneity text needs to be updated; that'll take an hour 
or two to update all that content.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/