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] Test OpenMPI on a cluster
From: Terry Frankcombe (terry_at_[hidden])
Date: 2010-01-31 19:35:34


It seems your OpenMPI installation is not PBS-aware.

Either reinstall OpenMPI configured for PBS (and then you don't even
need -np 10), or, as Constantinos says, find the PBS nodefile and pass
that to mpirun.

On Sat, 2010-01-30 at 18:45 -0800, Tim wrote:
> Hi,
>
> I am learning MPI on a cluster. Here is one simple example. I expect the output would show response from different nodes, but they all respond from the same node node062. I just wonder why and how I can actually get report from different nodes to show MPI actually distributes processes to different nodes? Thanks and regards!
>
> ex1.c
>
> /* test of MPI */
> #include "mpi.h"
> #include <stdio.h>
> #include <string.h>
>
> int main(int argc, char **argv)
> {
> char idstr[2232]; char buff[22128];
> char processor_name[MPI_MAX_PROCESSOR_NAME];
> int numprocs; int myid; int i; int namelen;
> MPI_Status stat;
>
> MPI_Init(&argc,&argv);
> MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
> MPI_Comm_rank(MPI_COMM_WORLD,&myid);
> MPI_Get_processor_name(processor_name, &namelen);
>
> if(myid == 0)
> {
> printf("WE have %d processors\n", numprocs);
> for(i=1;i<numprocs;i++)
> {
> sprintf(buff, "Hello %d", i);
> MPI_Send(buff, 128, MPI_CHAR, i, 0, MPI_COMM_WORLD); }
> for(i=1;i<numprocs;i++)
> {
> MPI_Recv(buff, 128, MPI_CHAR, i, 0, MPI_COMM_WORLD, &stat);
> printf("%s\n", buff);
> }
> }
> else
> {
> MPI_Recv(buff, 128, MPI_CHAR, 0, 0, MPI_COMM_WORLD, &stat);
> sprintf(idstr, " Processor %d at node %s ", myid, processor_name);
> strcat(buff, idstr);
> strcat(buff, "reporting for duty\n");
> MPI_Send(buff, 128, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
> }
> MPI_Finalize();
>
> }
>
> ex1.pbs
>
> #!/bin/sh
> #
> #This is an example script example.sh
> #
> #These commands set up the Grid Environment for your job:
> #PBS -N ex1
> #PBS -l nodes=10:ppn=1,walltime=1:10:00
> #PBS -q dque
>
> # export OMP_NUM_THREADS=4
>
> mpirun -np 10 /home/tim/courses/MPI/examples/ex1
>
> compile and run:
>
> [tim_at_user1 examples]$ mpicc ./ex1.c -o ex1
> [tim_at_user1 examples]$ qsub ex1.pbs
> 35540.mgt
> [tim_at_user1 examples]$ nano ex1.o35540
> ----------------------------------------
> Begin PBS Prologue Sat Jan 30 21:28:03 EST 2010 1264904883
> Job ID: 35540.mgt
> Username: tim
> Group: Brown
> Nodes: node062 node063 node169 node170 node171 node172 node174 node175
> node176 node177
> End PBS Prologue Sat Jan 30 21:28:03 EST 2010 1264904883
> ----------------------------------------
> WE have 10 processors
> Hello 1 Processor 1 at node node062 reporting for duty
>
> Hello 2 Processor 2 at node node062 reporting for duty
>
> Hello 3 Processor 3 at node node062 reporting for duty
>
> Hello 4 Processor 4 at node node062 reporting for duty
>
> Hello 5 Processor 5 at node node062 reporting for duty
>
> Hello 6 Processor 6 at node node062 reporting for duty
>
> Hello 7 Processor 7 at node node062 reporting for duty
>
> Hello 8 Processor 8 at node node062 reporting for duty
>
> Hello 9 Processor 9 at node node062 reporting for duty
>
> ----------------------------------------
> Begin PBS Epilogue Sat Jan 30 21:28:11 EST 2010 1264904891
> Job ID: 35540.mgt
> Username: tim
> Group: Brown
> Job Name: ex1
> Session: 15533
> Limits: neednodes=10:ppn=1,nodes=10:ppn=1,walltime=01:10:00
> Resources: cput=00:00:00,mem=420kb,vmem=8216kb,walltime=00:00:03
> Queue: dque
> Account:
> Nodes: node062 node063 node169 node170 node171 node172 node174 node175 node176
> node177
> Killing leftovers...
>
> End PBS Epilogue Sat Jan 30 21:28:11 EST 2010 1264904891
> ----------------------------------------
>
>
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users