📄 timer.c
字号:
g_timer_state[MPID_STATE_PACKER_CAR_DEQUEUE].name = "packer_car_dequeue"; g_timer_state[MPID_STATE_PACKER_INIT].name = "packer_init"; g_timer_state[MPID_STATE_PACKER_FINALIZE].name = "packer_finalize"; g_timer_state[MPID_STATE_PACKER_MAKE_PROGRESS].name = "packer_make_progress"; g_timer_state[MPID_STATE_PACKER_POST_READ].name = "packer_post_read"; g_timer_state[MPID_STATE_PACKER_MERGE_WITH_UNEXPECTED].name = "packer_merge_with_unexpected"; g_timer_state[MPID_STATE_PACKER_POST_WRITE].name = "packer_post_write"; g_timer_state[MPID_STATE_PACKER_RESET_CAR].name = "packer_reset_car"; g_timer_state[MPID_STATE_UNPACKER_CAR_ENQUEUE].name = "unpacker_car_enqueue"; g_timer_state[MPID_STATE_UNPACKER_CAR_DEQUEUE].name = "unpacker_car_dequeue"; g_timer_state[MPID_STATE_UNPACKER_INIT].name = "unpacker_init"; g_timer_state[MPID_STATE_UNPACKER_FINALIZE].name = "unpacker_finalize"; g_timer_state[MPID_STATE_UNPACKER_MAKE_PROGRESS].name = "unpacker_make_progress"; g_timer_state[MPID_STATE_UNPACKER_WRITE_SHM].name = "unpacker_write_shm"; g_timer_state[MPID_STATE_UNPACKER_WRITE_VIA].name = "unpacker_write_via"; g_timer_state[MPID_STATE_UNPACKER_WRITE_VIA_RDMA].name = "unpacker_write_via_rdma"; g_timer_state[MPID_STATE_UNPACKER_WRITE_VEC].name = "unpacker_write_vec"; g_timer_state[MPID_STATE_UNPACKER_WRITE_TMP].name = "unpacker_write_tmp"; g_timer_state[MPID_STATE_UNPACKER_POST_READ].name = "unpacker_post_read"; g_timer_state[MPID_STATE_UNPACKER_MERGE_WITH_UNEXPECTED].name = "unpacker_merge_with_unexpected"; g_timer_state[MPID_STATE_UNPACKER_POST_WRITE].name = "unpacker_post_write"; g_timer_state[MPID_STATE_UNPACKER_RESET_CAR].name = "unpacker_reset_car"; g_timer_state[MPID_STATE_UNPACKER_WRITE_SIMPLE].name = "unpacker_write_simple"; g_timer_state[MPID_STATE_VIA_CAN_CONNECT].name = "via_can_connect"; g_timer_state[MPID_STATE_VIA_GET_BUSINESS_CARD].name = "via_get_business_card"; g_timer_state[MPID_STATE_VIA_INIT].name = "via_init"; g_timer_state[MPID_STATE_VIA_FINALIZE].name = "via_finalize"; g_timer_state[MPID_STATE_VIA_MAKE_PROGRESS].name = "via_make_progress"; g_timer_state[MPID_STATE_VIA_POST_CONNECT].name = "via_post_connect"; g_timer_state[MPID_STATE_VIA_POST_READ].name = "via_post_read"; g_timer_state[MPID_STATE_VIA_MERGE_WITH_UNEXPECTED].name = "via_merge_with_unexpected"; g_timer_state[MPID_STATE_VIA_POST_WRITE].name = "via_post_write"; g_timer_state[MPID_STATE_VIA_RDMA_CAN_CONNECT].name = "via_rdma_can_connect"; g_timer_state[MPID_STATE_VIA_RDMA_GET_BUSINESS_CARD].name = "via_rdma_get_business_card"; g_timer_state[MPID_STATE_VIA_RDMA_INIT].name = "via_rdma_init"; g_timer_state[MPID_STATE_VIA_RDMA_FINALIZE].name = "via_rdma_finalize"; g_timer_state[MPID_STATE_VIA_RDMA_MAKE_PROGRESS].name = "via_rdma_make_progress"; g_timer_state[MPID_STATE_VIA_RDMA_POST_CONNECT].name = "via_rdma_post_connect"; g_timer_state[MPID_STATE_VIA_RDMA_POST_READ].name = "via_rdma_post_read"; g_timer_state[MPID_STATE_VIA_RDMA_MERGE_WITH_UNEXPECTED].name = "via_rdma_merge_with_unexpected"; g_timer_state[MPID_STATE_VIA_RDMA_POST_WRITE].name = "via_rdma_post_write"; /* mpi functions */ g_timer_state[MPID_STATE_MPI_ABORT].name = "MPI_Abort"; g_timer_state[MPID_STATE_MPI_ADDRESS].name = "MPI_Address"; g_timer_state[MPID_STATE_MPI_ALLREDUCE].name = "MPI_Allreduce"; g_timer_state[MPID_STATE_MPI_ATTR_GET].name = "MPI_Attr_get"; g_timer_state[MPID_STATE_MPI_BARRIER].name = "MPI_Barrier"; g_timer_state[MPID_STATE_MPI_BCAST].name = "MPI_Bcast"; g_timer_state[MPID_STATE_MPI_CLOSE_PORT].name = "MPI_Close_port"; g_timer_state[MPID_STATE_MPI_COMM_ACCEPT].name = "MPI_Comm_accept"; g_timer_state[MPID_STATE_MPI_COMM_CALL_ERRHANDLER].name = "MPI_Comm_call_errhandler"; g_timer_state[MPID_STATE_MPI_COMM_CONNECT].name = "MPI_Comm_connect"; g_timer_state[MPID_STATE_MPI_COMM_CREATE].name = "MPI_Comm_create"; g_timer_state[MPID_STATE_MPI_COMM_CREATE_ERRHANDLER].name = "MPI_Comm_create_errhandler"; g_timer_state[MPID_STATE_MPI_COMM_DISCONNECT].name = "MPI_Comm_disconnect"; g_timer_state[MPID_STATE_MPI_COMM_FREE].name = "MPI_Comm_free"; g_timer_state[MPID_STATE_MPI_COMM_GET_ATTR].name = "MPI_Comm_get_attr"; g_timer_state[MPID_STATE_MPI_COMM_GET_ERRHANDLER].name = "MPI_Comm_get_errhandler"; g_timer_state[MPID_STATE_MPI_COMM_RANK].name = "MPI_Comm_rank"; g_timer_state[MPID_STATE_MPI_COMM_SET_ERRHANDLER].name = "MPI_Comm_set_errhandler"; g_timer_state[MPID_STATE_MPI_COMM_SIZE].name = "MPI_Comm_size"; g_timer_state[MPID_STATE_MPI_COMM_SPAWN].name = "MPI_Comm_spawn"; g_timer_state[MPID_STATE_MPI_COMM_SPAWN_MULTIPLE].name = "MPI_Comm_spawn_multiple"; g_timer_state[MPID_STATE_MPI_ERRHANDLER_CREATE].name = "MPI_Errhandler_create"; g_timer_state[MPID_STATE_MPI_ERRHANDLER_FREE].name = "MPI_Errhandler_free"; g_timer_state[MPID_STATE_MPI_ERRHANDLER_GET].name = "MPI_Errhandler_get"; g_timer_state[MPID_STATE_MPI_ERRHANDLER_SET].name = "MPI_Errhandler_set"; g_timer_state[MPID_STATE_MPI_ERROR_CLASS].name = "MPI_Error_class"; g_timer_state[MPID_STATE_MPI_ERROR_STRING].name = "MPI_Error_string"; g_timer_state[MPID_STATE_MPI_FILE_CALL_ERRHANDLER].name = "MPI_File_call_errhandler"; g_timer_state[MPID_STATE_MPI_FILE_CREATE_ERRHANDLER].name = "MPI_File_create_errhandler"; g_timer_state[MPID_STATE_MPI_FILE_GET_ERRHANDLER].name = "MPI_File_get_errhandler"; g_timer_state[MPID_STATE_MPI_FILE_SET_ERRHANDLER].name = "MPI_File_set_errhandler"; g_timer_state[MPID_STATE_MPI_FINALIZE].name = "MPI_Finalize"; g_timer_state[MPID_STATE_MPI_FINALIZED].name = "MPI_Finalized"; g_timer_state[MPID_STATE_MPI_GET_ELEMENTS].name = "MPI_Get_elements"; g_timer_state[MPID_STATE_MPI_INFO_CREATE].name = "MPI_Info_create"; g_timer_state[MPID_STATE_MPI_INFO_DELETE].name = "MPI_Info_delete"; g_timer_state[MPID_STATE_MPI_INFO_DUP].name = "MPI_Info_dup"; g_timer_state[MPID_STATE_MPI_INFO_FREE].name = "MPI_Info_free"; g_timer_state[MPID_STATE_MPI_INFO_GET].name = "MPI_Info_get"; g_timer_state[MPID_STATE_MPI_INFO_GET_NKEYS].name = "MPI_Info_get_nkeys"; g_timer_state[MPID_STATE_MPI_INFO_GET_NTHKEY].name = "MPI_Info_get_nthkey"; g_timer_state[MPID_STATE_MPI_INFO_GET_VALUELEN].name = "MPI_Info_get_valuelen"; g_timer_state[MPID_STATE_MPI_INFO_SET].name = "MPI_Info_set"; g_timer_state[MPID_STATE_MPI_INIT].name = "MPI_Init"; g_timer_state[MPID_STATE_MPI_INITIALIZED].name = "MPI_Initialized"; g_timer_state[MPID_STATE_MPI_INIT_THREAD].name = "MPI_Init_thread"; g_timer_state[MPID_STATE_MPI_IRECV].name = "MPI_Irecv"; g_timer_state[MPID_STATE_MPI_ISEND].name = "MPI_Isend"; g_timer_state[MPID_STATE_MPI_OPEN_PORT].name = "MPI_Open_port"; g_timer_state[MPID_STATE_MPI_RECV].name = "MPI_Recv"; g_timer_state[MPID_STATE_MPI_REDUCE].name = "MPI_Reduce"; g_timer_state[MPID_STATE_MPI_SEND].name = "MPI_Send"; g_timer_state[MPID_STATE_MPI_TEST].name = "MPI_Test"; g_timer_state[MPID_STATE_MPI_WAIT].name = "MPI_Wait"; g_timer_state[MPID_STATE_MPI_TYPE_VECTOR].name = "MPI_Type_vector"; g_timer_state[MPID_STATE_MPI_WIN_CALL_ERRHANDLER].name = "MPI_Win_call_errhandler"; g_timer_state[MPID_STATE_MPI_WIN_CREATE_ERRHANDLER].name = "MPI_Win_create_errhandler"; g_timer_state[MPID_STATE_MPI_WIN_GET_ERRHANDLER].name = "MPI_Win_get_errhandler"; g_timer_state[MPID_STATE_MPI_WIN_SET_ERRHANDLER].name = "MPI_Win_set_errhandler"; g_timer_state[MPID_STATE_MPI_WTICK].name = "MPI_Wtick"; g_timer_state[MPID_STATE_MPI_GET_ADDRESS].name = "MPI_Get_address"; g_timer_state[MPID_STATE_MPI_GET_COUNT].name = "MPI_Get_count";}int MPIU_Timer_init(int rank, int size){ int i; unsigned char r,g,b; g_pDLOG = DLOG_InitLog(rank, size); if (g_pDLOG == NULL) return -1; for (i=0; i<MPID_NUM_TIMER_STATES; i++) { g_timer_state[i].num_calls = 0; g_timer_state[i].in_id = DLOG_GetNextEvent(g_pDLOG); g_timer_state[i].out_id = DLOG_GetNextEvent(g_pDLOG); g_timer_state[i].color = random_color(&r, &g, &b); /*sprintf(g_timer_state[i].color_str, "%d %d %d", (int)r, (int)g, (int)b);*/ random_X_color_string(g_timer_state[i].color_str); } init_state_strings(); DLOG_EnableLogging(g_pDLOG); DLOG_SaveFirstTimestamp(g_pDLOG); DLOG_LogCommID(g_pDLOG, (int)MPI_COMM_WORLD); return MPI_SUCCESS;}int MPIU_Timer_finalize(){ int i; printf( "Writing logfile.\n");fflush(stdout); for (i=0; i<MPID_NUM_TIMER_STATES; i++) { /*DLOG_DescribeState(g_pDLOG, i, g_timer_state[i].name, g_timer_state[i].color_str);*/ DLOG_DescribeOpenState(g_pDLOG, g_timer_state[i].in_id, g_timer_state[i].out_id, g_timer_state[i].name, g_timer_state[i].color_str ); } DLOG_DisableLogging(g_pDLOG); DLOG_FinishLog(g_pDLOG, "mpid_prof"); printf("finished.\n");fflush(stdout); return MPI_SUCCESS;}#endif /* MPID_LOGGING_DLOG *//* This section of code is for the RLOG logging library */#if (USE_LOGGING == MPID_LOGGING_RLOG)static char random_color_str[40];static char *get_random_color_str(){ unsigned char r,g,b; random_color(&r, &g, &b); sprintf(random_color_str, "%3d %3d %3d", (int)r, (int)g, (int)b); return random_color_str;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -