qlmpi: add testcase to qlmpi (rusage for swap)
This commit is contained in:
79
test/qlmpi/rusage/verbs/read_config.c
Normal file
79
test/qlmpi/rusage/verbs/read_config.c
Normal file
@ -0,0 +1,79 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <memory.h>
|
||||
#include <unistd.h>
|
||||
#include "ibcomm.h"
|
||||
/*
|
||||
int read_config(config_t *config, int argc, char **argv){
|
||||
memset(config, 0, sizeof(config_t));
|
||||
config->server_name = NULL;
|
||||
config->ib_port = 1;
|
||||
config->dev_name = NULL;
|
||||
|
||||
// client mode
|
||||
if(argc == 4){
|
||||
config->server_name = argv[1];
|
||||
config->tcp_port = strtoul(argv[2], NULL, 0);
|
||||
config->buf_size = strtoul(argv[3], NULL, 0);
|
||||
}
|
||||
// server mode
|
||||
else if(argc == 3){
|
||||
config->tcp_port = strtoul(argv[1], NULL, 0);
|
||||
config->buf_size = strtoul(argv[2], NULL, 0);
|
||||
config->server_flg = 1;
|
||||
}
|
||||
else{
|
||||
printf("usage: ./main <server_name> <port> <size>\n");
|
||||
return IBCOMM_ERR_CODE;
|
||||
}
|
||||
|
||||
if(config->tcp_port <=0 )
|
||||
return IBCOMM_ERR_CODE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
int read_config(config_t *config, int argc, char **argv) {
|
||||
memset(config, 0, sizeof(config_t));
|
||||
config->server_name = NULL;
|
||||
config->ib_port = 1;
|
||||
config->dev_name = NULL;
|
||||
config->server_flg = 1;
|
||||
config->nremote = 1;
|
||||
config->buf_size = 40 + 8; /* UD requires more than 40 byte */
|
||||
config->tcp_port = 5256;
|
||||
|
||||
while (1) {
|
||||
int oc = getopt(argc, argv, "s:p:m:n:h");
|
||||
if (oc == -1)
|
||||
break;
|
||||
switch (oc) {
|
||||
case 's': /* name for IP for exchanging LID and QPN */
|
||||
config->server_name = optarg;
|
||||
config->server_flg = 0;
|
||||
break;
|
||||
case 'p': /* TCP port for exchange LID and QPN */
|
||||
config->tcp_port = atoi(optarg);
|
||||
break;
|
||||
case 'm':
|
||||
config->buf_size = atoi(optarg);
|
||||
break;
|
||||
case 'n': /* number of remote nodes */
|
||||
config->nremote = atoi(optarg);
|
||||
break;
|
||||
case 'h':
|
||||
default:
|
||||
printf("usage: ./main [-s <server_name>] [-p <tcp_port>] [-m <size>]\n"
|
||||
"Example: ssh cn01 ./main -p 10000 & ./main -s cn01 -p 10000\n");
|
||||
exit(-1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// if (config->tcp_port <= 0) { return IBCOMM_ERR_CODE; }
|
||||
// no need to set tcp_port for IB
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user