Commit db92ff07 authored by Jonathan Jenkins's avatar Jonathan Jenkins
Browse files

improve workload-dump - print network op times

parent 3bfbd0c6
...@@ -242,83 +242,89 @@ void codes_workload_print_op( ...@@ -242,83 +242,89 @@ void codes_workload_print_op(
break; break;
case CODES_WK_SEND: case CODES_WK_SEND:
fprintf(f, "op: app:%d rank:%d type:send " fprintf(f, "op: app:%d rank:%d type:send "
"src:%d dst:%d bytes:%d type:%d count:%d tag:%d\n", "src:%d dst:%d bytes:%d type:%d count:%d tag:%d "
"start:%.3e end:%.3e\n",
app_id, rank, app_id, rank,
op->u.send.source_rank, op->u.send.dest_rank, op->u.send.source_rank, op->u.send.dest_rank,
op->u.send.num_bytes, op->u.send.data_type, op->u.send.num_bytes, op->u.send.data_type,
op->u.send.count, op->u.send.tag); op->u.send.count, op->u.send.tag,
op->start_time, op->end_time);
break; break;
case CODES_WK_RECV: case CODES_WK_RECV:
fprintf(f, "op: app:%d rank:%d type:recv " fprintf(f, "op: app:%d rank:%d type:recv "
"src:%d dst:%d bytes:%d type:%d count:%d tag:%d\n", "src:%d dst:%d bytes:%d type:%d count:%d tag:%d\n"
"start:%.3e end:%.3e\n",
app_id, rank, app_id, rank,
op->u.recv.source_rank, op->u.recv.dest_rank, op->u.recv.source_rank, op->u.recv.dest_rank,
op->u.recv.num_bytes, op->u.recv.data_type, op->u.recv.num_bytes, op->u.recv.data_type,
op->u.recv.count, op->u.recv.tag); op->u.recv.count, op->u.recv.tag,
op->start_time, op->end_time);
break; break;
case CODES_WK_ISEND: case CODES_WK_ISEND:
fprintf(f, "op: app:%d rank:%d type:isend " fprintf(f, "op: app:%d rank:%d type:isend "
"src:%d dst:%d bytes:%d type:%d count:%d tag:%d\n", "src:%d dst:%d bytes:%d type:%d count:%d tag:%d\n"
"start:%.3e end:%.3e\n",
app_id, rank, app_id, rank,
op->u.send.source_rank, op->u.send.dest_rank, op->u.send.source_rank, op->u.send.dest_rank,
op->u.send.num_bytes, op->u.send.data_type, op->u.send.num_bytes, op->u.send.data_type,
op->u.send.count, op->u.send.tag); op->u.send.count, op->u.send.tag,
op->start_time, op->end_time);
break; break;
case CODES_WK_IRECV: case CODES_WK_IRECV:
fprintf(f, "op: app:%d rank:%d type:irecv " fprintf(f, "op: app:%d rank:%d type:irecv "
"src:%d dst:%d bytes:%d type:%d count:%d tag:%d\n", "src:%d dst:%d bytes:%d type:%d count:%d tag:%d\n"
"start:%.3e end:%.3e\n",
app_id, rank, app_id, rank,
op->u.recv.source_rank, op->u.recv.dest_rank, op->u.recv.source_rank, op->u.recv.dest_rank,
op->u.recv.num_bytes, op->u.recv.data_type, op->u.recv.num_bytes, op->u.recv.data_type,
op->u.recv.count, op->u.recv.tag); op->u.recv.count, op->u.recv.tag,
op->start_time, op->end_time);
break; break;
#define PRINT_COL(_type_str) \
fprintf(f, "op: app:%d rank:%d type:%s" \
" bytes:%d, start:%.3e, end:%.3e\n", app_id, rank, \
_type_str, op->u.collective.num_bytes, op->start_time, \
op->end_time)
case CODES_WK_BCAST: case CODES_WK_BCAST:
fprintf(f, "op: app:%d rank:%d type:bcast " PRINT_COL("bcast");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
case CODES_WK_ALLGATHER: case CODES_WK_ALLGATHER:
fprintf(f, "op: app:%d rank:%d type:allgather " PRINT_COL("allgather");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
case CODES_WK_ALLGATHERV: case CODES_WK_ALLGATHERV:
fprintf(f, "op: app:%d rank:%d type:allgatherv " PRINT_COL("allgatherv");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
case CODES_WK_ALLTOALL: case CODES_WK_ALLTOALL:
fprintf(f, "op: app:%d rank:%d type:alltoall " PRINT_COL("alltoall");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
case CODES_WK_ALLTOALLV: case CODES_WK_ALLTOALLV:
fprintf(f, "op: app:%d rank:%d type:alltoallv " PRINT_COL("alltoallv");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
case CODES_WK_REDUCE: case CODES_WK_REDUCE:
fprintf(f, "op: app:%d rank:%d type:reduce " PRINT_COL("reduce");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
case CODES_WK_ALLREDUCE: case CODES_WK_ALLREDUCE:
fprintf(f, "op: app:%d rank:%d type:allreduce " PRINT_COL("allreduce");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
case CODES_WK_COL: case CODES_WK_COL:
fprintf(f, "op: app:%d rank:%d type:collective " PRINT_COL("collective");
"bytes:%d\n", app_id, rank, op->u.collective.num_bytes);
break; break;
#undef PRINT_COL
#define PRINT_WAIT(_type_str, _ct) \
fprintf(f, "op: app:%d rank:%d type:%s" \
"num reqs:%d, start:%.3e, end:%.3e\n", \
app_id, rank, _type_str, _ct, op->start_time, op->end_time)
case CODES_WK_WAITALL: case CODES_WK_WAITALL:
fprintf(f, "op: app:%d rank:%d type:waitall " PRINT_WAIT("waitall", op->u.waits.count);
"num reqs: :%d\n", app_id, rank, op->u.waits.count);
break; break;
case CODES_WK_WAIT: case CODES_WK_WAIT:
fprintf(f, "op: app:%d rank:%d type:wait " PRINT_WAIT("wait", 1);
"num reqs: :%d\n", app_id, rank, op->u.wait.req_id);
break; break;
case CODES_WK_WAITSOME: case CODES_WK_WAITSOME:
fprintf(f, "op: app:%d rank:%d type:waitsome " PRINT_WAIT("waitsome", op->u.waits.count);
"num reqs: :%d\n", app_id, rank, op->u.waits.count);
break; break;
case CODES_WK_WAITANY: case CODES_WK_WAITANY:
fprintf(f, "op: app:%d rank:%d type:waitany " PRINT_WAIT("waitany", op->u.waits.count);
"num reqs: :%d\n", app_id, rank, op->u.waits.count);
break; break;
case CODES_WK_IGNORE: case CODES_WK_IGNORE:
break; break;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment