[OMPI users] How can I start building apps in Open MPI? any docs?

2008-07-27 Thread Amir Saad
I'll be starting some parallel programs in Open  MPI and I would like to find a 
guide or any docs of Open MPI, any suggestions please? I couldn't find any docs 
on the website, how do I know about the APIs or the functions that I should use?
Thank you
Amir



[OMPI users] C or C++ or Fortran?

2008-07-27 Thread Amir Saad
Which one is better for parallel programs? and depends on what?
Thank you
Amir



Re: [OMPI users] How can I start building apps in Open MPI? any docs?

2008-07-27 Thread Pavel Shamis (Pasha)

Amir Saad wrote:
I'll be starting some parallel programs in Open  MPI and I would like 
to find a guide or any docs of Open MPI, any suggestions please? I 
couldn't find any docs on the website, how do I know about the APIs or 
the functions that I should use?

Here are videos about OpenMPI/MPI - http://www.open-mpi.org/video/
FAQ - http://www.open-mpi.org/faq/

Pasha.


Re: [OMPI users] C or C++ or Fortran?

2008-07-27 Thread Gabriele Fatigati
Hi,
language choice depends by your problem to solved. C and Fortran are in
general more quick than C++.

2008/7/27 Amir Saad 

> Which one is better for parallel programs? and depends on what?
> Thank you
> Amir
>
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>



-- 
Gabriele Fatigati

CINECA Systems & Tecnologies Department

Supercomputing Group

Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy

www.cineca.it Tel: +39 051 6171722

g.fatig...@cineca.it


Re: [OMPI users] How can I start building apps in Open MPI? any docs?

2008-07-27 Thread Jeff Squyres
In addition to what Pasha said, keep in mind that Open MPI implements  
the standardized MPI API.  There are many books and web tutorials  
available about MPI.  There's a few at NCSA, for example:



http://ci-tutor.ncsa.uiuc.edu/browse.php?category=-1&search=MPI&include=all&filter=Filter


On Jul 27, 2008, at 2:16 AM, Pavel Shamis (Pasha) wrote:


Amir Saad wrote:
I'll be starting some parallel programs in Open  MPI and I would  
like to find a guide or any docs of Open MPI, any suggestions  
please? I couldn't find any docs on the website, how do I know  
about the APIs or the functions that I should use?

Here are videos about OpenMPI/MPI - http://www.open-mpi.org/video/
FAQ - http://www.open-mpi.org/faq/

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



--
Jeff Squyres
Cisco Systems



Re: [OMPI users] How can I start building apps in Open MPI? any docs?

2008-07-27 Thread Matt Hughes
For beginners, it is worth picking up some books.  I have used Using
MPI - 2nd Edition: Portable Parallel Programming with the Message
Passing Interface by Gropp, Lusk, and Skjellum.

The reference for MPI is available online at
http://www.mpi-forum.org/docs/docs.html, but hard copies are nice to
have: MPI: The Complete Reference by Snir and Gropp.

mch

2008/7/27 Amir Saad :
> I'll be starting some parallel programs in Open  MPI and I would like to
> find a guide or any docs of Open MPI, any suggestions please? I couldn't
> find any docs on the website, how do I know about the APIs or the functions
> that I should use?
> Thank you
> Amir
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>


[OMPI users] Want to build a static openmpi with both myrinet and tcp

2008-07-27 Thread Borenstein, Bernard S
We now have a cluster with myrinet and another cluster with tcp.  I want
to build a static OPENMPI that will detect if there is myrinet on the
cluster and use that, if myrinet is not available, run with tcp.  I see
the --enable-mca-static option but am confused as to how to use
it for what I want to do.  Could someone please provide an example of
the configure command to do what I want??

Thanx,

Bernie Borenstein
The Boeing Company



Re: [OMPI users] How to cease the process triggered by OPENMPI

2008-07-27 Thread vega lew

Dear Brock Palen,

Thank you for your responding.

My linux is redhat enterprise 4. My compiler is 10.1.015 version of intel 
fortran and intel c.

You said 'when the job is killed all the children are also'

But I started my OPENMPI job using the nohup command to put the job background 
like this,
" nohup mpirun -hostfile ~/hostfile -np 64 pw.x < input > output  & ".

When I killed one of the process named pw.x, all the others didn't stop.
When I killed the process named orted, the pw.x process in the same node stoped 
immediately,
but the job in the other node were still running.

