Hi,
    I am having trouble using the --app option with OpenMPI's mpirun
command. The MPI processes launched with the --app option get launched
on the linux node that mpirun command is executed on.

The same MPI executable works when specified on the command line using
the -np <num-procs> option.

Please let me know what I am doing wrong ?

Bad launch :

head-node % /usr/lib64/openmpi/1.4-gcc/bin/mpirun --host
node1,node1,node2,node2 --app appfile 
head-node :Hello world from 0
head-node :Hello world from 3
head-node :Hello world from 1
head-node :Hello world from 2

Good launch :

head-node % /usr/lib64/openmpi/1.4-gcc/bin/mpirun --host
node1,node1,node2,node2 -np 4 mpiinit
node1 :Hello world from 0
node2 :Hello world from 2
node2 :Hello world from 3
node1 :Hello world from 1

head-node % cat appfile
-np 1 /home/user461/OPENMPI/mpiinit
-np 1 /home/user461/OPENMPI/mpiinit
-np 1 /home/user461/OPENMPI/mpiinit
-np 1 /home/user461/OPENMPI/mpiinit

head-node % cat mpiinit.c
#include <mpi.h>
#include <stdio.h>

int main(int argc, char** argv)
{
    int rc, me;
    char pname[MPI_MAX_PROCESSOR_NAME];
    int plen;

    MPI_Init(
       &argc,
       &argv
    );

    rc = MPI_Comm_rank(
            MPI_COMM_WORLD,
            &me
    );

    if (rc != MPI_SUCCESS)
    {
       return rc;
    }

    MPI_Get_processor_name(
       pname,
       &plen
    );

    printf("%s:Hello world from %d\n", pname, me);

    MPI_Finalize();

    return 0;
}


head-node % /usr/lib64/openmpi/1.4-gcc/bin/ompi_info
                 Package: Open MPI
mockbu...@x86-004.build.bos.redhat.com Distribution
                Open MPI: 1.4
   Open MPI SVN revision: r22285
   Open MPI release date: Dec 08, 2009
                Open RTE: 1.4
   Open RTE SVN revision: r22285
   Open RTE release date: Dec 08, 2009
                    OPAL: 1.4
       OPAL SVN revision: r22285
       OPAL release date: Dec 08, 2009
            Ident string: 1.4
                  Prefix: /usr/lib64/openmpi/1.4-gcc
 Configured architecture: x86_64-unknown-linux-gnu
          Configure host: x86-004.build.bos.redhat.com
           Configured by: mockbuild
           Configured on: Tue Feb 23 12:39:24 EST 2010
          Configure host: x86-004.build.bos.redhat.com
                Built by: mockbuild
                Built on: Tue Feb 23 12:41:54 EST 2010
              Built host: x86-004.build.bos.redhat.com
              C bindings: yes
            C++ bindings: yes
      Fortran77 bindings: yes (all)
      Fortran90 bindings: yes
 Fortran90 bindings size: small
              C compiler: gcc
     C compiler absolute: /usr/bin/gcc
            C++ compiler: g++
   C++ compiler absolute: /usr/bin/g++
      Fortran77 compiler: gfortran
  Fortran77 compiler abs: /usr/bin/gfortran
      Fortran90 compiler: gfortran
  Fortran90 compiler abs: /usr/bin/gfortran
             C profiling: yes
           C++ profiling: yes
     Fortran77 profiling: yes
     Fortran90 profiling: yes
          C++ exceptions: no
          Thread support: posix (mpi: no, progress: no)
           Sparse Groups: no
  Internal debug support: no
     MPI parameter check: runtime
Memory profiling support: no
Memory debugging support: no
         libltdl support: yes
   Heterogeneous support: no
 mpirun default --prefix: yes
         MPI I/O support: yes
       MPI_WTIME support: gettimeofday
