I tried building from OMPI 1.6.3 tarball with the following ./configure: ./configure --prefix=/apotto/home1/homedirs/fsimula/Lavoro/openmpi-1.6.3/install/ \
--disable-mpi-io \
--disable-io-romio \
--enable-dependency-tracking \
--without-slurm \
--with-platform=optimized \
--disable-mpi-f77 \
--disable-mpi-f90 \
--with-openib \
--disable-static \
--enable-shared \
--disable-vt \
--enable-pty-support \
--enable-mca-no-build=btl-ofud,pml-bfo \
--with-mxm=/opt/mellanox/mxm \
--with-mxm-libdir=/opt/mellanox/mxm/lib

As you can see from the last two lines, I want to enable the MXM transport layer on a cluster made of SuperMicro X8DTG-D boards with dual Xeons and Mellanox MT26428 HCAs; the OS is CentOS 5.8.

I tried with two different .rpm's for MXM, either 'mxm-1.1.ad085ef-1.x86_64-centos5u7.rpm' taken from here:
http://www.mellanox.com/downloads/hpc/mxm/v1.1/mxm-latest.tar

and 'mxm-1.5.f583875-1.x86_64-centos5u7.rpm' taken from here:
http://www.mellanox.com/downloads/hpc/mxm/v1.5/mxm-latest.tar

With both, even if the compilation concludes successfully, a simple test (osu_bw from the OSU Micro-Benchmarks 3.8) fails with the sort of message reported below; the lines:

rdma_dev.c:122 MXM DEBUG Port 1 on mlx4_0 has a link layer different from IB. Skipping it rdma_dev.c:155 MXM ERROR An active IB port on a Mellanox device, with lid [any] gid [any] not found

make it seem like it cannot access the HW for the HCA: is that so? The very same test works when using '-mca pml ob1' (thus using the openib BTL).

I'm quite ready to start pulling my hair; any suggestions?

The output of /usr/bin/ibv_devinfo for the two cluster nodes follows:
[cut]
hca_id: mlx4_0
        transport:                      InfiniBand (0)
        fw_ver:                         2.7.000
        node_guid:                      0025:90ff:ff07:0ac4
        sys_image_guid:                 0025:90ff:ff07:0ac7
        vendor_id:                      0x02c9
        vendor_part_id:                 26428
        hw_ver:                         0xB0
        board_id:                       SM_1061000001000
        phys_port_cnt:                  1
                port:   1
                        state:                  PORT_ACTIVE (4)
                        max_mtu:                2048 (4)
                        active_mtu:             2048 (4)
                        sm_lid:                 4
                        port_lid:               6
                        port_lmc:               0x00
[/cut]

[cut]
hca_id: mlx4_0
        transport:                      InfiniBand (0)
        fw_ver:                         2.7.000
        node_guid:                      0025:90ff:ff07:0acc
        sys_image_guid:                 0025:90ff:ff07:0acf
        vendor_id:                      0x02c9
        vendor_part_id:                 26428
        hw_ver:                         0xB0
        board_id:                       SM_1061000001000
        phys_port_cnt:                  1
                port:   1
                        state:                  PORT_ACTIVE (4)
                        max_mtu:                2048 (4)
                        active_mtu:             2048 (4)
                        sm_lid:                 4
                        port_lid:               8
                        port_lmc:               0x00
[/cut]

The complete output of the failing test follows:

[fsimula@agape5 osu-micro-benchmarks-3.8]$ mpirun -x MXM_LOG_LEVEL=poll -mca pml cm -mca mtl_mxm_np 1 -np 2 -host agape4,agape5 install/libexec/osu-micro-benchmarks/mpi/pt2pt/osu_bw H H
[1358430343.266782] [agape5:8596 :0] config_parser.c:168  MXM DEBUG
[1358430343.266815] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_HANDLE_ERRORS=bt [1358430343.266826] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_GDB_PATH=/usr/bin/gdb [1358430343.266838] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_DUMP_SIGNO=1 [1358430343.266851] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_DUMP_LEVEL=conn [1358430343.266924] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_ASYNC_MODE=THREAD [1358430343.266936] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_TIME_ACCURACY=0.1 [1358430343.266956] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_PTLS=self,shm,rdma [1358430343.267249] [agape5:8596 :0] mpool.c:265 MXM DEBUG mpool 'ptl_self_recv_ev': allocated chunk 0xc075f40 of 96016 bytes with 1000 elements [1358430343.267308] [agape5:8596 :0] mpool.c:156 MXM DEBUG mpool 'ptl_self_recv_ev': align 16, maxelems 1000, elemsize 88, padding 8 [1358430343.267316] [agape5:8596 :0] self.c:410 MXM DEBUG Created ptl_self [1358430343.267333] [agape5:8596 :0] shm_ptl.c:56 MXM DEBUG Created ptl_shm [1358430343.268457] [agape5:8596 :0] rdma_ptl.c:65 MXM TRACE Got 1 IB devices [1358430343.268640] [agape5:8596 :0] rdma_ptl.c:112 MXM DEBUG added device mlx4_0 [1358430343.268665] [agape5:8596 :0] memreg.c:187 MXM TRACE Created memory registration cache on 1 devices [1358430343.268676] [agape5:8596 :0] rdma_ptl.c:133 MXM DEBUG Created ptl_rdma [1358430343.268689] [agape5:8596 :0] event.c:353 MXM FUNC mxm_event_init(event=0x2b73e0ee3038 mode=2 time_accuracy=160000000) [1358430343.268698] [agape5:8596 :0] timerq.c:55 MXM FUNC mxm_timerq_init(timerq=0x2b73e0ee3060 accuracy=160000000 max_interval=1600000000) [1358430343.268706] [agape5:8596 :0] event.c:292 MXM FUNC mxm_event_add_thread_context(thread=0x2b73e0ee30d0) [1358430343.268732] [agape5:8596 :0] event.c:198 MXM FUNC mxm_set_fd_nonblock(fd=10) [1358430343.268741] [agape5:8596 :0] event.c:198 MXM FUNC mxm_set_fd_nonblock(fd=11) [1358430343.268841] [agape5:8596 :0] mxm.c:162 MXM INFO context 0x2b73e0ee3010 created [1358430343.269090] [agape5:8596 :1] event.c:41 MXM FUNC __call_handler(handler->cb=0x2b73e0ab28a0 handler->arg=0x2b73e0ee3038) [1358430343.269104] [agape5:8596 :1] timerq.c:88 MXM FUNC mxm_timerq_sweep(timerq=0x2b73e0ee3060 current_time=568595527963578) [1358430343.274685] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_ENABLE_HUGETLB=1 [1358430343.274700] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_ENABLE_TIMEOUTS=y [1358430343.274709] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_ACK_TIMEOUT=0.3 [1358430343.274721] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_POLL_INTERVAL=0.1 [1358430343.274742] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_WINDOW_SIZE=512 [1358430343.274755] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_TX_BATCH=1 [1358430343.274764] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_CQ_MODERATION=64 [1358430343.274773] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_DRAIN_CQ=n [1358430343.274782] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_RNDV_THRESH=65536 [1358430343.274791] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_ZCOPY_THRESH=2040 [1358430343.274815] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_RESIZE_CQ=y [1358430343.274826] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_MTU=65536 [1358430343.274836] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_RX_QUEUE_LEN=16000 [1358430343.274849] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_TX_QUEUE_LEN=64 [1358430343.274859] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_RX_MAX_BUFFERS=128000 [1358430343.274877] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_TX_MAX_BUFFERS=8192 [1358430343.274887] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_RX_DROP_RATE=0 [1358430343.274896] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_ENABLE_NAK=y [1358430343.274904] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_RX_FILL_THRESH=0.6 [1358430343.274915] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_UD_TX_MAX_INLINE=128 [1358430343.274925] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_SHM_RX_MAX_BUFFERS=2000 [1358430343.274941] [agape5:8596 :0] config_parser.c:168 MXM DEBUG default: MXM_RDMA_ALLOC=1 [1358430343.274968] [agape5:8596 :0] ep.c:36 MXM FUNC mxm_ep_create(context=0x2b73e0ee3010) [1358430343.274984] [agape5:8596 :0] self.c:380 MXM DEBUG Created ptl_self EP(rank=3767085072) [1358430343.275028] [agape5:8596 :0] shm_queue.c:230 MXM DEBUG shm_ep=0, shmid=6815750 [1358430343.275072] [agape5:8596 :0] mpool.c:265 MXM DEBUG mpool 'shm_ep_recv': allocated chunk 0x2aaaadd0c010 of 65824016 bytes with 2000 elements [1358430343.278550] [agape5:8596 :0] mpool.c:156 MXM DEBUG mpool 'shm_ep_recv': align 16, maxelems 2000, elemsize 32904, padding 8 [1358430343.278584] [agape5:8596 :0] timerq.c:139 MXM FUNC mxm_timer_schedule(timerq=0x2b73e0ee3060 timer=0xc029538 expiration=568595550657300) [1358430343.278594] [agape5:8596 :0] timerq.c:43 MXM FUNC mxm_timerq_insert_timer(put timer 0xc029538 expiration 568595550657300 in slot 10) [1358430343.278608] [agape5:8596 :0] timerq.c:145 MXM TRACE added timer 0xc029538 expiration 568595550657300 interval 160000000 [1358430343.278617] [agape5:8596 :0] shm_ep.c:176 MXM DEBUG Created ptl_shm EP (rank=0, ctx_id=1) [1358430343.278641] [agape5:8596 :0] rdma_ep.c:317 MXM FUNC mxm_rdma_ep_create() [1358430343.278722] [agape5:8596 :0] rdma_dev.c:194 MXM FUNC mxm_rdma_dev_init(dev=0xc0b3f00) [1358430343.278924] [agape5:8596 :0] rdma_dev.c:122 MXM DEBUG Port 1 on mlx4_0 has a link layer different from IB. Skipping it [1358430343.278939] [agape5:8596 :0] rdma_dev.c:155 MXM ERROR An active IB port on a Mellanox device, with lid [any] gid [any] not found [1358430343.278954] [agape5:8596 :0] timerq.c:150 MXM FUNC mxm_timer_cancel(timerq=0x2b73e0ee3060 timer=0xc029538) [1358430343.279454] [agape5:8596 :0] mpool.c:184 MXM DEBUG mpool 'shm_ep_recv': destroyed [1358430343.279466] [agape5:8596 :0] self.c:287 MXM FUNC mxm_self_ep_destroy(ep=0xc094600)
--------------------------------------------------------------------------
MXM was unable to create an endpoint. Please make sure that the network link is
active on the node and the hardware is functioning.

  Error: No such device