Do you think there is something wrong with my cluster or openmpi or the 
software named pw.x?

Is there a command for openmpi to force all the process to stop in the cluster 
or a list of nodes to stop.  

Vega Lew (weijia liu)
PH.D Candidate in Chemical Engineering
State Key Laboratory of Materials-oriented Chemical Engineering
College of Chemistry and Chemical Engineering
Nanjing University of Technology, 210009, Nanjing, Jiangsu, China

From: bro...@umich.edu
List-Post: users@lists.open-mpi.org
Date: Sat, 26 Jul 2008 12:52:08 -0400
To: us...@open-mpi.org
Subject: Re: [OMPI users] How to cease the process triggered by OPENMPI


Does the cluster your using use a batch system?  Like SLURM, PBS or other?
If so many have native ways to launch jobs that OMPI can use.  SO that when the 
job is killed all the children are also.
 Brock Palenwww.umich.edu/~brockpCenter for Advanced 
computingbro...@umich.edu(734)936-1985 
On Jul 26, 2008, at 12:25 PM, vega lew wrote: Dear all,

I have enjoyed the openmpi a couple of days. With the help of openmpi I could 
run ESPRESSO efficiently.

I started the mpi-job by the openmpi command like this,

" nohup mpirun -hostfile ~/hostfile -np 64 pw.x < input > output &".

When I want to stop the job before it finished, I find it not easy to stop all 
the process manually. When I killed the process
in one node of the cluster, the processes in other nodes were still running. So 
I must ssh to every node, find the 
process id and kill the process. If there are 100 processors or more for one 
mpi job, the situation even worse.

Is there a command for openmpi to force all the process to stop in the cluster 
or a list of nodes to stop.  

vega

Vega Lew (weijia liu)
PH.D Candidate in Chemical Engineering
 State Key Laboratory of Materials-oriented Chemical Engineering
College of Chemistry and Chemical Engineering
Nanjing University of Technology, 210009, Nanjing, Jiangsu, China
Explore the seven wonders of the world Learn 
more!___users mailing 
listusers@open-mpi.orghttp://www.open-mpi.org/mailman/listinfo.cgi/users 

_
News, entertainment and everything you care about at Live.com. Get it now!
http://www.live.com/getstarted.aspx

Re: [OMPI users] Want to build a static openmpi with both myrinet and tcp

2008-07-27 Thread Aurélien Bouteiller

Add the following flags to your configure line.

--disable-dlopen --disable-shared --enable-static --with-mx=/some/path/ 
to/mx/lib


Even if everything is compiled static, the selection logic (as well as  
the mca parameters --mca btl=tcp,mx,self...) will continue working as  
usual.


Last, there is no clear benefit in compiling static on systems  
supporting dynamic.



Aurelien
Le 27 juil. 08 à 13:20, Borenstein, Bernard S a écrit :

We now have a cluster with myrinet and another cluster with tcp.  I  
want

to build a static OPENMPI that will detect if there is myrinet on the
cluster and use that, if myrinet is not available, run with tcp.  I  
see

the --enable-mca-static option but am confused as to how to use
it for what I want to do.  Could someone please provide an example of
the configure command to do what I want??

Thanx,

Bernie Borenstein
The Boeing Company

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


--
* Dr. Aurélien Bouteiller
* Sr. Research Associate at Innovative Computing Laboratory
* University of Tennessee
* 1122 Volunteer Boulevard, suite 350
* Knoxville, TN 37996
* 865 974 6321







Re: [OMPI users] how to make a process start and then join a MPI group

2008-07-27 Thread Mark Borgerding
Perhaps I am doing something wrong. The childrens' calls to 
MPI_Intercomm_merge never return.


Here's the chronology (with 2 children):

parent calls MPI_Init
parent calls MPI_Comm_spawn
child calls MPI_Init
child calls MPI_Init
parent call to MPI_Comm_spawn returns
(long pause inserted)
parent calls MPI_Intercomm_merge
child MPI_Init returns
child calls MPI_Intercomm_merge
child MPI_Init returns
child calls MPI_Intercomm_merge
parent MPI_Intercomm_merge returns
... but the child processes never return from the MPI_InterComm_merge 
function.



Here are some code snippets:

# parent:

   MPI_Init(NULL,NULL);

   int nkids=2;
   int errs[nkids];
   MPI_Comm kid;
   cerr << "parent calls MPI_Comm_spawn" << endl;
   CHECK_MPI_CODE(  
MPI_Comm_spawn("test_mpi",NULL,nkids,MPI_INFO_NULL,0,MPI_COMM_WORLD,&kid,errs) 
);

   cerr << "parent call to MPI_Comm_spawn returns" << endl;
   for (k=0;k
MPI_Intercomm_merge is what you are looking for.

Aurelien
Le 26 juil. 08 à 13:23, Mark Borgerding a écrit :


Okay, so I've gotten a little bit closer.

I'm using MPI_Comm_spawn to start several children processes.  The 
problem is that the children are in their own group, separate from 
the parent (just the like the documentation says).  I want to merge 
the children's group with the parent group so I can efficiently 
Send/Recv data between them..


Is this possible?

Plan B: I guess if there is no elegant way to merge all those 
processes into one group, I can connect sockets and make intercomms 
to talk from the parent directly to each child.


-- Mark



Mark Borgerding wrote:
I am writing a code module that plugs into a larger application 
framework.  That framework loads my code module as a shared object.
So I do not control how the first process gets started, but I still 
want it to be able to start and participate in an MPI group.


Here's roughly what I want to happen ( I think):

framework app running (not under my control)
  -> framework loads mycode.so shared object into its process
 -> mycode.so starts mpi programs on several hosts (e.g. 
via system call to mpiexec )
 -> initial mycode.so process participates in the group 
he just started (e.g. he shows up in MPI_Comm_group, can use 
MPI_Send, MPI_Recv, etc. )


Can this be done?
I am running under Centos 5.2

Thanks,
  Mark

___
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



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




Re: [OMPI users] how to make a process start and then join a MPI group

2008-07-27 Thread Mark Borgerding

I got something working, but I'm not 100% sure why.

The children woke up and returned from their calls to 
MPI_Intercomm_merge only after
 the parent used the intercomm to send some data to the children via 
MPI_Send.




Mark Borgerding wrote:
Perhaps I am doing something wrong. The childrens' calls to 
MPI_Intercomm_merge never return.


Here's the chronology (with 2 children):

parent calls MPI_Init
parent calls MPI_Comm_spawn
child calls MPI_Init
child calls MPI_Init
parent call to MPI_Comm_spawn returns
(long pause inserted)
parent calls MPI_Intercomm_merge
child MPI_Init returns
child calls MPI_Intercomm_merge
child MPI_Init returns
child calls MPI_Intercomm_merge
parent MPI_Intercomm_merge returns
... but the child processes never return from the MPI_InterComm_merge 
function.



Here are some code snippets:

# parent:

   MPI_Init(NULL,NULL);

   int nkids=2;
   int errs[nkids];
   MPI_Comm kid;
   cerr << "parent calls MPI_Comm_spawn" << endl;
   CHECK_MPI_CODE(  
MPI_Comm_spawn("test_mpi",NULL,nkids,MPI_INFO_NULL,0,MPI_COMM_WORLD,&kid,errs) 
);

   cerr << "parent call to MPI_Comm_spawn returns" << endl;
   for (k=0;k
MPI_Intercomm_merge is what you are looking for.

Aurelien
Le 26 juil. 08 à 13:23, Mark Borgerding a écrit :


Okay, so I've gotten a little bit closer.

I'm using MPI_Comm_spawn to start several children processes.  The 
problem is that the children are in their own group, separate from 
the parent (just the like the documentation says).  I want to merge 
the children's group with the parent group so I can efficiently 
Send/Recv data between them..


Is this possible?

Plan B: I guess if there is no elegant way to merge all those 
processes into one group, I can connect sockets and make intercomms 
to talk from the parent directly to each child.


-- Mark



Mark Borgerding wrote:
I am writing a code module that plugs into a larger application 
framework.  That framework loads my code module as a shared object.
So I do not control how the first process gets started, but I still 
want it to be able to start and participate in an MPI group.


Here's roughly what I want to happen ( I think):

framework app running (not under my control)
  -> framework loads mycode.so shared object into its process
 -> mycode.so starts mpi programs on several hosts 
(e.g. via system call to mpiexec )
 -> initial mycode.so process participates in the group 
he just started (e.g. he shows up in MPI_Comm_group, can use 
MPI_Send, MPI_Recv, etc. )


Can this be done?
I am running under Centos 5.2

Thanks,
  Mark

___
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



___
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