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

📄 mpidi_ch3_pre.h

📁 fortran并行计算包
💻 H
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* *  (C) 2001 by Argonne National Laboratory. *      See COPYRIGHT in top-level directory. */#if !defined(MPICH_MPIDI_CH3_PRE_H_INCLUDED)#define MPICH_MPIDI_CH3_PRE_H_INCLUDED#include "mpid_nem_pre.h"#include <netinet/in.h>/*#define MPID_USE_SEQUENCE_NUMBERS*//*#define HAVE_CH3_PRE_INIT*//* #define MPIDI_CH3_HAS_NO_DYNAMIC_PROCESS */#define MPIDI_DEV_IMPLEMENTS_KVS    typedef enum MPIDI_CH3I_VC_state{    MPIDI_CH3I_VC_STATE_UNCONNECTED,    MPIDI_CH3I_VC_STATE_CONNECTING,    MPIDI_CH3I_VC_STATE_CONNECTED,    MPIDI_CH3I_VC_STATE_FAILED}MPIDI_CH3I_VC_state_t;/* size of private data area in vc for network modules */#define MPID_NEM_VC_NETMOD_AREA_LEN 128/* * MPIDI_CH3_REQUEST_DECL (additions to MPID_Request) */#define MPIDI_CH3_REQUEST_DECL                                                                                                  \    struct MPIDI_CH3I_Request                                                                                                   \    {                                                                                                                           \        struct MPIDI_VC     *vc;                                                                                                \        int                  noncontig;                                                                                         \        MPIDI_msg_sz_t       header_sz;                                                                                         \                                                                                                                                \        MPI_Request          lmt_req_id;     /* request id of remote side */                                                    \        struct MPID_Request *lmt_req;        /* pointer to original send/recv request */                                        \        MPIDI_msg_sz_t       lmt_data_sz;    /* data size to be transferred, after checking for truncation */                   \        MPID_IOV             lmt_tmp_cookie; /* temporary storage for received cookie */                                        \    } ch;#if 0#define DUMP_REQUEST(req) do {							\    int i;									\    MPIDI_DBG_PRINTF((55, FCNAME, "request %p\n", (req)));			\    MPIDI_DBG_PRINTF((55, FCNAME, "  handle = %d\n", (req)->handle));		\    MPIDI_DBG_PRINTF((55, FCNAME, "  ref_count = %d\n", (req)->ref_count));	\    MPIDI_DBG_PRINTF((55, FCNAME, "  cc = %d\n", (req)->cc));			\    for (i = 0; i < (req)->iov_count; ++i)					\        MPIDI_DBG_PRINTF((55, FCNAME, "  dev.iov[%d] = (%p, %d)\n", i,		\                (req)->dev.iov[i].MPID_IOV_BUF,					\                (req)->dev.iov[i].MPID_IOV_LEN));				\    MPIDI_DBG_PRINTF((55, FCNAME, "  dev.iov_count = %d\n",			\			 (req)->dev.iov_count));				\    MPIDI_DBG_PRINTF((55, FCNAME, "  dev.state = 0x%x\n", (req)->dev.state));	\    MPIDI_DBG_PRINTF((55, FCNAME, "    type = %d\n",				\		      MPIDI_Request_get_type(req)));				\} while (0)#else#define DUMP_REQUEST(req) do { } while (0)#endif#define MPIDI_POSTED_RECV_ENQUEUE_HOOK(x) MPIDI_CH3I_Posted_recv_enqueued(x)#define MPIDI_POSTED_RECV_DEQUEUE_HOOK(x) MPIDI_CH3I_Posted_recv_dequeued(x)typedef struct MPIDI_CH3I_comm{    int local_size;      /* number of local procs in this comm */    int local_rank;      /* my rank among local procs in this comm */    int *local_ranks;    /* list of ranks of procs local to this node */    int external_size;   /* number of procs in external set */    int external_rank;   /* my rank among external set, or -1 if I'm not in external set */    int *external_ranks; /* list of ranks of procs in external set */    struct MPID_nem_barrier_vars *barrier_vars; /* shared memory variables used in barrier */}MPIDI_CH3I_comm_t;#ifdef ENABLED_SHM_COLLECTIVES#define HAVE_DEV_COMM_HOOK#define MPID_Dev_comm_create_hook(comm_) do {           \        int _mpi_errno;                                 \        _mpi_errno = MPIDI_CH3I_comm_create (comm_);    \        if (_mpi_errno) MPIU_ERR_POP (_mpi_errno);      \    } while(0)#define MPID_Dev_comm_destroy_hook(comm_) do {          \        int _mpi_errno;                                 \        _mpi_errno = MPIDI_CH3I_comm_destroy (comm_);   \        if (_mpi_errno) MPIU_ERR_POP (_mpi_errno);      \    } while(0)#endif#define MPID_DEV_COMM_DECL MPIDI_CH3I_comm_t ch;/* * MPID_Progress_state - device/channel dependent state to be passed between  * MPID_Progress_{start,wait,end} * */typedef struct MPIDI_CH3I_Progress_state{    int completion_count;}MPIDI_CH3I_Progress_state;#define MPIDI_CH3_PROGRESS_STATE_DECL MPIDI_CH3I_Progress_state ch;#endif /* !defined(MPICH_MPIDI_CH3_PRE_H_INCLUDED) */

⌨️ 快捷键说明

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