--------------------------------------------------------------------------
[1358430343.287336] [agape5:8596 :0] event.c:400 MXM FUNC mxm_event_cleanup(event=0x2b73e0ee3038) [1358430343.287348] [agape5:8596 :0] event.c:338 MXM FUNC mxm_event_remove_thread_context(thread=0x2b73e0ee30d0) [1358430343.287355] [agape5:8596 :0] event.c:145 MXM FUNC mxm_event_thread_wakeup() [1358430343.371011] [agape5:8596 :0] timerq.c:76 MXM FUNC mxm_timerq_cleanup(timerq=0x2b73e0ee3060) [1358430343.371030] [agape5:8596 :0] memreg.c:194 MXM TRACE Destroying memory registration cache [1358430343.371129] [agape5:8596 :0] shm_ptl.c:34 MXM FUNC ptl_shm_destroy(ptl=0xc0729b0) [1358430343.371139] [agape5:8596 :0] self.c:340 MXM FUNC mxm_self_destroy(ptl=0xc0699a0) [1358430343.371148] [agape5:8596 :0] mpool.c:184 MXM DEBUG mpool 'ptl_self_recv_ev': destroyed [1358430343.371156] [agape5:8596 :0] mxm.c:197 MXM INFO context 0x2b73e0ee3010 destroyed
--------------------------------------------------------------------------
No available pml components were found!

This means that there are no components of this type installed on your
system or all the components reported that they could not be used.

This is a fatal error; your MPI process is likely to abort.  Check the
output of the "ompi_info" command and ensure that components of this
type are available on your system.  You may also wish to check the
value of the "component_path" MCA parameter and ensure that it has at
least one directory that contains valid MCA components.
--------------------------------------------------------------------------
[agape5:08596] PML cm cannot be selected
--------------------------------------------------------------------------
mpirun has exited due to process rank 1 with PID 8596 on
node agape5 exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
--------------------------------------------------------------------------

Regards,
Francesco

Reply via email to