int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A simple RDM client-sever RMA example."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_RMA; // FI_PROV_MR_ATTR flag is not set hints->mode = FI_CONTEXT; ret = run_test(); fi_freeinfo(hints); fi_freeinfo(fi); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" CS_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using RDM."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG; hints->mode = FI_CONTEXT | FI_LOCAL_MR; ret = run(); fi_freeinfo(hints); fi_freeinfo(fi); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "An RDM client-server example that uses shared context.\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_NAMED_RX_CTX; hints->mode = FI_CONTEXT | FI_LOCAL_MR; hints->addr_format = FI_SOCKADDR; ret = run(); fi_freeinfo(hints); fi_freeinfo(fi); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A simple MSG client-sever example that " "demonstrates one possible usage of the underlying " "cq wait objects."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG; hints->mode = FI_LOCAL_MR; hints->addr_format = FI_SOCKADDR; /* Fabric and connection setup */ if (!opts.dst_addr) { ret = server_listen(); if (ret) return -ret; } ret = opts.dst_addr ? client_connect() : server_connect(); if (ret) { return -ret; } /* Exchange data */ ret = send_recv(); fi_shutdown(ep, 0); free_ep_res(); fi_close(&cmeq->fid); fi_close(&dom->fid); fi_close(&fab->fid); return ret; }
int main(int argc, char **argv) { int op, ret; int failed = 0; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, FAB_OPTS "h")) != -1) { switch (op) { default: ft_parseinfo(op, optarg, hints, &opts); break; case '?': case 'h': usage(); return EXIT_FAILURE; } } hints->mode = ~0; hints->domain_attr->mode = ~0; hints->domain_attr->mr_mode = ~(FI_MR_BASIC | FI_MR_SCALABLE); ret = fi_getinfo(FT_FIVERSION, NULL, 0, 0, hints, &fi); if (ret) { FT_PRINTERR("fi_getinfo", ret); goto out; } if (!fi->domain_attr->cntr_cnt) goto out; ret = ft_open_fabric_res(); if (ret) goto out; printf("Testing CNTRS on fabric %s\n", fi->fabric_attr->name); failed = run_tests(test_array, err_buf); if (failed > 0) printf("Summary: %d tests failed\n", failed); else printf("Summary: all tests passed\n"); out: ft_free_res(); return ret ? ft_exit_code(ret) : (failed > 0) ? EXIT_FAILURE : EXIT_SUCCESS; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "ho:" CS_OPTS INFO_OPTS)) != -1) { switch (op) { case 'o': if (!strcmp(optarg, "read")) { op_type = FT_RMA_READ; } else if (!strcmp(optarg, "writedata")) { op_type = FT_RMA_WRITEDATA; } else if (!strcmp(optarg, "write")) { op_type = FT_RMA_WRITE; } else { ft_csusage(argv[0], "Ping pong client and server using rma."); fprintf(stderr, " -o <op>\trma op type: read|write (default: write)]\n"); return EXIT_FAILURE; } break; default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using rma."); fprintf(stderr, " -o <op>\trma op type: read|write|writedata (default: write)]\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_RMA; hints->mode = FI_CONTEXT | FI_LOCAL_MR | FI_RX_CQ_DATA; ret =run(); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "ho:" CS_OPTS INFO_OPTS)) != -1) { switch (op) { case 'o': if (!strncasecmp("all", optarg, 3)) { run_all_ops = 1; } else { run_all_ops = 0; op_type = get_fi_op(optarg); if (op_type == FI_ATOMIC_OP_LAST) { ft_csusage(argv[0], NULL); fprintf(stderr, " -o <op>\tatomic op type: all|min|max|read|write|cswap (default: all)]\n"); return EXIT_FAILURE; } } break; default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using atomic ops."); fprintf(stderr, " -o <op>\tatomic op type: all|min|max|read|write|cswap (default: all)]\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_ATOMICS; hints->mode = FI_CONTEXT | FI_LOCAL_MR; ret = run(); fi_freeinfo(hints); fi_freeinfo(fi); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "ho:" CS_OPTS INFO_OPTS)) != -1) { switch (op) { case 'o': if (!strcmp(optarg, "read")) { op_type = FT_RMA_READ; } else if (!strcmp(optarg, "writedata")) { op_type = FT_RMA_WRITEDATA; } else if (!strcmp(optarg, "write")) { op_type = FT_RMA_WRITE; } else { ft_csusage(argv[0], NULL); fprintf(stderr, " -o <op>\tselect operation type (read or write)\n"); return EXIT_FAILURE; } break; default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using message RMA."); fprintf(stderr, " -o <op>\trma op type: read|write|writedata (default: write)]\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG | FI_RMA; hints->mode = FI_LOCAL_MR | FI_PROV_MR_ATTR; hints->addr_format = FI_SOCKADDR; ret = run(); fi_freeinfo(hints); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE | FT_OPT_OOB_CTRL; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; hints->ep_attr->type = FI_EP_RDM; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints, &opts); break; case '?': case 'h': ft_usage(argv[0], "AV communication unit test."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->caps = hints->ep_attr->type == FI_EP_RDM ? FI_TAGGED : FI_MSG; hints->mode = FI_CONTEXT; hints->domain_attr->mr_mode = opts.mr_mode; base_hints = hints; ret = av_removal_test(); if (ret && ret != -FI_ENODATA) goto out; if (opts.dst_addr) sleep(1); ret = av_reinsert_test(); if (ret && ret != -FI_ENODATA) goto out; out: return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; int failed; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, FAB_OPTS "h")) != -1) { switch (op) { default: ft_parseinfo(op, optarg, hints); break; case '?': case 'h': usage(); return EXIT_FAILURE; } } hints->mode = ~0; ret = fi_getinfo(FT_FIVERSION, NULL, 0, 0, hints, &fi); if (ret) { FT_PRINTERR("fi_getinfo", ret); goto err; } ret = fi_fabric(fi->fabric_attr, &fabric, NULL); if (ret) { FT_PRINTERR("fi_getinfo", ret); goto err; } printf("Testing EQs on fabric %s\n", fi->fabric_attr->name); failed = run_tests(test_array, err_buf); if (failed > 0) { printf("Summary: %d tests failed\n", failed); } else { printf("Summary: all tests passed\n"); } err: ft_free_res(); return ret ? -ret : (failed > 0) ? EXIT_FAILURE : EXIT_SUCCESS; }
int main(int argc, char **argv) { int ret, op; opts = INIT_OPTS; timeout = 5; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "hT:" CS_OPTS INFO_OPTS BENCHMARK_OPTS)) != -1) { switch (op) { case 'T': timeout = atoi(optarg); break; default: ft_parse_benchmark_opts(op, optarg); ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using UD."); ft_benchmark_usage(); FT_PRINT_OPTS_USAGE("-T <timeout>", "seconds before timeout on receive"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_DGRAM; if (opts.options & FT_OPT_SIZE) hints->ep_attr->max_msg_size = opts.transfer_size; hints->caps = FI_MSG; hints->domain_attr->mr_mode = FI_MR_LOCAL | OFI_MR_BASIC_MAP; ret = run(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op; int ret = 0; opts = INIT_OPTS; opts.transfer_size = 256; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "c:vh" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case 'c': num_eps = atoi(optarg); break; case 'v': opts.options |= FT_OPT_VERIFY_DATA; break; case '?': case 'h': ft_usage(argv[0], "Multi endpoint test"); FT_PRINT_OPTS_USAGE("-c <int>", "number of endpoints to create and test (def 3)"); FT_PRINT_OPTS_USAGE("-v", "Enable DataCheck testing"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; ft_skip_mr = 1; hints->caps = FI_MSG; hints->mode = FI_CONTEXT; ret = run_test(); free_ep_res(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret = 0; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A client-server example that uses poll.\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG; hints->mode = FI_CONTEXT | FI_LOCAL_MR; ret = init_fabric(); if (ret) return -ret; ret = init_av(); if (ret) return ret; /* Exchange data */ ret = send_recv(); ft_free_res(); return ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A simple RDM client-sever example."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG; hints->mode = FI_CONTEXT; /* Fabric initialization */ ret = init_fabric(); if(ret) return -ret; /* Exchange data */ ret = send_recv(); free_ep_res(); fi_close(&dom->fid); fi_close(&fab->fid); fi_freeinfo(hints); fi_freeinfo(fi); return ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.transfer_size = 64; hints = fi_allocinfo(); if (!hints) { FT_PRINTERR("fi_allocinfo", -FI_ENOMEM); return EXIT_FAILURE; } while ((op = getopt(argc, argv, "h" CS_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using inject."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG; hints->mode = FI_CONTEXT | FI_LOCAL_MR; if (opts.transfer_size) hints->tx_attr->inject_size = opts.transfer_size; else hints->tx_attr->inject_size = 16; ret = run(); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "q:h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { case 'q': sock_service = optarg; break; default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A MSG client-sever example that uses CM data."); FT_PRINT_OPTS_USAGE("-q <service_port>", "management port"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG; hints->mode = FI_LOCAL_MR; ft_skip_mr = 1; ret = run(); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; opts.comp_method = FT_COMP_SREAD; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A client-server example that transfers CQ data.\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->domain_attr->cq_data_size = 4; /* required minimum */ hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG; hints->mode = FI_LOCAL_MR; cq_attr.format = FI_CQ_FORMAT_DATA; ret = run(); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int ret, op; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; opts.comp_method = FT_COMP_SREAD; hints = fi_allocinfo(); if (!hints) { FT_PRINTERR("fi_allocinfo", -FI_ENOMEM); return EXIT_FAILURE; } while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "An RDM client-server example that uses tagged search.\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->rx_attr->total_buffered_recv = 1024; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_TAGGED; hints->mode = FI_CONTEXT | FI_LOCAL_MR; ret = run(); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" CS_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Streaming RDM client-server using multi recv buffer."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_MULTI_RECV; hints->mode = FI_CONTEXT; hints->domain_attr->mr_mode = FI_MR_LOCAL | OFI_MR_BASIC_MAP; cq_attr.format = FI_CQ_FORMAT_DATA; ret = run(); free_res(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options = FT_OPT_RX_CNTR | FT_OPT_TX_CNTR; opts.comp_method = FT_COMP_SREAD; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" CS_OPTS INFO_OPTS BENCHMARK_OPTS)) != -1) { switch (op) { default: ft_parse_benchmark_opts(op, optarg); ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using counters."); ft_benchmark_usage(); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG; hints->domain_attr->mr_mode = FI_MR_LOCAL | OFI_MR_BASIC_MAP; hints->domain_attr->threading = FI_THREAD_DOMAIN; ret = run(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; opts.comp_method = FT_COMP_WAIT_FD; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A simple MSG client-sever example that " "demonstrates one possible usage of the underlying " "cq wait objects."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG; hints->domain_attr->mr_mode = FI_MR_LOCAL | OFI_MR_BASIC_MAP; ret = run(); ft_free_res(); close(epfd); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; hints->mode = FI_CONTEXT; hints->caps = FI_MSG | FI_RMA; hints->ep_attr->type = FI_EP_RDM; hints->domain_attr->mr_mode = FI_MR_LOCAL | OFI_MR_BASIC_MAP; while ((op = getopt(argc, argv, "ho:" CS_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); ret = ft_parse_rma_opts(op, optarg, hints, &opts); if (ret) return ret; break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using rma."); fprintf(stderr, " -o <op>\trma op type: read|write|writedata (default: write)]\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; ret = run(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options |= FT_OPT_BW; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" CS_OPTS INFO_OPTS BENCHMARK_OPTS)) != -1) { switch (op) { default: ft_parse_benchmark_opts(op, optarg); ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Bandwidth test for MSG endpoints."); ft_benchmark_usage(); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG; hints->domain_attr->resource_mgmt = FI_RM_ENABLED; hints->domain_attr->mr_mode = FI_MR_LOCAL | OFI_MR_BASIC_MAP; ret = run(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "ho:" CS_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); ret = ft_parse_rma_opts(op, optarg, &opts); if (ret) return ret; break; case '?': case 'h': ft_csusage(argv[0], "Streaming client-server using RMA operations between MSG endpoints."); fprintf(stderr, " -o <op>\trma op type: read|write|writedata (default: write)]\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG | FI_RMA; hints->mode = FI_LOCAL_MR | FI_RX_CQ_DATA; ret = run(); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int ret, op; opts = INIT_OPTS; opts.options = FT_OPT_SIZE; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "An RDM client-server example with scalable endpoints.\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_NAMED_RX_CTX; hints->mode = FI_LOCAL_MR; ret = run(); free_res(); /* Closes the scalable ep that was allocated in the test */ FT_CLOSE_FID(sep); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" CS_OPTS INFO_OPTS BENCHMARK_OPTS)) != -1) { switch (op) { default: ft_parse_benchmark_opts(op, optarg); ft_parseinfo(op, optarg, hints); ft_parsecsopts(op, optarg, &opts); break; case '?': case 'h': ft_csusage(argv[0], "Ping pong client and server using tagged messages."); ft_benchmark_usage(); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_TAGGED; hints->mode = FI_CONTEXT; hints->domain_attr->mr_mode = FI_MR_LOCAL | OFI_MR_BASIC_MAP; ret = run(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret = 0; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; opts.comp_method = FT_COMP_WAITSET; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints, &opts); break; case '?': case 'h': ft_usage(argv[0], "A DGRAM client-server example that uses waitset.\n"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_DGRAM; hints->caps = FI_MSG; hints->mode = FI_CONTEXT; hints->domain_attr->mr_mode = opts.mr_mode; ret = run(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case '?': case 'h': ft_usage(argv[0], "A simple MSG client-sever example."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_MSG; hints->caps = FI_MSG; hints->mode = FI_LOCAL_MR; hints->addr_format = FI_SOCKADDR; ret = run(); ft_free_res(); return -ret; }
int main(int argc, char **argv) { int op, ret; opts = INIT_OPTS; opts.options = FT_OPT_SIZE | FT_OPT_RX_CNTR | FT_OPT_TX_CNTR; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "h" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints, &opts); break; case '?': case 'h': ft_usage(argv[0], "A simple RDM client-server RMA example."); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->ep_attr->type = FI_EP_RDM; hints->caps = FI_MSG | FI_RMA | FI_RMA_EVENT; hints->mode = FI_CONTEXT; hints->domain_attr->mr_mode = opts.mr_mode; ret = run_test(); ft_free_res(); return ft_exit_code(ret); }
int main(int argc, char **argv) { int op, ret; int option_index = 0; struct option long_options[] = { {"no-tx-shared-ctx", no_argument, &tx_shared_ctx, 0}, {"no-rx-shared-ctx", no_argument, &rx_shared_ctx, 0}, {"ep-count", required_argument, 0, FT_EP_CNT}, {0, 0, 0, 0}, }; opts = INIT_OPTS; opts.options |= FT_OPT_SIZE; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt_long(argc, argv, "h" ADDR_OPTS INFO_OPTS, long_options, &option_index)) != -1) { switch (op) { case FT_EP_CNT: ep_cnt = atoi(optarg); if (ep_cnt <= 0) { FT_ERR("ep_count needs to be greater than 0\n"); return EXIT_FAILURE; } hints->domain_attr->ep_cnt = ep_cnt; break; default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints, &opts); break; case '?': case 'h': ft_usage(argv[0], "An RDM client-server example that uses" " shared context.\n"); FT_PRINT_OPTS_USAGE("--no-tx-shared-ctx", "Disable shared context for TX"); FT_PRINT_OPTS_USAGE("--no-rx-shared-ctx", "Disable shared context for RX"); FT_PRINT_OPTS_USAGE("--ep-count <count> (default: 4)", "# of endpoints to be opened"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->caps = FI_MSG; hints->mode = FI_CONTEXT; hints->domain_attr->mr_mode = opts.mr_mode; if (tx_shared_ctx) hints->ep_attr->tx_ctx_cnt = FI_SHARED_CONTEXT; if (rx_shared_ctx) hints->ep_attr->rx_ctx_cnt = FI_SHARED_CONTEXT; ret = run(); FT_CLOSEV_FID(ep_array, ep_cnt); if (rx_shared_ctx) FT_CLOSE_FID(srx_ctx); if (tx_shared_ctx) FT_CLOSE_FID(stx_ctx); ft_free_res(); free(addr_array); free(ep_array); fi_freeinfo(fi_dup); return ft_exit_code(ret); }