Symbol visibility support: yes
   FT Checkpoint support: no  (checkpoint thread: no)
           MCA backtrace: execinfo (MCA v2.0, API v2.0, Component v1.4)
              MCA memory: ptmalloc2 (MCA v2.0, API v2.0, Component v1.4)
           MCA paffinity: linux (MCA v2.0, API v2.0, Component v1.4)
               MCA carto: auto_detect (MCA v2.0, API v2.0, Component
v1.4)
               MCA carto: file (MCA v2.0, API v2.0, Component v1.4)
           MCA maffinity: first_use (MCA v2.0, API v2.0, Component v1.4)
           MCA maffinity: libnuma (MCA v2.0, API v2.0, Component v1.4)
               MCA timer: linux (MCA v2.0, API v2.0, Component v1.4)
         MCA installdirs: env (MCA v2.0, API v2.0, Component v1.4)
         MCA installdirs: config (MCA v2.0, API v2.0, Component v1.4)
                 MCA dpm: orte (MCA v2.0, API v2.0, Component v1.4)
              MCA pubsub: orte (MCA v2.0, API v2.0, Component v1.4)
           MCA allocator: basic (MCA v2.0, API v2.0, Component v1.4)
           MCA allocator: bucket (MCA v2.0, API v2.0, Component v1.4)
                MCA coll: basic (MCA v2.0, API v2.0, Component v1.4)
                MCA coll: hierarch (MCA v2.0, API v2.0, Component v1.4)
                MCA coll: inter (MCA v2.0, API v2.0, Component v1.4)
                MCA coll: self (MCA v2.0, API v2.0, Component v1.4)
                MCA coll: sm (MCA v2.0, API v2.0, Component v1.4)
                MCA coll: sync (MCA v2.0, API v2.0, Component v1.4)
                MCA coll: tuned (MCA v2.0, API v2.0, Component v1.4)
                  MCA io: romio (MCA v2.0, API v2.0, Component v1.4)
               MCA mpool: fake (MCA v2.0, API v2.0, Component v1.4)
               MCA mpool: rdma (MCA v2.0, API v2.0, Component v1.4)
               MCA mpool: sm (MCA v2.0, API v2.0, Component v1.4)
                 MCA pml: cm (MCA v2.0, API v2.0, Component v1.4)
                 MCA pml: csum (MCA v2.0, API v2.0, Component v1.4)
                 MCA pml: ob1 (MCA v2.0, API v2.0, Component v1.4)
                 MCA pml: v (MCA v2.0, API v2.0, Component v1.4)
                 MCA bml: r2 (MCA v2.0, API v2.0, Component v1.4)
              MCA rcache: vma (MCA v2.0, API v2.0, Component v1.4)
                 MCA btl: ofud (MCA v2.0, API v2.0, Component v1.4)
                 MCA btl: openib (MCA v2.0, API v2.0, Component v1.4)
                 MCA btl: self (MCA v2.0, API v2.0, Component v1.4)
                 MCA btl: sm (MCA v2.0, API v2.0, Component v1.4)
                 MCA btl: tcp (MCA v2.0, API v2.0, Component v1.4)
                MCA topo: unity (MCA v2.0, API v2.0, Component v1.4)
                 MCA osc: pt2pt (MCA v2.0, API v2.0, Component v1.4)
                 MCA osc: rdma (MCA v2.0, API v2.0, Component v1.4)
                 MCA iof: hnp (MCA v2.0, API v2.0, Component v1.4)
                 MCA iof: orted (MCA v2.0, API v2.0, Component v1.4)
                 MCA iof: tool (MCA v2.0, API v2.0, Component v1.4)
                 MCA oob: tcp (MCA v2.0, API v2.0, Component v1.4)
                MCA odls: default (MCA v2.0, API v2.0, Component v1.4)
                 MCA ras: gridengine (MCA v2.0, API v2.0, Component
v1.4)
                 MCA ras: slurm (MCA v2.0, API v2.0, Component v1.4)
               MCA rmaps: load_balance (MCA v2.0, API v2.0, Component
v1.4)
               MCA rmaps: rank_file (MCA v2.0, API v2.0, Component v1.4)
               MCA rmaps: round_robin (MCA v2.0, API v2.0, Component
v1.4)
               MCA rmaps: seq (MCA v2.0, API v2.0, Component v1.4)
                 MCA rml: oob (MCA v2.0, API v2.0, Component v1.4)
              MCA routed: binomial (MCA v2.0, API v2.0, Component v1.4)
              MCA routed: direct (MCA v2.0, API v2.0, Component v1.4)
              MCA routed: linear (MCA v2.0, API v2.0, Component v1.4)
                 MCA plm: rsh (MCA v2.0, API v2.0, Component v1.4)
                 MCA plm: slurm (MCA v2.0, API v2.0, Component v1.4)
               MCA filem: rsh (MCA v2.0, API v2.0, Component v1.4)
              MCA errmgr: default (MCA v2.0, API v2.0, Component v1.4)
                 MCA ess: env (MCA v2.0, API v2.0, Component v1.4)
                 MCA ess: hnp (MCA v2.0, API v2.0, Component v1.4)
                 MCA ess: singleton (MCA v2.0, API v2.0, Component v1.4)
                 MCA ess: slurm (MCA v2.0, API v2.0, Component v1.4)
                 MCA ess: tool (MCA v2.0, API v2.0, Component v1.4)
             MCA grpcomm: bad (MCA v2.0, API v2.0, Component v1.4)
             MCA grpcomm: basic (MCA v2.0, API v2.0, Component v1.4)


Sincerely,

Waris Sindhi
High Performance Computing, TechApps
Pratt & Whitney, UTC
(860)-565-8486



Reply via email to