void ft_benchmark_usage(void) { FT_PRINT_OPTS_USAGE("-v", "enables data_integrity checks"); FT_PRINT_OPTS_USAGE("-P", "enable prefix mode"); FT_PRINT_OPTS_USAGE("-j", "maximum inject message size"); FT_PRINT_OPTS_USAGE("-W", "window size (for bandwidth tests)"); }
static void usage(char *progname) { ft_usage(progname, "Connection establishment test"); FT_PRINT_OPTS_USAGE("-c <connections>", "# of connections"); FT_PRINT_OPTS_USAGE("-C <message_count>", "Message count"); FT_PRINT_OPTS_USAGE("-S <message_size>", "Message size"); exit(1); }
static void usage(char *argv0) { ft_usage(argv0, "Reliable Connection Pingpong test"); FT_PRINT_OPTS_USAGE("-S <size>", "size of message to exchange (default 4096)"); // No provider support yet // printf(" -m, --mtu=<size> path MTU (default 1024)\n"); FT_PRINT_OPTS_USAGE("-r <rx-depth>", "number of receives to post at a time (default 500)"); FT_PRINT_OPTS_USAGE("-n <iters>", "number of exchanges (default 1000)"); FT_PRINT_OPTS_USAGE("-e", "sleep on CQ events (default poll)"); }
void ft_basic_usage(char *desc) { if (desc) fprintf(stderr, "\n%s\n", desc); fprintf(stderr, "\nOptions:\n"); FT_PRINT_OPTS_USAGE("-n <domain>", "domain name"); FT_PRINT_OPTS_USAGE("-f <provider>", "specific provider name eg sockets, verbs"); FT_PRINT_OPTS_USAGE("-h", "display this help output"); return; }
void ft_unit_usage(char *name, char *desc) { fprintf(stderr, "Usage:\n"); fprintf(stderr, " %s [OPTIONS]\n", name); if (desc) fprintf(stderr, "\n%s\n", desc); fprintf(stderr, "\nOptions:\n"); FT_PRINT_OPTS_USAGE("-f <fabric_name>", "specific fabric to use"); FT_PRINT_OPTS_USAGE("-d <domain>", "domain name"); FT_PRINT_OPTS_USAGE("-p <provider_name>", "specific provider name eg sockets, verbs"); FT_PRINT_OPTS_USAGE("-h", "display this help output"); }
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); }
void ft_csusage(char *name, char *desc) { ft_usage(name, desc); FT_PRINT_OPTS_USAGE("-I <number>", "number of iterations"); FT_PRINT_OPTS_USAGE("-w <number>", "number of warmup iterations"); FT_PRINT_OPTS_USAGE("-S <size>", "specific transfer size or 'all'"); FT_PRINT_OPTS_USAGE("-l", "align transmit and receive buffers to page size"); FT_PRINT_OPTS_USAGE("-m", "machine readable output"); FT_PRINT_OPTS_USAGE("-t <type>", "completion type [queue, counter]"); FT_PRINT_OPTS_USAGE("-c <method>", "completion method [spin, sread, fd]"); FT_PRINT_OPTS_USAGE("-h", "display this help output"); return; }
static void ft_fw_usage(char *program) { fprintf(stderr, "usage: %s [server_node]\n", program); fprintf(stderr, "\nOptions:\n"); FT_PRINT_OPTS_USAGE("-f <test_config_file>", ""); FT_PRINT_OPTS_USAGE("-q <service_port>", "Management port for test"); FT_PRINT_OPTS_USAGE("-p <dst_port>", "destination port number"); FT_PRINT_OPTS_USAGE("-x", "exit after test run"); FT_PRINT_OPTS_USAGE("-y <start_test_index>", ""); FT_PRINT_OPTS_USAGE("-z <end_test_index>", ""); FT_PRINT_OPTS_USAGE("-h", "display this help output"); }
void ft_csusage(char *name, char *desc) { fprintf(stderr, "Usage:\n"); fprintf(stderr, " %s [OPTIONS]\t\tstart server\n", name); fprintf(stderr, " %s [OPTIONS] <host>\tconnect to server\n", name); if (desc) fprintf(stderr, "\n%s\n", desc); fprintf(stderr, "\nOptions:\n"); FT_PRINT_OPTS_USAGE("-n <domain>", "domain name"); FT_PRINT_OPTS_USAGE("-b <src_port>", "non default source port number"); FT_PRINT_OPTS_USAGE("-p <dst_port>", "non default destination port number"); FT_PRINT_OPTS_USAGE("-f <provider>", "specific provider name eg sockets, verbs"); FT_PRINT_OPTS_USAGE("-s <address>", "source address"); FT_PRINT_OPTS_USAGE("-I <number>", "number of iterations"); FT_PRINT_OPTS_USAGE("-S <size>", "specific transfer size or 'all'"); FT_PRINT_OPTS_USAGE("-m", "machine readable output"); FT_PRINT_OPTS_USAGE("-v", "display versions and exit"); FT_PRINT_OPTS_USAGE("-h", "display this help output"); return; }
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.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; }
void ft_usage(char *name, char *desc) { fprintf(stderr, "Usage:\n"); fprintf(stderr, " %s [OPTIONS]\t\tstart server\n", name); fprintf(stderr, " %s [OPTIONS] <host>\tconnect to server\n", name); if (desc) fprintf(stderr, "\n%s\n", desc); fprintf(stderr, "\nOptions:\n"); FT_PRINT_OPTS_USAGE("-n <domain>", "domain name"); FT_PRINT_OPTS_USAGE("-b <src_port>", "non default source port number"); FT_PRINT_OPTS_USAGE("-p <dst_port>", "non default destination port number"); FT_PRINT_OPTS_USAGE("-f <provider>", "specific provider name eg sockets, verbs"); FT_PRINT_OPTS_USAGE("-s <address>", "source address"); FT_PRINT_OPTS_USAGE("-a <address vector name>", "name of address vector"); FT_PRINT_OPTS_USAGE("-h", "display this help output"); return; }
void ft_pongusage(void) { FT_PRINT_OPTS_USAGE("-v", "enables data_integrity checks"); FT_PRINT_OPTS_USAGE("-P", "enable prefix mode"); }
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); }
int main(int argc, char **argv) { int op; int ret; opts = INIT_OPTS; opts.options |= FT_OPT_OOB_SYNC | FT_OPT_SKIP_MSG_ALLOC; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "m:i:c:vdSh" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints); break; case 'c': concurrent_msgs = strtoul(optarg, NULL, 0); break; case 'i': num_iters = strtoul(optarg, NULL, 0); break; case 'S': opts.comp_method = FT_COMP_SREAD; break; case 'v': opts.options |= FT_OPT_VERIFY_DATA; break; case 'm': opts.transfer_size = strtoul(optarg, NULL, 0); break; case 'd': send_data = true; break; case '?': case 'h': ft_usage(argv[0], "Unexpected message functional test"); FT_PRINT_OPTS_USAGE("-c <int>", "Concurrent messages per iteration "); FT_PRINT_OPTS_USAGE("-v", "Enable data verification"); FT_PRINT_OPTS_USAGE("-i <int>", "Number of iterations"); FT_PRINT_OPTS_USAGE("-S", "Use fi_cq_sread instead of polling fi_cq_read"); FT_PRINT_OPTS_USAGE("-m <size>", "Size of unexpected messages"); FT_PRINT_OPTS_USAGE("-d", "Send remote CQ data"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->mode = FI_CONTEXT; hints->domain_attr->mr_mode = FI_MR_LOCAL | FI_MR_ALLOCATED; hints->domain_attr->resource_mgmt = FI_RM_ENABLED; hints->rx_attr->total_buffered_recv = 0; hints->caps = FI_TAGGED; ret = run_test(); ft_free_res(); return ft_exit_code(ret); }
void ft_csusage(char *name, char *desc) { fprintf(stderr, "Usage:\n"); fprintf(stderr, " %s [OPTIONS]\t\tstart server\n", name); fprintf(stderr, " %s [OPTIONS] <host>\tconnect to server\n", name); if (desc) fprintf(stderr, "\n%s\n", desc); fprintf(stderr, "\nOptions:\n"); FT_PRINT_OPTS_USAGE("-n <domain>", "domain name"); FT_PRINT_OPTS_USAGE("-b <src_port>", "non default source port number"); FT_PRINT_OPTS_USAGE("-p <dst_port>", "non default destination port number"); FT_PRINT_OPTS_USAGE("-f <provider>", "specific provider name eg sockets, verbs"); FT_PRINT_OPTS_USAGE("-s <address>", "source address"); FT_PRINT_OPTS_USAGE("-I <number>", "number of iterations"); FT_PRINT_OPTS_USAGE("-w <number>", "number of warmup iterations"); FT_PRINT_OPTS_USAGE("-S <size>", "specific transfer size or 'all'"); FT_PRINT_OPTS_USAGE("-l", "align transmit and receive buffers to page size"); FT_PRINT_OPTS_USAGE("-m", "machine readable output"); FT_PRINT_OPTS_USAGE("-t <type>", "completion type [queue, counter]"); FT_PRINT_OPTS_USAGE("-c <method>", "completion method [spin, sread, fd]"); FT_PRINT_OPTS_USAGE("-h", "display this help output"); return; }
int main(int argc, char **argv) { int op; int ret = 0; opts = INIT_OPTS; opts.tx_cq_size = max_opts; opts.rx_cq_size = max_opts; delay = 0; tagged = 0; hints = fi_allocinfo(); if (!hints) return EXIT_FAILURE; while ((op = getopt(argc, argv, "S:R:m:l:T:X:ActdjwvVh" ADDR_OPTS INFO_OPTS)) != -1) { switch (op) { default: ft_parse_addr_opts(op, optarg, &opts); ft_parseinfo(op, optarg, hints, &opts); break; case 'S': opts.tx_cq_size = strtoul(optarg, NULL, 0); printf("send cq size: %d\n", (int) opts.tx_cq_size); break; case 'R': opts.rx_cq_size = strtoul(optarg, NULL, 0); printf("recv cq size: %d\n", (int) opts.rx_cq_size); break; case 'T': hints->tx_attr->size = strtoul(optarg, NULL, 0); printf("tx context size: %d\n", (int) hints->tx_attr->size); break; case 'X': hints->rx_attr->size = strtoul(optarg, NULL, 0); printf("rx context size: %d\n", (int) hints->rx_attr->size); break; case 'm': max_opts = strtoul(optarg, NULL, 0); printf("max_opts set to %d\n", max_opts); break; case 'j': opts.options |= FT_OPT_CQ_SHARED; printf("using single shared CQ\n"); break; case 'l': opts.transfer_size = strtoul(optarg, NULL, 0); printf("Testing Message Size: %zu\n", opts.transfer_size); break; case 't': tagged = 1; hints->caps |= FI_TAGGED; printf("tagged messaging enabled\n"); break; case 'd': delay = 1; break; case 'A': hints->domain_attr->av_type = FI_AV_TABLE; printf("AV TABLE enabled\n"); break; case 'V': opts.verbose = 1; break; case '?': case 'h': ft_usage(argv[0], "Resource Management Functional Test"); FT_PRINT_OPTS_USAGE("-S <int>", "Size of send CQ"); FT_PRINT_OPTS_USAGE("-R <int>", "Size of recv CQ"); FT_PRINT_OPTS_USAGE("-T <int>", "Number of TX Contexts"); FT_PRINT_OPTS_USAGE("-X <int>", "Number of RX Contexts"); FT_PRINT_OPTS_USAGE("-m <int>", "number of operations to post"); FT_PRINT_OPTS_USAGE("-l <int>", "message length to test"); FT_PRINT_OPTS_USAGE("-j", "Enable shared cq"); FT_PRINT_OPTS_USAGE("-t", "Enable tagged message testing"); FT_PRINT_OPTS_USAGE("-d", "Enable setting a delay"); FT_PRINT_OPTS_USAGE("-A", "Enable av table testing (only RDM/DGRAM EP)"); FT_PRINT_OPTS_USAGE("-V", "Enable verbose printing"); return EXIT_FAILURE; } } if (optind < argc) opts.dst_addr = argv[optind]; hints->caps = FI_MSG; hints->mode = FI_CONTEXT; hints->domain_attr->resource_mgmt = FI_RM_ENABLED; ret = run_test(); ft_free_res(); return ft_exit_code(ret); }
void ft_usage(char *name, char *desc) { fprintf(stderr, "Usage:\n"); fprintf(stderr, " %s [OPTIONS]\t\tstart server\n", name); fprintf(stderr, " %s [OPTIONS] <host>\tconnect to server\n", name); if (desc) fprintf(stderr, "\n%s\n", desc); fprintf(stderr, "\nOptions:\n"); FT_PRINT_OPTS_USAGE("-n <domain>", "domain name"); FT_PRINT_OPTS_USAGE("-b <src_port>", "non default source port number"); FT_PRINT_OPTS_USAGE("-p <dst_port>", "non default destination port number"); FT_PRINT_OPTS_USAGE("-f <provider>", "specific provider name eg sockets, verbs"); FT_PRINT_OPTS_USAGE("-s <address>", "source address"); FT_PRINT_OPTS_USAGE("-e <ep_type>", "Endpoint type: msg|rdm|dgram (default:rdm)"); FT_PRINT_OPTS_USAGE("", "Only the following tests support this option for now:"); FT_PRINT_OPTS_USAGE("", "fi_rma_bw"); FT_PRINT_OPTS_USAGE("", "fi_shared_ctx"); FT_PRINT_OPTS_USAGE("-a <address vector name>", "name of address vector"); FT_PRINT_OPTS_USAGE("-h", "display this help output"); return; }