[OMPI users] Help with HPL and MPI

2007-04-10 Thread snj78
Hello all,

I am trying to configure HPL on a beowulf cluster that I have put together for 
a senior project at Weber State University, and I am having a little bit of 
trouble.  First of all, about the cluster:

4-node diskless cluster
Fedora Core 6 - 64 bit version
Intel Pentium D dual core processors
MSI 965 motherboards

Right now I have one node doing a net boot with syslinux and would like to do a 
benchmark before I put the rest of the nodes together, so I can have a 
performance comparison with subsequent nodes.  I have installed the following 
packages on my system for HPL:

openmpi-1.1-7.fc6.x86_64.rpm
openmpi-devel-1.1-7.fc6.x86_64.rpm
openmpi-libs-1.1-7.fc6.x86_64.rpm
lapack-3.1.0-4.fc6.x86_64.rpm
Blas-3.1.0-4.fc6.x86_64.rpm
atlas-4.6.0-11.fc6.x86_64.rpm
cblas.tgz
hpl.tgz

I may have installed more packages than necessary but I didn't think it would 
hurt.  Everything has installed successfully but I can't get the 
makefile. down.  I simply just don't understand enough of it to build it 
correctly.  I just keep getting 'Make.inc' errors.  The Makefile that I have 
attempted is below, called Make.Beowulf.  I just used a generic makefile from 
the setups directory and attempted to supply some paths to the libraries but to 
no avail.  I have tried to find documentation explaining more clearly how 
everything should be setup but nothing in lay-man terms, hence the errors.  A 
few questions:

What should my arch be?  Does that even matter?  Does it have to be x86_64?
I realize I have to supply paths to the BLAS and MPI headers and libraries but 
exactly which libraries and header files?
The compiler I am using is mpicc which is just linked to gcc, but shouldn't 
that compiler supply the links to the correct libraries and header files?
The MPlib parameter points to libmpich.a so I installed mpich2 but that didn't 
give me a libmpich.a directory so what should I use there?
Also, I am not using an network file systems so am I correct in assuming that 
all of the libraries need to be on each of the nodes?  If so, I need to know 
exactly where to put them, and again, I believe they would need to be put into 
the exact same location, so the problem is, which libraries and header files 
exactly?  (as to save precious RAM on each of the nodes).

I realize I may be asking a lot but the end of the semester is just around the 
corner.  I appreciate any help that you may give me ahead of time.  Thanks.

Stephen Jenkins
sn...@comcast.net


Make.Beowulf

SHELL = /bin/sh
#
CD = cd
CP = cp
LN_S = ln -s
MKDIR = mkdir
RM = /bin/rm -f
TOUCH = touch
# - Platform identifier 
ARCH = Linux_x86_64
# - HPL Directory Structure / HPL library --
TOPdir = $(HOME)/hpl
INCdir = $(TOPdir)/include
BINdir = $(TOPdir)/bin/$(ARCH)
LIBdir = $(TOPdir)/lib/$(ARCH)
#
HPLlib = $(LIBdir)/libhpl.a 
# - Message Passing library (MPI) --
MPdir = /usr/include/openmpi
MPinc = -I$/usr/include/include
MPlib = $(MPdir)/lib/libmpich.a
# - Linear Algebra library (BLAS or VSIPL) -
LAdir = $(HOME)/netlib/ARCHIVES/Linux_PII
LAinc =
LAlib = $(LAdir)/libcblas.a $(LAdir)/libatlas.a
# - F77 / C interface --
F2CDEFS =
# - HPL includes / libraries / specifics ---
HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)
HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)
# - Compile time options ---
HPL_OPTS = -DHPL_CALL_CBLAS
# --
HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)
# - Compilers / linkers - Optimization flags ---
CC = /usr/bin/gcc
CCNOOPT = $(HPL_DEFS)
CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops
# On some platforms, it is necessary to use the Fortran linker to find
# the Fortran internals used in the BLAS library.
LINKER = /usr/bin/g77
LINKFLAGS = $(CCFLAGS)
#
ARCHIVER = ar
ARFLAGS = r
RANLIB = echo

