HP-MPI User's Guide (11th Edition)

Contents
vii
Scalability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Interconnect support of MPI-2 functionality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Resource usage of TCP/IP communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Resource usage of RDMA communication modes . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Improved deregistration via ptmalloc (Linux only) . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Signal Propagation (HP-UX and Linux only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Dynamic Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
MPI-2 name publishing support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Native language support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
4. Profiling
Using counter instrumentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Creating an instrumentation profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Viewing ASCII instrumentation data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Using the profiling interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Fortran profiling interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
C++ profiling interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
5. Tuning
Tunable parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
MPI_FLAGS=y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
MPI_TCP_CORECVLIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
MPI_SOCKBUFSIZE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
-cpu_bind, MPI_BIND_MAP, MPI_CPU_AFFINITY, MPI_CPU_SPIN . . . . . . . . . 183
-intra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
MPI_RDMA_INTRALEN, MPI_RDMA_MSGSIZE, MPI_RDMA_NENVELOPE . 184
MPI_USE_LIBELAN_SUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Message latency and bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Multiple network interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Processor subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Processor locality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Binding ranks to ldoms (-cpu_bind). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
MPI routine selection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Multilevel parallelism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Coding considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Using HP Caliper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6. Debugging and troubleshooting