Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

btl/openib: do not initialize device with not allowed ports #6184

Closed

Conversation

ggouaillardet
Copy link
Contributor

@ggouaillardet ggouaillardet commented Dec 12, 2018

Refs. #6137

…led.

Fixes an issue introduced in open-mpi/ompi@0a2ce58

Refs. open-mpi#6137

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Many thanks to Sergey Oblomov for reporting this issue
and the countless traces provided when troubleshooting it.

Refs. open-mpi#6137

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
@ggouaillardet
Copy link
Contributor Author

@hoopoepg could you please give this PR a try ?
it should hopefully fixes the default behavior (e.g. mca_btl_openib_allow_ib = false)

@hoopoepg
Copy link
Contributor

the same behavior:

[user]$ mpirun --mca pml ob1 --mca btl_openib_allow_ib false -np 2 ./osu_bw
--------------------------------------------------------------------------
No OpenFabrics connection schemes reported that they were able to be
used on a specific port.  As such, the openib BTL (OpenFabrics
support) will be disabled for this port.

  Local host:           jazz18
  Local device:         mlx5_1
  Local port:           1
  CPCs attempted:       rdmacm, udcm
--------------------------------------------------------------------------
--------------------------------------------------------------------------
By default, for Open MPI 4.0 and later, infiniband ports on a device
are not used by default.  The intent is to use UCX for these devices.
You can override this policy by setting the btl_openib_allow_ib MCA parameter
to true.

  Local host:              jazz18
  Local adapter:           mlx5_0
  Local port:              1

--------------------------------------------------------------------------
# OSU MPI Bandwidth Test v5.4.1
# Size      Bandwidth (MB/s)
1                       3.07
2                       6.30
4                      12.64
8                      25.28
16                     46.94
32                     99.40
64                    169.62
128                   241.20
256                   387.31
512                   867.24
1024                 1470.37
2048                 2512.51
4096                 3559.16
8192                 6174.28
16384                8407.13
32768               11138.99
65536               12872.89
131072              12637.99
262144              11111.82
524288              10682.87
1048576             10834.84
2097152             10910.37
4194304             11847.00
[jazz18:76495:0:76495] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x7fd03fa641d0)
[jazz18:76494:0:76494] Caught signal 11 (Segmentation fault: address not mapped to object at address 0x7f1f186921d0)
--------------------------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 76495 on node jazz18 exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------
[hpchead:30087] 1 more process has sent help message help-mpi-btl-openib-cpc-base.txt / no cpcs for port
[hpchead:30087] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
[hpchead:30087] 1 more process has sent help message help-mpi-btl-openib.txt / ib port not selected

for --mca btl_openib_allow_ib false it crashes on MPI_Init

@ggouaillardet
Copy link
Contributor Author

