[mpich2-dev] MVAPICH2 does not work with specified PKEYs.

Rajeev Thakur thakur at mcs.anl.gov
Wed Aug 12 12:37:33 CDT 2009


Mike,
         I have forwarded your note to the mvapich-discuss list, which
is the right list for MVAPICH2 related issues.
 
Rajeev
 


  _____  

From: mpich2-dev-bounces at mcs.anl.gov
[mailto:mpich2-dev-bounces at mcs.anl.gov] On Behalf Of Mike Heinz
Sent: Wednesday, August 12, 2009 10:40 AM
To: mpich2-dev at mcs.anl.gov
Cc: Todd Rimmer
Subject: [mpich2-dev] MVAPICH2 does not work with specified PKEYs.



My testers are reporting further problems with mvapich2. On a fabric
where the use of pkeys is required, mvapich2 is failing.

 

1)      The MV2_DEFAULT_PKEY parameter does not appear to be supported
when using mpirun_rsh.

2)      When using mpd and mpiexec, the MV2_DEFAULT_PKEY parameter gets
passed, but then fails. For example:

 

[root at homer mpi_apps]#  export MV2_DEFAULT_PKEY=0xffff

[root at homer mpi_apps]#  /usr/mpi/gcc/mvapich2-1.2p1/bin/mpiexec
-machinefile /opt/iba/src/mpi_apps/mpi_hosts -n 2 osu2/osu_bw

 [0] Abort: Can't find PKEY INDEX according to given PKEY

 at line 1190 in file rdma_iba_priv.c

rank 0 in job 6  homer.dev.silverstorm.com_33133   caused collective
abort of all ranks

  exit status of rank 0: killed by signal 9

 

(Note that 0xffff is actually the default PKEY).

 

A quick saquery reveals that the pkey is, in fact in the table:

 

[root at homer mpi_apps]# iba_saquery -o pkey -l 1

LID: 0x0001 PortNum:  1 BlockNum:  0

      0-   7:  0x9001  0xffff  0x9002  0x0000  0x0000  0x0000  0x0000
0x0000

      8-  15:  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000
0x0000

     16-  23:  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000
0x0000

     24-  31:  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000  0x0000
0x0000

 

When I examine ibv_param.c to see what was going on, here is what I
found:

 

    if ((value = getenv("MV2_DEFAULT_PKEY")) != NULL) {

        rdma_default_pkey = (uint16_t)strtol(value, (char **) NULL,0) &
PKEY_MASK;

    }

And.

 

    #define PKEY_MASK 0x7fff /* the last bit is reserved */

 

This makes it clear that mpiexec is doing bad things to the pkey - if
nothing else, the high bit must be set in order for the connection to
have full membership in an  Infiniband partition. Without setting this
bit, a node will only have "limited membership", and limited nodes are
not permitted to talk to each other.

 

I'm going to try and see if I can quickly put together a patch for you
that fixes the problems with mpiexec - but I'm not sure what the correct
fix is for mpirun_rsh.

 

--

Michael Heinz

Principal Engineer, Qlogic Corporation

King of Prussia, Pennsylvania

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich2-dev/attachments/20090812/82a9342b/attachment.htm>


More information about the mpich2-dev mailing list