Re: [OMPI users] OpenMPI run with the SGE launcher, orte PE calrification

2007-04-10 Thread Bala
Thanks Goetz, we are able to submit OpenMPI jobs
using SGE.

  But still when we try to submit interactive job
we are getting the following error,

$ qrsh -pe mpich 4
 Rocks Compute Node
 Rocks 4.2.1 (Cydonia)
 Profile built 14:09 02-Apr-2007

 Kickstarted 22:16 02-Apr-2007
 -bash: ulimit: max locked memory: cannot modify
limit: Operation not permitted

 we are setting the ulimit in "/etc/init.d/sshd" file,
but not sure why we are getting this ulimit error
only in interactive jobs.

 How do you set ulimit?? and how much??
pls advice.

thanks,
-bala-

--- Götz Waschk  wrote:

> On 3/28/07, Bala  wrote:
> > % qconf -sp orte
> > 
> > start_proc_args   /bin/true
> > stop_proc_args/bin/true
> > just want to know anybody successfully running in
> SGE
> > using this PE??
> 
> Hi,
> 
> yes, I have a working installation of openmpi 1.2
> with SGE 6.0u9.
> 
> > from my mpich PE I can see start/stop arguments as
> > show below
> > start_proc_args   /opt/gridengine/mpi/startmpi.sh
> > -catch_rsh
> > $pe_hostfile
> > stop_proc_args/opt/gridengine/mpi/stopmpi.sh
> 
> Take a look at these scripts, they don't do anything
> fancy, they just
> prepare the machinefile and the rsh wrapper for
> mpich. Openmpi does
> the right thing by itself by looking at SGE's
> environment variables.
> 
> Regards, Götz Waschk - DESY Zeuthen
> 
> -- 
> AL I:40: Do what thou wilt shall be the whole of the
> Law.
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 





Looking for earth-friendly autos? 
Browse Top Cars by "Green Rating" at Yahoo! Autos' Green Center.
http://autos.yahoo.com/green_center/


Re: [OMPI users] OpenMPI run with the SGE launcher, orte PE calrification

2007-04-10 Thread Götz Waschk

On 4/10/07, Bala  wrote:

  But still when we try to submit interactive job
we are getting the following error,
$ qrsh -pe mpich 4
 Rocks Compute Node
 Rocks 4.2.1 (Cydonia)
 Profile built 14:09 02-Apr-2007
 Kickstarted 22:16 02-Apr-2007
 -bash: ulimit: max locked memory: cannot modify
limit: Operation not permitted


Hi Bala,

it seems you set the limit in one of the bash profile scripts, be it
~/.profile, /etc/profile or /etc/profile.d/*.


 How do you set ulimit?? and how much??
pls advice.

I don't set this limit at all, SGE doesn't touch the default value of
32k. There are several ways to set the limit. It seems you are hitting
the hard limit, if you want to set a higher value, you have to modify
/etc/security/limits.conf as defined in the comments. This is part of
pam, so you have to make sure your ssh session is using pam.

Regards, Götz Waschk


--
AL I:40: Do what thou wilt shall be the whole of the Law.



Re: [OMPI users] OpenMPI run with the SGE launcher, orte PE calrification

2007-04-10 Thread Jeff Squyres
If you are setting the limits for locked memory for InfiniBand, see  
these FAQ entries:


http://www.open-mpi.org/faq/?category=openfabrics#ib-locked-pages
http://www.open-mpi.org/faq/?category=openfabrics#ib-locked-pages-more



On Apr 10, 2007, at 6:36 AM, Götz Waschk wrote:


On 4/10/07, Bala  wrote:

  But still when we try to submit interactive job
we are getting the following error,
$ qrsh -pe mpich 4
 Rocks Compute Node
 Rocks 4.2.1 (Cydonia)
 Profile built 14:09 02-Apr-2007
 Kickstarted 22:16 02-Apr-2007
 -bash: ulimit: max locked memory: cannot modify
limit: Operation not permitted


Hi Bala,

it seems you set the limit in one of the bash profile scripts, be it
~/.profile, /etc/profile or /etc/profile.d/*.


 How do you set ulimit?? and how much??
pls advice.

I don't set this limit at all, SGE doesn't touch the default value of
32k. There are several ways to set the limit. It seems you are hitting
the hard limit, if you want to set a higher value, you have to modify
/etc/security/limits.conf as defined in the comments. This is part of
pam, so you have to make sure your ssh session is using pam.

Regards, Götz Waschk


--
AL I:40: Do what thou wilt shall be the whole of the Law.

___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users



--
Jeff Squyres
Cisco Systems




Re: [OMPI users] Help with HPL and MPI

2007-04-10 Thread Brock Palen
I remember trying to build HPL my first time as a student :-)  Its much simpler than you think It also is a great way to learn about linking and make files.  (Well in my opinion).See my comments below,  mostly quickly looking is you should change g77 and gcc to mpicc.  Yes mpicc calls gcc  you can see by runningmpicc -showmeThus you can ommit the MPdir, MPinc, and MPlib  (No libmpich.a !)You can see one I use to ACML on our cluster,  note we use PGI compilers.

Make.OPT_OMPI
Description: Binary data
 Brock PalenCenter for Advanced Computingbro...@umich.edu(734)936-1985 On Apr 10, 2007, at 12:10 AM, sn...@comcast.net wrote:  Hello all,   I am trying to configure HPL on a beowulf cluster that I have put together for a senior project at Weber State University, and I am having a little bit of trouble.  First of all, about the cluster:   4-node diskless cluster Fedora Core 6 - 64 bit version Intel Pentium D dual core processors MSI 965 motherboards   Right now I have one node doing a net boot with syslinux and would like to do a benchmark before I put the rest of the nodes together, so I can have a performance comparison with subsequent nodes.  I have installed the following packages on my system for HPL:   openmpi-1.1-7.fc6.x86_64.rpm openmpi-devel-1.1-7.fc6.x86_64.rpm openmpi-libs-1.1-7.fc6.x86_64.rpm lapack-3.1.0-4.fc6.x86_64.rpm Blas-3.1.0-4.fc6.x86_64.rpm atlas-4.6.0-11.fc6.x86_64.rpm cblas.tgz hpl.tgz   I may have installed more packages than necessary but I didn't think it would hurt.  Everything has installed successfully but I can't get the makefile. down.  I simply just don't understand enough of it to build it correctly.  I just keep getting 'Make.inc' errors.  The Makefile that I have attempted is below, called Make.Beowulf.  I just used a generic makefile from the setups directory and attempted to supply some paths to the libraries but to no avail.  I have tried to find documentation explaining more clearly how everything should be setup but nothing in lay-man terms, hence the errors.  A few questions:   What should my arch be?  Does that even matter?  Does it have to be x86_64? I realize I have to supply paths to the BLAS and MPI headers and libraries but exactly which libraries and header files? The compiler I am using is mpicc which is just linked to gcc, but shouldn't that compiler supply the links to the correct libraries and header files? The MPlib parameter points to libmpich.a so I installed mpich2 but that didn't give me a libmpich.a directory so what should I use there? Also, I am not using an network file systems so am I correct in assuming that all of the libraries need to be on each of the nodes?  If so, I need to know exactly where to put them, and again, I believe they would need to be put into the exact same location, so the problem is, which libraries and header files exactly?  (as to save precious RAM on each of the nodes).   I realize I may be asking a lot but the end of the semester is just around the corner.  I appreciate any help that you may give me ahead of time.  Thanks.   Stephen Jenkins sn...@comcast.net     Make.Beowulf   SHELL = /bin/sh#CD = cdCP = cpLN_S = ln -sMKDIR = mkdirRM = /bin/rm -fTOUCH = touch# - Platform identifier ARCH = Linux_x86_64# - HPL Directory Structure / HPL library --TOPdir = $(HOME)/hplINCdir = $(TOPdir)/includeBINdir = $(TOPdir)/bin/$(ARCH)LIBdir = $(TOPdir)/lib/$(ARCH)#HPLlib = $(LIBdir)/libhpl.a # - Message Passing library (MPI) --MPdir = /usr/include/openmpiMPinc = -I$/usr/include/includeMPlib = $(MPdir)/lib/libmpich.a# - Linear Algebra library (BLAS or VSIPL) -LAdir = $(HOME)/netlib/ARCHIVES/Linux_PIILAinc =LAlib = $(LAdir)/libcblas.a $(LAdir)/libatlas.a# - F77 / C interface --F2CDEFS =# - HPL includes / libraries / specifics ---HPL_INCLUDES = -I$(INCdir) -I$(INCdir)/$(ARCH) $(LAinc) $(MPinc)HPL_LIBS = $(HPLlib) $(LAlib) $(MPlib)# - Compile time options ---HPL_OPTS = -DHPL_CALL_CBLAS# --HPL_DEFS = $(F2CDEFS) $(HPL_OPTS) $(HPL_INCLUDES)# - Compilers / linkers - Optimization flags ---CC = /usr/bin/gccChange this to mpiccCCNOOPT = $(HPL_DEFS)CCFLAGS = $(HPL_DEFS) -fomit-frame-pointer -O3 -funroll-loops# On some platforms, it is necessary to use the Fortran linker to find# the Fortran internals used in the BLAS library.LINKER = /usr/bin/g77Why?  Also make this mpiccLINKFLAGS = $(CCFLAGS)#ARCHIVER = arARFLAGS = rRANLIB = echo___users mailing listus...@open-mpi.orghttp://www.open-mpi.org/mailman/listinfo.cgi/users 

Re: [OMPI users] -prefix not working

2007-04-10 Thread Joe Griffin

Hi Jeff

Comments after your text

Jeff Squyres wrote 2/5/07:


Greetings Joe.

What we did was to make 2 sets of environment variables that you can  
use to modify OMPI's internal path behavior:


1. OPAL_DESTDIR: If you want to use staged builds (a la RPM builds),  
you can set the environment variable OPAL_DESTDIR.  For example:


./configure --prefix=/opt/ompi
make install DESTDIR=/tmp
# at this point, OMPI is installed into /tmp/opt/ompi
setenv OPAL_DESTDIR /tmp
# put /tmp/opt/ompi in your path, then run ompi_info
ompi_info

Hence, OPAL_DESTDIR simply prefixes every internal path with the  
destdir.


2. OPAL_PREFIX: If you want to wholly override where the OMPI  
installation is, set OPAL_PREFIX to the new prefix value (quite  
similar to the LAMHOME environment variable, but slightly better).   
For example:


./configure --prefix=/opt/ompi
make install
mv /opt/ompi /home/ompi
setenv OPAL_PREFIX /home/ompi
ompi_info

This will re-base all of OMPI's internal directories to key off the  
new prefix value.  Similarly, OPAL_* environment variables exist for  
all other GNU-standard directories (OPAL_BINDIR,  
OPAL_INCLUEDIR, ...etc.).  Note that the default values of these  
variables are their GNU counterparts, so OMPI_BINDIR defaults to $ 
{prefix}/bin -- which requires resolving ${prefix} first (i.e.,  
OPAL_PREFIX).  Hence, setting OPAL_PREFIX will effectively change all  
the others.  We anticipate that most people will likely only ever use  
OPAL_PREFIX.
 


I finally got a chance to try V1.2.  I am having the same issue:

I installed with:
./configure --prefix=/usr/local/openmpi-1.2-1
make prefix=/usr/local/openmpi-1.2-1
make install prefix=/usr/local/openmpi-1.2-1

I can run with:
em64t6 <155> /usr/local/openmpi-1.2-1/bin/mpirun -n 1 --host em64t6 hostname
em64t6
em64t6 <156> cp -r /usr/local/openmpi-1.2-1 /tmp
em64t6 <157> /tmp/openmpi-1.2-1/bin/mpirun -n 1 --host em64t6 hostname
em64t6

Then I move the directory:
[root@em64t6 openmpi-1.2]# cd /usr/local/
[root@em64t6 local]# mv openmpi-1.2-1/  openmpiHIDE

Then I try to run:

em64t6 <158> /tmp/openmpi-1.2-1/bin/mpirun -n 1 --host em64t6 hostname
/tmp/openmpi-1.2-1/bin/mpirun: error while loading shared libraries: 
libopen-rte.so.0: cannot open shared object file: No such file or directory


If I set the env:
em64t6 <160> setenv OPAL_PREFIX /tmp/openmpi-1.2-1
em64t6 <164> setenv OPAL_DESTDIR /tmp/openmpi-1.2-1/
em64t6 <166> set path=( /tmp/openmpi-1.2-1/bin $path)
em64t6 <168> setenv LD_LIBRARY_PATH /tmp/openmpi-1.2-1/lib

The error becomes:
em64t6 <169> /tmp/openmpi-1.2-1/bin/mpirun -n 1 --host em64t6 hostname
[em64t6:30103] [NO-NAME] ORTE_ERROR_LOG: Not found in file 
runtime/orte_init_stage1.c at line 214

--
Sorry!  You were supposed to get help about:
   orte_init:startup:internal-failure
from the file:
   help-orte-runtime
But I couldn't find any file matching that name.  Sorry!
--
[em64t6:30103] [NO-NAME] ORTE_ERROR_LOG: Not found in file 
runtime/orte_system_init.c at line 42
[em64t6:30103] [NO-NAME] ORTE_ERROR_LOG: Not found in file 
runtime/orte_init.c at line 52

--
Sorry!  You were supposed to get help about:
   orterun:init-failure
from the file:
   help-orterun.txt
But I couldn't find any file matching that name.  Sorry!
--

The output from ompi_info is:

em64t6 <170> ompi_info
   Open MPI: 1.2
  Open MPI SVN revision: r14027
   Open RTE: 1.2
  Open RTE SVN revision: r14027
   OPAL: 1.2
  OPAL SVN revision: r14027
 Prefix: /usr/local/openmpi-1.2-1
Configured architecture: x86_64-unknown-linux-gnu
  Configured by: root
  Configured on: Tue Apr 10 09:39:28 PDT 2007
 Configure host: em64t6
   Built by: root
   Built on: Tue Apr 10 09:51:27 PDT 2007
 Built host: em64t6
 C bindings: yes
   C++ bindings: yes
 Fortran77 bindings: yes (all)
 Fortran90 bindings: no
Fortran90 bindings size: na
 C compiler: gcc
C compiler absolute: /usr/bin/gcc
   C++ compiler: g++
  C++ compiler absolute: /usr/bin/g++
 Fortran77 compiler: g77
 Fortran77 compiler abs: /usr/bin/g77
 Fortran90 compiler: none
 Fortran90 compiler abs: none
C profiling: yes
  C++ profiling: yes
Fortran77 profiling: yes
Fortran90 profiling: no
 C++ exceptions: no
 Thread support: posix (mpi: no, progress: no)
 Internal debug support: no
MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
libltdl support: yes
  Heterogeneous support: yes
mpirun default --prefix: no
  MCA backtr

Re: [OMPI users] OpenMPI for Windows?

2007-04-10 Thread Brian Barrett

On Mar 30, 2007, at 4:23 PM, rohit_si...@logitech.com wrote:


I'm somewhat new to OpenMPI, but I'm currently evaluating it as a
communications mechanism between Windows and Unix servers.

I noticed that under your FAQs (
http://www.open-mpi.org/faq/?category=supported-systems), it says:

  There are plans to support Microsoft Windows in the not-distant
future.

When is the not-distant future?  Is it in scope for this year?   
Will the

Windows support require a Unix emulation layer like Cygwin?

I do apologize if the information I'm requesting here is  
confidential in

nature.


The Windows support is planned, but we don't have a definite time  
table.  Much of the work has been done, although there are still  
pieces missing.  I believe remote launching is one of those pieces.   
The Windows support will be native and will not require Cygwin (which  
is part of what is taking us so long -- it's a bit project to move a  
UNIX-based code like Open MPI to Windows without sacrificing too much  
in maintainability and performance.



Hope this helps,

Brian