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

📄 mpiddev.h

📁 MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程环境.
💻 H
字号:
/* Definitions for the device only  */#ifndef MPID_DEV_H#define MPID_DEV_H#include "dev.h"/* Globals - For the device */#include "nt_global.h"extern int          MPID_n_pending;extern MPID_DevSet *MPID_devset;extern MPID_INFO   *MPID_tinfo;/* packets.h include chdef.h and channel.h */extern int g_nMPID_PKT_DATA_LONG_LEN;#include "packets.h"#include "mpid_debug.h"/*    Common macro for checking the actual length (msglen) against the   declared max length in a handle (dmpi_recv_handle).     Resets msglen if it is too long; also sets err to MPI_ERR_TRUNCATE.   This will set the error field to be added to a handle "soon"    (Check for truncation)   This does NOT call the MPID_ErrorHandler because that is for panic   situations. */#define MPID_CHK_MSGLEN(rhandle,msglen,err) \if ((rhandle)->len < (msglen)) {\    err = MPI_ERR_TRUNCATE;\    rhandle->s.MPI_ERROR = MPI_ERR_TRUNCATE;\    msglen = (rhandle)->len;\    }#define MPID_CHK_MSGLEN2(actlen,msglen,err) \if ((actlen) < (msglen)) {\    err = MPI_ERR_TRUNCATE;\    msglen = (actlen);\    }/* Function prototypes for routines known only to the device */extern MPID_Device *MPID_CH_InitMsgPass ANSI_ARGS(( int *, char ***, 						    int, int ));extern MPID_Protocol *MPID_CH_Short_setup ANSI_ARGS((void));extern MPID_Protocol *MPID_CH_Eagerb_setup ANSI_ARGS((void));extern MPID_Protocol *MPID_CH_Rndvb_setup ANSI_ARGS((void));//extern MPID_Protocol *MPID_CH_Eagern_setup ANSI_ARGS((void));extern MPID_Protocol *MPID_NT_Rndvn_setup ANSI_ARGS((void));extern int MPID_CH_Check_incoming ANSI_ARGS(( MPID_Device *, 					      MPID_BLOCKING_TYPE));extern int  MPID_CH_Init_hetero ANSI_ARGS(( int *, char *** ));extern void MPID_CH_Pkt_pack ANSI_ARGS(( void *, int, int ));extern void MPID_CH_Pkt_unpack ANSI_ARGS(( void *, int, int ));extern int MPID_PackMessageFree ANSI_ARGS((MPIR_SHANDLE *));extern void MPID_PackMessage ANSI_ARGS((void *, int, struct MPIR_DATATYPE *, 					struct MPIR_COMMUNICATOR *, int, 					MPID_Msgrep_t, MPID_Msg_pack_t, 					void **, int *, int *));extern void MPID_UnpackMessageSetup ANSI_ARGS(( int, struct MPIR_DATATYPE *, 						struct MPIR_COMMUNICATOR *,						int, MPID_Msgrep_t, void **, 						int *, int * ));extern int MPID_UnpackMessageComplete ANSI_ARGS(( MPIR_RHANDLE * ));/*    Devices that provide their own datatype handling may need to provide their   own MPI_Get_count and MPI_Get_elements routines.  They should provide   MPID_Get_count and MPID_Get_elements, and define the macros   MPID_HAS_GET_COUNT and MPID_HAS_GET_ELEMENTS in mpid.h .  The    definitions of the MPID versions is exactly the same as the MPI versions. *//* Error handling */#if defined(USE_STDARG) && !defined(USE_OLDSTYLE_STDARG)int MPIR_Err_setmsg( int, int, const char *, const char *, const char *, ... );#elseint MPIR_Err_setmsg();#endif/* prototypes */void MPID_SendCancelPacket( MPI_Request *request, int *err_code );void MPID_SendCancelOkPacket( void *in_pkt, int from );void MPID_RecvCancelOkPacket( void *in_pkt, int from );void MPID_FinishCancelPackets( MPID_Device *dev );#endif

⌨️ 快捷键说明

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