⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.c

📁 刚才是说明 现在是安装程序在 LINUX环境下进行编程的MPICH安装文件
💻 C
📖 第 1 页 / 共 5 页
字号:
    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 + -