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; 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, "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 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, 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, "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; 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; 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 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, "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); }