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@user1 examples]$ mpicc ./ex1.c -o ex1   
>     [tim@user1 examples]$ qsub ex1.pbs  
>     35540.mgt  
>     [tim@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
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to