Last active
June 24, 2016 07:28
-
-
Save joerns/c0631a32840b96d25380cc1e91a1e7a0 to your computer and use it in GitHub Desktop.
libfabric cannot use verbs provider for client
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ gcc test.c -o test -l fabric -g -O0 | |
$ $ FI_PROVIDER=verbs ./test | |
error: fi_getinfo failed: -61 'No data available' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ fi_info -v -t FI_EP_MSG -v -f verbs | |
--- | |
fi_info: | |
caps: [ FI_MSG, FI_RMA, FI_ATOMIC, FI_READ, FI_WRITE, FI_RECV, FI_SEND, FI_REMOTE_READ, FI_REMOTE_WRITE ] | |
mode: [ FI_LOCAL_MR ] | |
addr_format: FI_SOCKADDR_IN | |
src_addrlen: 16 | |
dest_addrlen: 0 | |
src_addr: 127.0.0.1 | |
dest_addr: (null) | |
handle: (null) | |
fi_tx_attr: | |
caps: [ FI_MSG, FI_RMA, FI_ATOMIC, FI_READ, FI_WRITE, FI_RECV, FI_SEND, FI_REMOTE_READ, FI_REMOTE_WRITE ] | |
mode: [ FI_LOCAL_MR ] | |
op_flags: [ ] | |
msg_order: [ FI_ORDER_RAR, FI_ORDER_RAW, FI_ORDER_RAS, FI_ORDER_WAW, FI_ORDER_WAS, FI_ORDER_SAW, FI_ORDER_SAS, FI_ORDER_STRICT ] | |
comp_order: [ ] | |
inject_size: 88 | |
size: 495 | |
iov_limit: 6 | |
rma_iov_limit: 1 | |
fi_rx_attr: | |
caps: [ FI_MSG, FI_RMA, FI_ATOMIC, FI_READ, FI_WRITE, FI_RECV, FI_SEND, FI_REMOTE_READ, FI_REMOTE_WRITE ] | |
mode: [ FI_RX_CQ_DATA, FI_LOCAL_MR ] | |
op_flags: [ ] | |
msg_order: [ FI_ORDER_RAR, FI_ORDER_RAW, FI_ORDER_RAS, FI_ORDER_WAW, FI_ORDER_WAS, FI_ORDER_SAW, FI_ORDER_SAS, FI_ORDER_STRICT ] | |
comp_order: [ ] | |
total_buffered_recv: 0 | |
size: 512 | |
iov_limit: 4 | |
fi_ep_attr: | |
type: FI_EP_MSG | |
protocol: FI_PROTO_RDMA_CM_IB_RC | |
protocol_version: 1 | |
max_msg_size: 1073741824 | |
msg_prefix_size: 0 | |
max_order_raw_size: 1073741824 | |
max_order_war_size: 0 | |
max_order_waw_size: 1073741824 | |
mem_tag_format: 0x0000000000000000 | |
tx_ctx_cnt: 1 | |
rx_ctx_cnt: 1 | |
fi_domain_attr: | |
domain: 0x0 | |
name: mlx4_0 | |
threading: FI_THREAD_SAFE | |
control_progress: FI_PROGRESS_AUTO | |
data_progress: FI_PROGRESS_AUTO | |
resouce_mgmt: FI_RM_UNSPEC | |
av_type: FI_AV_UNSPEC | |
mr_mode: FI_MR_BASIC | |
mr_key_size: 4 | |
cq_data_size: 4 | |
cq_cnt: 65408 | |
ep_cnt: 392632 | |
tx_ctx_cnt: 1024 | |
rx_ctx_cnt: 1024 | |
max_ep_tx_ctx: 392632 | |
max_ep_rx_ctx: 392632 | |
max_ep_stx_ctx: 0 | |
max_ep_srx_ctx: 0 | |
fi_fabric_attr: | |
name: IB-0x80fe | |
prov_name: verbs | |
prov_version: 1.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ FI_PROVIDER=verbs FI_LOG_LEVEL=debug ./test | |
libfabric:core:core:fi_param_define_():226<info> registered var provider | |
libfabric:core:core:fi_param_get_():285<info> read string var provider=verbs | |
libfabric:core:core:fi_param_define_():226<info> registered var provider_path | |
libfabric:core:core:fi_param_get_():275<info> variable provider_path=<not set> | |
libfabric:core:core:fi_register_provider():123<info> registering provider: usnic (1.0) | |
libfabric:core:core:fi_register_provider():140<info> "usnic" filtered by provider include/exclude list, skipping | |
libfabric:usnic:fabric:usdf_fini():891<trace> | |
libfabric:core:core:fi_register_provider():123<info> registering provider: verbs (1.0) | |
libfabric:core:core:fi_register_provider():123<info> registering provider: UDP (1.0) | |
libfabric:core:core:fi_register_provider():140<info> "UDP" filtered by provider include/exclude list, skipping | |
libfabric:sockets:core:fi_param_define_():226<info> registered var pe_waittime | |
libfabric:sockets:core:fi_param_define_():226<info> registered var max_conn_retry | |
libfabric:sockets:core:fi_param_define_():226<info> registered var def_conn_map_sz | |
libfabric:sockets:core:fi_param_define_():226<info> registered var def_av_sz | |
libfabric:sockets:core:fi_param_define_():226<info> registered var def_cq_sz | |
libfabric:sockets:core:fi_param_define_():226<info> registered var def_eq_sz | |
libfabric:sockets:core:fi_param_define_():226<info> registered var pe_affinity | |
libfabric:core:core:fi_register_provider():123<info> registering provider: sockets (1.0) | |
libfabric:core:core:fi_register_provider():140<info> "sockets" filtered by provider include/exclude list, skipping | |
libfabric:verbs:fabric:fi_ibv_create_ep():181<info> rdma_create_ep: Invalid argument(22) | |
libfabric:core:core:fi_getinfo_():545<warn> fi_getinfo: provider verbs returned -61 (No data available) | |
error: fi_getinfo failed: -61 'No data available' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
#include <assert.h> | |
#include <rdma/fabric.h> | |
#include <rdma/fi_eq.h> | |
#include <rdma/fi_endpoint.h> | |
#include <rdma/fi_cm.h> | |
#include <rdma/fi_errno.h> | |
#define ERROR(x, ...) \ | |
do { \ | |
fprintf(stderr, "error: "x"\n", __VA_ARGS__);\ | |
exit(EXIT_FAILURE);\ | |
} while(0) | |
int main() | |
{ | |
int ret; | |
struct fi_info* fi; | |
struct fid_fabric *fabric; | |
struct fi_info* hints; | |
struct fi_eq_attr eq_attr = { | |
.wait_obj = FI_WAIT_UNSPEC // waiting only through fi_ calls (no epoll) | |
}; | |
hints = fi_allocinfo(); | |
hints->ep_attr->type = FI_EP_MSG; | |
hints->caps = FI_MSG; | |
hints->mode = FI_LOCAL_MR; | |
if(ret = fi_getinfo(FI_VERSION(1, 1), "127.0.0.1", "12345", 0, hints, &fi)) | |
{ | |
ERROR("fi_getinfo failed: %d '%s'", ret, fi_strerror(-ret)); | |
} | |
printf("info: %s\n", fi_tostr(fi, FI_TYPE_INFO)); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment