Re: [OMPI users] MPI-2 Supported on Open MPI 1.2.5?

2008-03-11 Thread Jeff Pummill
Haha, yeah we found out about that one when trying to run Linpack with 
threaded BLAS implementations.


On the MPI-2 note, anyone running MATLAB and the parallel toolkit under 
Open MPI? They are unreasonably obscure about what MPI they need 
although I do believe they need MPI-2 functions.


If it will work with Open MPI, and is not a nightmare to set up, I may 
try it as some of my users would be elated. If there are excessive 
problems, I may opt for SciLab which is supposed to be an "equivalent" 
and open source.



Jeff F. Pummill
Senior Linux Cluster Administrator
University of Arkansas
Fayetteville, Arkansas 72701
(479) 575 - 4590
http://hpc.uark.edu

"In theory, there is no difference between theory and
practice. But in practice, there is!" /-- anonymous/


Brian Budge wrote:
One small (or to some, not so small) note is that full multi-threading 
with OpenMPI is very unlikely to work with infiniband right now.


  Brian

On Mon, Mar 10, 2008 at 6:24 AM, Michael > wrote:


Quick answer, till you get a complete answer, Yes, OpenMPI has long
supported most of the MPI-2 features.

Michael

On Mar 7, 2008, at 7:44 AM, Jeff Pummill wrote:
> Just a quick question...
>
> Does Open MPI 1.2.5 support most or all of the MPI-2 directives and
> features?
>
> I have a user who specified MVAPICH2 as he needs some features like
> extra task spawning, but I am trying to standardize on Open MPI
> compiled against Infiniband for my primary software stack.
>
> Thanks!
>
> --
> Jeff F. Pummill
> Senior Linux Cluster Administrator
> University of Arkansas

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




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


Re: [OMPI users] MPI-2 Supported on Open MPI 1.2.5?

2008-03-11 Thread Brian Budge
One small (or to some, not so small) note is that full multi-threading with
OpenMPI is very unlikely to work with infiniband right now.

  Brian

On Mon, Mar 10, 2008 at 6:24 AM, Michael  wrote:

> Quick answer, till you get a complete answer, Yes, OpenMPI has long
> supported most of the MPI-2 features.
>
> Michael
>
> On Mar 7, 2008, at 7:44 AM, Jeff Pummill wrote:
> > Just a quick question...
> >
> > Does Open MPI 1.2.5 support most or all of the MPI-2 directives and
> > features?
> >
> > I have a user who specified MVAPICH2 as he needs some features like
> > extra task spawning, but I am trying to standardize on Open MPI
> > compiled against Infiniband for my primary software stack.
> >
> > Thanks!
> >
> > --
> > Jeff F. Pummill
> > Senior Linux Cluster Administrator
> > University of Arkansas
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>


Re: [OMPI users] MPI_Comm_connect() fails.

2008-03-11 Thread Pak Lui

Hi Martin,

I believe you first need to start a persistent daemon with an ORTE 
universe and tell your server and client apps about the universe that 
you want them to connect to.


Here's an example of starting a persistent daemon with a specific 
universe (--debug is optional).

% orted --persistent --seed --scope public --universe univ1 --debug

You might also want to take a look at the steps that Rolf pointed out in 
this thread here:

http://www.open-mpi.org/community/lists/devel/2007/07/1915.php

I've tried running it before with v1.2.4. Maybe the instruction should 
be better documented in the FAQ or something like that.


Audet, Martin wrote:

Hi,

I'm experimenting with the MPI-2 functions for supporting the client/server model in MPI 
(e.g. server and client are independently created MPI jobs establishing an 
intercommunicator between them at run time, see section 5.4 "Establishing 
Communication" of the MPI-2 standard document) and it looks like if 
MPI_Comm_connect() always fail...

That is if I compile simple client/server programs as follow (for the source, 
see bellow):

  mpicc aserver.c -o aserver
  mpicc aclient.c -o aclient

I first start the server with:

  mpiexec -n 1 ./aserver

it prints:

  Server port = '0.1.0:2000'

and then start the client as follow (and provide the port name printed by the 
server):

  mpiexec -n 1 ./aclient '0.1.0:2000'

I get the following error with the client (the server continue to run 
unperturbed):

  [linux15:27660] [0,1,0] ORTE_ERROR_LOG: Not found in file dss/dss_unpack.c at 
line 209
  [linux15:27660] [0,1,0] ORTE_ERROR_LOG: Not found in file 
communicator/comm_dyn.c at line 186
  [linux15:27660] *** An error occurred in MPI_Comm_connect
  [linux15:27660] *** on communicator MPI_COMM_WORLD
  [linux15:27660] *** MPI_ERR_INTERN: internal error
  [linux15:27660] *** MPI_ERRORS_ARE_FATAL (goodbye)

Note that both are started on the same machine (hostname linux15).

The same programs seems to work fine with mpich2 (ch3:sock device) so my 
question is: am I doing something wrong or is there a bug in OpenMPI ?

I use OpenMPI version 1.2.5 configured as follow:

   ./configure --prefix=/usr/local/openmpi-1.2.5 --disable-mpi-f77 
--disable-mpi-f90 --disable-mpi-cxx --disable-cxx-exceptions 
--with-io-romio-flags=--with-file-system=ufs+nfs

on a Linux x86_64 machine runing Fedora Core 4.

Thanks,

Martin Audet



/* aserver.c */

#include 
#include 

int main(int argc, char **argv)
{
   int   comm_rank,comm_size;
   char  port_name[MPI_MAX_PORT_NAME];
   MPI_Comm intercomm;
   int  ok_flag;

   MPI_Init(, );

   MPI_Comm_rank(MPI_COMM_WORLD, _rank);
   MPI_Comm_size(MPI_COMM_WORLD, _size);

   ok_flag = (comm_rank != 0) || (argc == 1);
   MPI_Bcast(_flag, 1, MPI_INT, 0, MPI_COMM_WORLD);

   if (!ok_flag) {
  if (comm_rank == 0) {
 fprintf(stderr,"Usage: %s\n",argv[0]);
  }
  MPI_Abort(MPI_COMM_WORLD, 1);
   }

   MPI_Open_port(MPI_INFO_NULL, port_name);

   if (comm_rank == 0) {
  printf("Server port = '%s'\n", port_name);
   }
   MPI_Comm_accept(port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, );

   MPI_Close_port(port_name);

   MPI_Comm_disconnect();

   MPI_Finalize();

   return 0;
}


/* aclient.c */

#include 
#include 

#include 

int main(int argc, char **argv)
{
   int  comm_rank,comm_size;
   int  ok_flag;
   MPI_Comm intercomm;

   MPI_Init(, );

   MPI_Comm_rank(MPI_COMM_WORLD, _rank);
   MPI_Comm_size(MPI_COMM_WORLD, _size);

   ok_flag = (comm_rank != 0)  || ((argc == 2)  &&  argv[1]  &&  (*argv[1] != 
'\0'));
   MPI_Bcast(_flag, 1, MPI_INT, 0, MPI_COMM_WORLD);

   if (!ok_flag) {
  if (comm_rank == 0) {
 fprintf(stderr,"Usage: %s mpi_port\n", argv[0]);
  }
  MPI_Abort(MPI_COMM_WORLD, 1);
   }

   while (MPI_Comm_connect((comm_rank == 0) ? argv[1] : 0, MPI_INFO_NULL, 0, 
MPI_COMM_WORLD, ) != MPI_SUCCESS) {
  if (comm_rank == 0) {
 printf("MPI_Comm_connect() failled, sleeping and retrying...\n");
  }
  sleep(1);
   }

   MPI_Comm_disconnect();

   MPI_Finalize();

   return 0;
}

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



--


- Pak Lui
pak@sun.com


[OMPI users] MPI_Comm_connect() fails.

2008-03-11 Thread Audet, Martin
Hi,

I'm experimenting with the MPI-2 functions for supporting the client/server 
model in MPI (e.g. server and client are independently created MPI jobs 
establishing an intercommunicator between them at run time, see section 5.4 
"Establishing Communication" of the MPI-2 standard document) and it looks like 
if MPI_Comm_connect() always fail...

That is if I compile simple client/server programs as follow (for the source, 
see bellow):

  mpicc aserver.c -o aserver
  mpicc aclient.c -o aclient

I first start the server with:

  mpiexec -n 1 ./aserver

it prints:

  Server port = '0.1.0:2000'

and then start the client as follow (and provide the port name printed by the 
server):

  mpiexec -n 1 ./aclient '0.1.0:2000'

I get the following error with the client (the server continue to run 
unperturbed):

  [linux15:27660] [0,1,0] ORTE_ERROR_LOG: Not found in file dss/dss_unpack.c at 
line 209
  [linux15:27660] [0,1,0] ORTE_ERROR_LOG: Not found in file 
communicator/comm_dyn.c at line 186
  [linux15:27660] *** An error occurred in MPI_Comm_connect
  [linux15:27660] *** on communicator MPI_COMM_WORLD
  [linux15:27660] *** MPI_ERR_INTERN: internal error
  [linux15:27660] *** MPI_ERRORS_ARE_FATAL (goodbye)

Note that both are started on the same machine (hostname linux15).

The same programs seems to work fine with mpich2 (ch3:sock device) so my 
question is: am I doing something wrong or is there a bug in OpenMPI ?

I use OpenMPI version 1.2.5 configured as follow:

   ./configure --prefix=/usr/local/openmpi-1.2.5 --disable-mpi-f77 
--disable-mpi-f90 --disable-mpi-cxx --disable-cxx-exceptions 
--with-io-romio-flags=--with-file-system=ufs+nfs

on a Linux x86_64 machine runing Fedora Core 4.

Thanks,

Martin Audet



/* aserver.c */

#include 
#include 

int main(int argc, char **argv)
{
   int   comm_rank,comm_size;
   char  port_name[MPI_MAX_PORT_NAME];
   MPI_Comm intercomm;
   int  ok_flag;

   MPI_Init(, );

   MPI_Comm_rank(MPI_COMM_WORLD, _rank);
   MPI_Comm_size(MPI_COMM_WORLD, _size);

   ok_flag = (comm_rank != 0) || (argc == 1);
   MPI_Bcast(_flag, 1, MPI_INT, 0, MPI_COMM_WORLD);

   if (!ok_flag) {
  if (comm_rank == 0) {
 fprintf(stderr,"Usage: %s\n",argv[0]);
  }
  MPI_Abort(MPI_COMM_WORLD, 1);
   }

   MPI_Open_port(MPI_INFO_NULL, port_name);

   if (comm_rank == 0) {
  printf("Server port = '%s'\n", port_name);
   }
   MPI_Comm_accept(port_name, MPI_INFO_NULL, 0, MPI_COMM_WORLD, );

   MPI_Close_port(port_name);

   MPI_Comm_disconnect();

   MPI_Finalize();

   return 0;
}


/* aclient.c */

#include 
#include 

#include 

int main(int argc, char **argv)
{
   int  comm_rank,comm_size;
   int  ok_flag;
   MPI_Comm intercomm;

   MPI_Init(, );

   MPI_Comm_rank(MPI_COMM_WORLD, _rank);
   MPI_Comm_size(MPI_COMM_WORLD, _size);

   ok_flag = (comm_rank != 0)  || ((argc == 2)  &&  argv[1]  &&  (*argv[1] != 
'\0'));
   MPI_Bcast(_flag, 1, MPI_INT, 0, MPI_COMM_WORLD);

   if (!ok_flag) {
  if (comm_rank == 0) {
 fprintf(stderr,"Usage: %s mpi_port\n", argv[0]);
  }
  MPI_Abort(MPI_COMM_WORLD, 1);
   }

   while (MPI_Comm_connect((comm_rank == 0) ? argv[1] : 0, MPI_INFO_NULL, 0, 
MPI_COMM_WORLD, ) != MPI_SUCCESS) {
  if (comm_rank == 0) {
 printf("MPI_Comm_connect() failled, sleeping and retrying...\n");
  }
  sleep(1);
   }

   MPI_Comm_disconnect();

   MPI_Finalize();

   return 0;
}



[OMPI users] Set GID

2008-03-11 Thread Jon Mason
I am getting the following error when I try to run OMPI over my dual
port IB adapter:

--
WARNING: There are more than one active ports on host 'vic20', but the
default subnet GID prefix was detected on more than one of these
ports.  If these ports are connected to different physical IB
networks, this configuration will fail in Open MPI.  This version of
Open MPI requires that every physically separate IB subnet that is
used between connected MPI processes must have different subnet ID
values.

Please see this FAQ entry for more details:

  http://www.open-mpi.org/faq/?category=openfabrics#ofa-default-subnet-gid

NOTE: You can turn off this warning by setting the MCA parameter
  btl_openib_warn_default_gid_prefix to 0.
--


I understand why it is doing the above based on the description in the
link above, but I cannot seem to find anywhere that will tell me how to
change the GID to something else.

Thanks,
Jon


[OMPI users] What architecture? X86_64, that's what architecture!

2008-03-11 Thread Jim Hill




I'm trying to build a 64-bit 1.2.5 on an 8-core Xeon
Mac Pro running OS X 10.4.11, with the Portland Group's PGI Workstation
7.1-5 tools.  The configure script works its magic with a couple of
modifications to account for PGI's tendency to freak out about F90
modules.  Upon make, though, I end up dying with a "Wat architecture?"
error in
opal/mca/backtrace/darwin/MoreBacktrace/MoreDebugging/MoreBacktrace.c:128
because (I presume) a 64-bit Xeon build isn't a PPC, a PPC64, or an X86.

Is this something that's been seen by others?  I'm not the world's
greatest software stud and this is just a step along the path to my
real objective, which is making my own software run on this beast
machine of mine.

Suggestions, tips, and clever insults are welcome.  Thanks,


Jim
-- 
"Big Jim Cooley came out of the West;
whatever he wanted, he could get." -- Genesis, "Ballad of Big" 

Jim Hill, X-3 | MS T087 TA3/SCC | Vox: 665 3471 | Page: 104-7131 |
jimh...@lanl.gov

This message has been determined to be unclassified. -- JLH, ADC