:-(

could you post the output of ibv_definfo ?

could you also please apply the patch below and

mpirun --mca pml ob1 --mca btl_openib_allow_ib false --mca btl_base_verbose 1 -np 1 ./osu_bw 2>&1 | grep openib
diff --git a/opal/mca/btl/openib/btl_openib_component.c b/opal/mca/btl/openib/btl_openib_component.c
index b523f9a..07ac335 100644
--- a/opal/mca/btl/openib/btl_openib_component.c
+++ b/opal/mca/btl/openib/btl_openib_component.c
@@ -630,6 +630,11 @@ static int init_one_port(opal_list_t *btl_list, mca_btl_openib_device_t *device,
     union ibv_gid gid;
     uint64_t subnet_id;
 
+    opal_output_verbose(1, opal_btl_base_framework.framework_output,
+                        "[rank=%d] openib: init_one_port(device=%s, port_num=%d",
+                        OPAL_PROC_MY_NAME.vpid,
+                        ibv_get_device_name(device->ib_dev),
+                        port_num);
 /*
  * Starting with Open MPI 4.0 we don't support infiniband
  * unless the user specifically requested to override this
@@ -641,6 +646,11 @@ static int init_one_port(opal_list_t *btl_list, mca_btl_openib_device_t *device,
         && IBV_LINK_LAYER_INFINIBAND == ib_port_attr->link_layer
 #endif
        ) {
+        opal_output_verbose(1, opal_btl_base_framework.framework_output,
+                            "[rank=%d] openib: device=%s, port_num=%d is NOT allowed",
+                            OPAL_PROC_MY_NAME.vpid,
+                            ibv_get_device_name(device->ib_dev),
+                            port_num);
         openib_btl = (mca_btl_openib_module_t *) calloc(1, sizeof(mca_btl_openib_module_t));
         if(NULL == openib_btl) {
             BTL_ERROR(("Failed malloc: %s:%d", __FILE__, __LINE__));
@@ -899,6 +909,11 @@ static int init_one_port(opal_list_t *btl_list, mca_btl_openib_device_t *device,
                        ERR_VALUE_OF_OUT_OF_BOUNDS; that is reserved
                        for when we exceed the number of allowable
                        BTLs). */
+                    opal_output_verbose(1, opal_btl_base_framework.framework_output,
+                                        "[rank=%d] openib: device=%s, port_num=%d is UNREACHABLE",
+                                        OPAL_PROC_MY_NAME.vpid,
+                                        ibv_get_device_name(device->ib_dev),
+                                        port_num);
                     return OPAL_ERR_UNREACH;
                 }
             }
@@ -914,11 +929,21 @@ static int init_one_port(opal_list_t *btl_list, mca_btl_openib_device_t *device,
             if (-1 != mca_btl_openib_component.ib_max_btls &&
                 mca_btl_openib_component.ib_num_btls >=
                 mca_btl_openib_component.ib_max_btls) {
+                    opal_output_verbose(1, opal_btl_base_framework.framework_output,
+                                        "[rank=%d] openib: device=%s, port_num=%d is OUT OF BOUNDS",
+                                        OPAL_PROC_MY_NAME.vpid,
+                                        ibv_get_device_name(device->ib_dev),
+                                        port_num);
                 return OPAL_ERR_VALUE_OUT_OF_BOUNDS;
             }
         }
     }
 
+    opal_output_verbose(1, opal_btl_base_framework.framework_output,
+                        "[rank=%d] openib: device=%s, port_num=%d IS allowed",
+                        OPAL_PROC_MY_NAME.vpid,
+                        ibv_get_device_name(device->ib_dev),
+                        port_num);
     return OPAL_SUCCESS;
 }
 
@@ -1924,6 +1949,11 @@ static int init_one_device(opal_list_t *btl_list, struct ibv_device* ib_dev)
     for(k = 0; k < port_cnt; k++){
         struct ibv_port_attr ib_port_attr;
         i = allowed_ports[k];
+        opal_output_verbose(1, opal_btl_base_framework.framework_output,
+                            "[rank=%d] openib: gonna initialize device=%s, port_num=%d (%d/%d)",
+                            OPAL_PROC_MY_NAME.vpid,
+                            ibv_get_device_name(device->ib_dev),
+                            i, k, port_cnt);
         if(ibv_query_port(device->ib_dev_context, i, &ib_port_attr)){
             BTL_ERROR(("error getting port attributes for device %s "
                         "port number %d errno says %s",
@@ -1972,6 +2002,11 @@ static int init_one_device(opal_list_t *btl_list, struct ibv_device* ib_dev)
     free(allowed_ports);
     allowed_ports = NULL;
 
+    opal_output_verbose(1, opal_btl_base_framework.framework_output,
+                        "[rank=%d] openib: initialized all ports of device=%s, there are %d/%d allowed btls",
+                        OPAL_PROC_MY_NAME.vpid,
+                        ibv_get_device_name(device->ib_dev),
+                        device->allowed_btls, device->btls);
     /* If we made a BTL, check APM status and return.  Otherwise, fall
        through and destroy everything */
     if (device->allowed_btls > 0) {

@hoopoepg
Copy link
Contributor

dev_info -v:

hca_id:	mlx5_1
	transport:			InfiniBand (0)
	fw_ver:				16.23.1020
	node_guid:			ec0d:9a03:007d:7d1b
	sys_image_guid:			ec0d:9a03:007d:7d1a
	vendor_id:			0x02c9
	vendor_part_id:			4119
	hw_ver:				0x0
	board_id:			MT_0000000008
	phys_port_cnt:			1
	max_mr_size:			0xffffffffffffffff
	page_size_cap:			0xfffffffffffff000
	max_qp:				262144
	max_qp_wr:			32768
	device_cap_flags:		0xe5721c36
					BAD_PKEY_CNTR
					BAD_QKEY_CNTR
					AUTO_PATH_MIG
					CHANGE_PHY_PORT
					PORT_ACTIVE_EVENT
					SYS_IMAGE_GUID
					RC_RNR_NAK_GEN
					XRC
					Unknown flags: 0xe5620000
	device_cap_exp_flags:		0x520DF8F100000000
					EXP_DC_TRANSPORT
					EXP_CROSS_CHANNEL
					EXP_MR_ALLOCATE
					EXT_ATOMICS
					EXT_SEND NOP
					EXP_UMR
					EXP_ODP
					EXP_RX_CSUM_TCP_UDP_PKT
					EXP_RX_CSUM_IP_PKT
					EXP_MASKED_ATOMICS
					EXP_RX_TCP_UDP_PKT_TYPE
					EXP_SCATTER_FCS
					EXP_WQ_DELAY_DROP
					EXP_PHYSICAL_RANGE_MR
					EXP_UMR_FIXED_SIZE
					Unknown flags: 0x200000000000
	max_sge:			30
	max_sge_rd:			30
	max_cq:				16777216
	max_cqe:			4194303
	max_mr:				16777216
	max_pd:				16777216
	max_qp_rd_atom:			16
	max_ee_rd_atom:			0
	max_res_rd_atom:		4194304
	max_qp_init_rd_atom:		16
	max_ee_init_rd_atom:		0
	atomic_cap:			ATOMIC_HCA (1)
	log atomic arg sizes (mask)		0x8
	masked_log_atomic_arg_sizes (mask)	0x3c
	masked_log_atomic_arg_sizes_network_endianness (mask)	0x34
	max fetch and add bit boundary	64
	log max atomic inline		5
	max_ee:				0
	max_rdd:			0
	max_mw:				16777216
	max_raw_ipv6_qp:		0
	max_raw_ethy_qp:		0
	max_mcast_grp:			2097152
	max_mcast_qp_attach:		240
	max_total_mcast_qp_attach:	503316480
	max_ah:				2147483647
	max_fmr:			0
	max_srq:			8388608
	max_srq_wr:			32767
	max_srq_sge:			31
	max_pkeys:			128
	local_ca_ack_delay:		16
	hca_core_clock:			78125
	max_klm_list_size:		65536
	max_send_wqe_inline_klms:	20
	max_umr_recursion_depth:	4
	max_umr_stride_dimension:	1
	general_odp_caps:
					ODP_SUPPORT
					ODP_SUPPORT_IMPLICIT
	max_size:			0xFFFFFFFFFFFFFFFF
	rc_odp_caps:
					SUPPORT_SEND
					SUPPORT_RECV
					SUPPORT_WRITE
					SUPPORT_READ
	uc_odp_caps:
					NO SUPPORT
	ud_odp_caps:
					SUPPORT_SEND
	dc_odp_caps:
					SUPPORT_SEND
					SUPPORT_WRITE
					SUPPORT_READ
	xrc_odp_caps:
					NO SUPPORT
	raw_eth_odp_caps:
					NO SUPPORT
	max_dct:			262144
	max_device_ctx:			1020
	Multi-Packet RQ supported
		Supported for objects type:
			IBV_EXP_MP_RQ_SUP_TYPE_SRQ_TM
			IBV_EXP_MP_RQ_SUP_TYPE_WQ_RQ
		Supported payload shifts:
			2 bytes
		Log number of strides for single WQE: 3 - 16
		Log number of bytes in single stride: 6 - 13

	VLAN offloads caps:
					C-VLAN stripping offload
					C-VLAN insertion offload
	rx_pad_end_addr_align:	64
	tso_caps:
	max_tso:			262144
	supported_qp:
					SUPPORT_RAW_PACKET
	packet_pacing_caps:
	qp_rate_limit_min:		0kbps
	qp_rate_limit_max:		0kbps
	ooo_caps:
	ooo_rc_caps  = 0x1
	ooo_xrc_caps = 0x1
	ooo_dc_caps  = 0x1
	ooo_ud_caps  = 0x0
					SUPPORT_RC_RW_DATA_PLACEMENT
					SUPPORT_XRC_RW_DATA_PLACEMENT
					SUPPORT_DC_RW_DATA_PLACEMENT
	sw_parsing_caps:
					SW_PARSING
					SW_PARSING_CSUM
					SW_PARSING_LSO
	supported_qp:
					SUPPORT_RAW_PACKET
	tag matching not supported
	tunnel_offloads_caps:
					TUNNEL_OFFLOADS_VXLAN
					TUNNEL_OFFLOADS_GRE
					TUNNEL_OFFLOADS_GENEVE
	UMR fixed size:
		max entity size:	2147483648
	Device ports:
		port:	1
			state:			PORT_ACTIVE (4)
			max_mtu:		4096 (5)
			active_mtu:		1024 (3)
			sm_lid:			0
			port_lid:		0
			port_lmc:		0x00
			link_layer:		Ethernet
			max_msg_sz:		0x40000000
			port_cap_flags:		0x04010000
			max_vl_num:		invalid value (0)
			bad_pkey_cntr:		0x0
			qkey_viol_cntr:		0x0
			sm_sl:			0
			pkey_tbl_len:		1
			gid_tbl_len:		256
			subnet_timeout:		0
			init_type_reply:	0
			active_width:		4X (2)
			active_speed:		25.0 Gbps (32)
			phys_state:		LINK_UP (5)
			GID[  0]:		fe80:0000:0000:0000:ee0d:9aff:fe7d:7d1b
			GID[  1]:		fe80:0000:0000:0000:ee0d:9aff:fe7d:7d1b
			GID[  2]:		0000:0000:0000:0000:0000:ffff:0201:0312
			GID[  3]:		0000:0000:0000:0000:0000:ffff:0201:0312

hca_id:	mlx5_0
	transport:			InfiniBand (0)
	fw_ver:				16.23.1020
	node_guid:			ec0d:9a03:007d:7d1a
	sys_image_guid:			ec0d:9a03:007d:7d1a
	vendor_id:			0x02c9
	vendor_part_id:			4119
	hw_ver:				0x0
	board_id:			MT_0000000008
	phys_port_cnt:			1
	max_mr_size:			0xffffffffffffffff
	page_size_cap:			0xfffffffffffff000
	max_qp:				262144
	max_qp_wr:			32768
	device_cap_flags:		0xe17e1c36
					BAD_PKEY_CNTR
					BAD_QKEY_CNTR
					AUTO_PATH_MIG
					CHANGE_PHY_PORT
					PORT_ACTIVE_EVENT
					SYS_IMAGE_GUID
					RC_RNR_NAK_GEN
					XRC
					Unknown flags: 0xe16e0000
	device_cap_exp_flags:		0x5248F8F100000000
					EXP_DC_TRANSPORT
					EXP_CROSS_CHANNEL
					EXP_MR_ALLOCATE
					EXT_ATOMICS
					EXT_SEND NOP
					EXP_UMR
					EXP_ODP
					EXP_RX_CSUM_TCP_UDP_PKT
					EXP_RX_CSUM_IP_PKT
					EXP_DC_INFO
					EXP_MASKED_ATOMICS
					EXP_RX_TCP_UDP_PKT_TYPE
					EXP_PHYSICAL_RANGE_MR
					EXP_UMR_FIXED_SIZE
					Unknown flags: 0x200000000000
	max_sge:			30
	max_sge_rd:			30
	max_cq:				16777216
	max_cqe:			4194303
	max_mr:				16777216
	max_pd:				16777216
	max_qp_rd_atom:			16
	max_ee_rd_atom:			0
	max_res_rd_atom:		4194304
	max_qp_init_rd_atom:		16
	max_ee_init_rd_atom:		0
	atomic_cap:			ATOMIC_HCA (1)
	log atomic arg sizes (mask)		0x8
	masked_log_atomic_arg_sizes (mask)	0x3c
	masked_log_atomic_arg_sizes_network_endianness (mask)	0x34
	max fetch and add bit boundary	64
	log max atomic inline		5
	max_ee:				0
	max_rdd:			0
	max_mw:				16777216
	max_raw_ipv6_qp:		0
	max_raw_ethy_qp:		0
	max_mcast_grp:			2097152
	max_mcast_qp_attach:		240
	max_total_mcast_qp_attach:	503316480
	max_ah:				2147483647
	max_fmr:			0
	max_srq:			8388608
	max_srq_wr:			32767
	max_srq_sge:			31
	max_pkeys:			128
	local_ca_ack_delay:		16
	hca_core_clock:			78125
	max_klm_list_size:		65536
	max_send_wqe_inline_klms:	20
	max_umr_recursion_depth:	4
	max_umr_stride_dimension:	1
	general_odp_caps:
					ODP_SUPPORT
					ODP_SUPPORT_IMPLICIT
	max_size:			0xFFFFFFFFFFFFFFFF
	rc_odp_caps:
					SUPPORT_SEND
					SUPPORT_RECV
					SUPPORT_WRITE
					SUPPORT_READ
	uc_odp_caps:
					NO SUPPORT
	ud_odp_caps:
					SUPPORT_SEND
	dc_odp_caps:
					SUPPORT_SEND
					SUPPORT_WRITE
					SUPPORT_READ
	xrc_odp_caps:
					NO SUPPORT
	raw_eth_odp_caps:
					NO SUPPORT
	max_dct:			262144
	max_device_ctx:			1020
	Multi-Packet RQ supported
		Supported for objects type:
			IBV_EXP_MP_RQ_SUP_TYPE_SRQ_TM
			IBV_EXP_MP_RQ_SUP_TYPE_WQ_RQ
		Supported payload shifts:
			2 bytes
		Log number of strides for single WQE: 3 - 16
		Log number of bytes in single stride: 6 - 13
	rx_pad_end_addr_align:	64
	tso_caps:
	max_tso:			0
	packet_pacing_caps:
	qp_rate_limit_min:		0kbps
	qp_rate_limit_max:		0kbps
	ooo_caps:
	ooo_rc_caps  = 0x1
	ooo_xrc_caps = 0x1
	ooo_dc_caps  = 0x1
	ooo_ud_caps  = 0x0
					SUPPORT_RC_RW_DATA_PLACEMENT
					SUPPORT_XRC_RW_DATA_PLACEMENT
					SUPPORT_DC_RW_DATA_PLACEMENT
	sw_parsing_caps:
	supported_qp:
	max_rndv_hdr_size:		0x40
	max_num_tags:			0x7f
	max_ops:			0x8000
	max_sge:			0x1
	capability_flags:
					IBV_EXP_TM_CAP_RC
					IBV_EXP_TM_CAP_DC
	tunnel_offloads_caps:
	UMR fixed size:
		max entity size:	2147483648
	Device ports:
		port:	1
			state:			PORT_ACTIVE (4)
			max_mtu:		4096 (5)
			active_mtu:		4096 (5)
			sm_lid:			1
			port_lid:		7
			port_lmc:		0x00
			link_layer:		InfiniBand
			max_msg_sz:		0x40000000
			port_cap_flags:		0x2651e848
			max_vl_num:		4 (3)
			bad_pkey_cntr:		0x0
			qkey_viol_cntr:		0x0
			sm_sl:			0
			pkey_tbl_len:		128
			gid_tbl_len:		8
			subnet_timeout:		18
			init_type_reply:	0
			active_width:		4X (2)
			active_speed:		25.0 Gbps (32)
			phys_state:		LINK_UP (5)
			GID[  0]:		fe80:0000:0000:0000:ec0d:9a03:007d:7d1a

@ggouaillardet
Copy link
Contributor Author

ggouaillardet commented Dec 12, 2018

does --mca btl_openib_if_exclude mlx5_1 avoid the issue ?

@hoopoepg
Copy link
Contributor

[user]$ mpirun --mca pml ob1 --mca btl_openib_allow_ib false --mca btl_base_verbose 1 -np 1 ./osu_bw 2>&1 | grep openib
[jazz18:77576] [rank=0] openib: gonna initialize device=mlx5_1, port_num=1 (0/1)
[jazz18:77576] [rank=0] openib: init_one_port(device=mlx5_1, port_num=1
[jazz18][[5351,1],0][btl_openib_component.c:695:init_one_port] looking for mlx5_1:1 GID index 0
[jazz18][[5351,1],0][btl_openib_component.c:726:init_one_port] my IB subnet_id for HCA mlx5_1 port 1 is 0000000000000000
[jazz18:77576] [rank=0] openib: device=mlx5_1, port_num=1 IS allowed
[jazz18:77576] [rank=0] openib: initialized all ports of device=mlx5_1, there are 1/1 allowed btls
[jazz18:77576] [rank=0] openib: gonna initialize device=mlx5_0, port_num=1 (0/1)
[jazz18:77576] [rank=0] openib: init_one_port(device=mlx5_0, port_num=1
[jazz18:77576] [rank=0] openib: device=mlx5_0, port_num=1 is NOT allowed
[jazz18:77576] [rank=0] openib: initialized all ports of device=mlx5_0, there are 0/1 allowed btls
[jazz18][[5351,1],0][btl_openib_component.c:1070:device_destruct] device was successfully released
[jazz18][[5351,1],0][btl_openib_ip.c:363:add_rdma_addr] Adding addr 2.1.3.18 (0x12030102) subnet 0x2010300 as mlx5_1:1
used on a specific port.  As such, the openib BTL (OpenFabrics
[jazz18][[5351,1],0][btl_openib_ip.c:363:add_rdma_addr] Adding addr 1.1.3.18 (0x12030101) subnet 0x1010300 as mlx5_0:1
[jazz18][[5351,1],0][btl_openib_component.c:1429:setup_qps] srq: rd_num is 256 rd_low is 192 sd_max is 128 rd_max is 64 srq_limit is 12
[jazz18][[5351,1],0][btl_openib_component.c:1429:setup_qps] srq: rd_num is 1024 rd_low is 1008 sd_max is 64 rd_max is 256 srq_limit is 48
[jazz18][[5351,1],0][btl_openib_component.c:1429:setup_qps] srq: rd_num is 1024 rd_low is 1008 sd_max is 64 rd_max is 256 srq_limit is 48
[jazz18][[5351,1],0][btl_openib_component.c:1429:setup_qps] srq: rd_num is 1024 rd_low is 1008 sd_max is 64 rd_max is 256 srq_limit is 48
[jazz18][[5351,1],0][connect/btl_openib_connect_udcm.c:454:udcm_component_query] UD CPC only supported on InfiniBand; skipped on mlx5_1:1
[jazz18][[5351,1],0][connect/btl_openib_connect_udcm.c:503:udcm_component_query] unavailable for use on mlx5_1:1; skipped
You can override this policy by setting the btl_openib_allow_ib MCA parameter
[jazz18][[5351,1],0][btl_openib.c:1769:mca_btl_openib_finalize] Success in closing BTL resources
[jazz18][[5351,1],0][connect/btl_openib_connect_rdmacm.c:2217:rdmacm_component_finalize] rdmacm_component_finalize

@hoopoepg
Copy link
Contributor

it seems yes:

[user]$ mpirun --mca pml ob1 --mca btl_openib_allow_ib false -np 2 --mca btl_openib_if_exclude mlx5_1 ./osu_bw
--------------------------------------------------------------------------
By default, for Open MPI 4.0 and later, infiniband ports on a device
are not used by default.  The intent is to use UCX for these devices.
You can override this policy by setting the btl_openib_allow_ib MCA parameter
to true.

  Local host:              jazz18
  Local adapter:           mlx5_0
  Local port:              1

--------------------------------------------------------------------------
# OSU MPI Bandwidth Test v5.4.1
# Size      Bandwidth (MB/s)
1                       3.07
2                       6.06
4                      12.29
8                      24.55
16                     45.90
32                     95.52
64                    165.43
128                   239.67
256                   387.94
512                   847.48
1024                 1453.81
2048                 2533.11
4096                 3584.44
8192                 6117.31
16384                8561.34
32768               11106.62
65536               13307.88
131072              14051.35
262144              13137.10
524288              12536.94
1048576             12785.46
2097152             12758.85
4194304             11844.06
[hpchead:15595] 1 more process has sent help message help-mpi-btl-openib.txt / ib port not selected
[hpchead:15595] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages

@hoopoepg
Copy link
Contributor

but it still crashes on --mca btl_openib_allow_ib true

@ggouaillardet
Copy link
Contributor Author

what does ifconfig -a says ?

@hoopoepg
Copy link
Contributor

[user]$ ifconfig -a
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.209.45.130  netmask 255.255.252.0  broadcast 10.209.47.255
        inet6 fe80::8218:44ff:feec:fc6c  prefixlen 64  scopeid 0x20<link>
        ether 80:18:44:ec:fc:6c  txqueuelen 1000  (Ethernet)
        RX packets 2262114589  bytes 2756557418627 (2.5 TiB)
        RX errors 0  dropped 3  overruns 0  frame 0
        TX packets 1561463379  bytes 992783046917 (924.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 65

em2: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 80:18:44:ec:fc:6d  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 66

em3: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 80:18:44:ec:fc:6e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 68

em4: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 80:18:44:ec:fc:6f  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 69

ib0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 2044
        inet 1.1.3.18  netmask 255.255.255.0  broadcast 1.1.3.255
        inet6 fe80::ee0d:9a03:7d:7d1a  prefixlen 64  scopeid 0x20<link>
Infiniband hardware address can be incorrect! Please read BUGS section in ifconfig(8).
        infiniband 20:00:03:77:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00  txqueuelen 256  (InfiniBand)
        RX packets 429  bytes 42836 (41.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 26  bytes 1712 (1.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 432477306  bytes 1226189029964 (1.1 TiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 432477306  bytes 1226189029964 (1.1 TiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p1p2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 2.1.3.18  netmask 255.255.255.0  broadcast 2.1.3.255
        inet6 fe80::ee0d:9aff:fe7d:7d1b  prefixlen 64  scopeid 0x20<link>
        ether ec:0d:9a:7d:7d:1b  txqueuelen 1000  (Ethernet)
        RX packets 1538  bytes 94444 (92.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 164  bytes 12412 (12.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

@ggouaillardet
Copy link
Contributor Author

@hppritcha I added the blocker label since Open MPI 4.0.1 will be released soon.

@hoopoepg reported a regression in v4.0.x because of a related patch that has been backported.
This is a better one (not yet merged into master) but that does not fix the issue.
I cannot test this by myself since I do not have the hardware for this (e.g. a machine that could use btl/openib for both infiniband and ethernet)

I do believe this patch is an improvement vs the current status, so it could be merged in master and backported before 4.0.1 is released (end users are confused by the message, that could/should be hidden when ucx is used because it has a higher priority over btl/openib).

That being said, an other option is to revert the previous commit since a regression was reported
(e.g. a crash instead of a warning message)

If you decide to do nothing with respect to this PR/issue, feel free to remove the blocker and Target:v4.0.x labels.

@jsquyres
Copy link
Member

This PR is now moot, because openib has been removed from master.

@jsquyres jsquyres closed this Feb 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants