Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] Set number of processes in another way than -np X
From: José Luis García Pallero (jgpallero_at_[hidden])
Date: 2013-06-06 11:24:57


2013/6/6 Ralph Castain <rhc_at_[hidden]>

> Afraid not. You could start a single process, and then have that process
> call MPI_Comm_spawn to launch the rest of them
>

Mmmm... sounds good

I'm writing an example program using ScaLAPACK. I have written the
ScaLAPACK code in an independent function that must be called after some
work in an individual node (the root one). So I need the first part of the
program be executed by one process. My example looks like:

int main()
{
    //some work that must be done by only one node
    .....
    //function that runs internally some scalapack computations
    funcCompScalapack();
    //other work must be done by the original node
    ....
    return 0;
}

void funcCompScalapack()
{
    //Initialize MPI
    MPI_Init(NULL,NULL);
    //here I think I should write some code in order to inform that the
work must be done by a number X or processors
    //maybe using MPI_Comm_spawn?
    ....
    //some BLACS and ScaLAPACK computations
    ....
    //finalize MPI
    MPI_Finalize();
    return;
}

When I execute this program as mpirun -np X myprogram, the pieces of code
before and after the call to function funcCompScalapack() are executed by X
nodes, but these orders must be executed only by one. So my idea is to
execute the binary as ./myprogram (the same I think as mpirun -np 1
myprogram) and internally set the number of processes in
funcCompScalapack() after the MPI_Init() call.

Is my idea possible?

Thanks

>
> On Jun 6, 2013, at 7:54 AM, José Luis García Pallero <jgpallero_at_[hidden]>
> wrote:
>
> Hello:
>
> I'm newbie in the use of MPI, so probably I ask some stupid question (or
> previously asked, but in this case I have searched in the archive and I
> haven't found anything):
>
> Exists any other way than -np X in order to pass the number of processes
> to start for an MPI program? I mean a function of the style
> MPI_Set_Number_Processes() or similar
>
> Thanks
>
> --
> *****************************************
> José Luis García Pallero
> jgpallero_at_[hidden]
> (o<
> / / \
> V_/_
> Use Debian GNU/Linux and enjoy!
> *****************************************
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>

-- 
*****************************************
José Luis García Pallero
jgpallero_at_[hidden]
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************