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

📄 describe_mpi_states.c

📁 刚才是说明 现在是安装程序在 LINUX环境下进行编程的MPICH安装文件
💻 C
📖 第 1 页 / 共 2 页
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* * *  (C) 2001 by Argonne National Laboratory. *      See COPYRIGHT in top-level directory. */#include "mpiimpl.h"/* Define MPICH_MPI_FROM_PMPI if weak symbols are not supported to build   the MPI routines */#ifndef MPICH_MPI_FROM_PMPI#ifdef HAVE_TIMING#if (USE_LOGGING == MPID_LOGGING_DLOG)int MPIR_Describe_mpi_timer_states(){    /* 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_TYPE_CONTIGUOUS].name = "MPI_Type_contiguous";    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";    return 0;}#endif /* USE_LOGGING == MPID_LOGGING_DLOG *//* This section of code is for the RLOG logging library */#if (USE_LOGGING == MPID_LOGGING_RLOG)#include <math.h>/* utility funcions */#ifndef RGB#define RGB(r,g,b)      ((unsigned long)(((unsigned char)(r)|((unsigned short)((unsigned char)(g))<<8))|(((unsigned long)(unsigned char)(b))<<16)))#endifstatic unsigned long getColorRGB(double fraction, double intensity, unsigned char *r, unsigned char *g, unsigned char *b){    double red, green, blue;    double dtemp;    fraction = fabs(modf(fraction, &dtemp));        if (intensity > 2.0)	intensity = 2.0;    if (intensity < 0.0)	intensity = 0.0;        dtemp = 1.0/6.0;        if (fraction < 1.0/6.0)    {	red = 1.0;	green = fraction / dtemp;	blue = 0.0;    }    else    {	if (fraction < 1.0/3.0)	{	    red = 1.0 - ((fraction - dtemp) / dtemp);	    green = 1.0;	    blue = 0.0;	}	else	{	    if (fraction < 0.5)	    {		red = 0.0;		green = 1.0;		blue = (fraction - (dtemp*2.0)) / dtemp;	    }	    else	    {		if (fraction < 2.0/3.0)		{		    red = 0.0;		    green = 1.0 - ((fraction - (dtemp*3.0)) / dtemp);		    blue = 1.0;		}		else		{		    if (fraction < 5.0/6.0)		    {			red = (fraction - (dtemp*4.0)) / dtemp;			green = 0.0;			blue = 1.0;		    }		    else		    {			red = 1.0;			green = 0.0;			blue = 1.0 - ((fraction - (dtemp*5.0)) / dtemp);		    }		}	    }	}    }        if (intensity > 1)    {	intensity = intensity - 1.0;	red = red + ((1.0 - red) * intensity);	green = green + ((1.0 - green) * intensity);	blue = blue + ((1.0 - blue) * intensity);    }    else    {	red = red * intensity;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -