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

📄 mpidi_ch3_post.h

📁 mpi并行计算的c++代码 可用vc或gcc编译通过 可以用来搭建并行计算试验环境
💻 H
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* *  (C) 2001 by Argonne National Laboratory. *      See COPYRIGHT in top-level directory. */#if !defined(MPICH_MPIDI_CH3_POST_H_INCLUDED)#define MPICH_MPIDI_CH3_POST_H_INCLUDED/* * MPIDI_CH3_EAGER_MAX_MSG_SIZE - threshold for switch between the eager and rendezvous protocolsa */#if !defined(MPIDI_CH3_EAGER_MAX_MSG_SIZE)#	ifndef USE_NO_PIN_CACHE#		define MPIDI_CH3_EAGER_MAX_MSG_SIZE 4*(IBU_EAGER_PACKET_SIZE)#	else#		define MPIDI_CH3_EAGER_MAX_MSG_SIZE 8*(IBU_EAGER_PACKET_SIZE)#	endif#endif/* * Channel level request management macros */#define MPIDI_CH3_Request_add_ref(req)				\{								\    MPIU_Assert(HANDLE_GET_MPI_KIND(req->handle) == MPID_REQUEST);	\    MPIU_Object_add_ref(req);					\}#define MPIDI_CH3_Request_release_ref(req, req_ref_count)	\{								\    MPIU_Assert(HANDLE_GET_MPI_KIND(req->handle) == MPID_REQUEST);	\    MPIU_Object_release_ref(req, req_ref_count);		\    MPIU_Assert(req->ref_count >= 0);				\}/* * MPIDI_CH3_Progress_signal_completion() is used to notify the progress * engine that a completion has occurred.  The multi-threaded version will need * to wake up any (and all) threads blocking in MPIDI_CH3_Progress(). */extern volatile unsigned int MPIDI_CH3I_progress_completion_count;#if (MPICH_THREAD_LEVEL == MPI_THREAD_MULTIPLE)    extern volatile int MPIDI_CH3I_progress_blocked;    extern volatile int MPIDI_CH3I_progress_wakeup_signalled;    void MPIDI_CH3I_Progress_wakeup(void);#endif#if (MPICH_THREAD_LEVEL != MPI_THREAD_MULTIPLE)#   define MPIDI_CH3_Progress_signal_completion()	\    {							\        MPIDI_CH3I_progress_completion_count++;		\    }#else#   define MPIDI_CH3_Progress_signal_completion()			\    {									\	MPIDI_CH3I_progress_completion_count++;				\	if (MPIDI_CH3I_progress_blocked == TRUE && MPIDI_CH3I_progress_wakeup_signalled == FALSE)\	{								\	    MPIDI_CH3I_progress_wakeup_signalled = TRUE;		\	    MPIDI_CH3I_Progress_wakeup();				\	}								\    }#endif/* * CH3 Progress routines (implemented as macros for performanace) */#define MPIDI_CH3_Progress_start(progress_state_)			\{									\    (progress_state_)->ch.completion_count = MPIDI_CH3I_progress_completion_count;\}#define MPIDI_CH3_Progress_end(progress_state_)#define MPIDI_CH3_Progress_poke() (MPIDI_CH3_Progress_test())/*#if defined(MPICH_SINGLE_THREADED)#define MPIDI_CH3_Progress_start(state)#define MPIDI_CH3_Progress_end(state)#endif*/int MPIDI_CH3I_Progress(int blocking, MPID_Progress_state *state);#define MPIDI_CH3_Progress_test() MPIDI_CH3I_Progress(FALSE, NULL)#define MPIDI_CH3_Progress_wait(state) MPIDI_CH3I_Progress(TRUE, state)#endif /* !defined(MPICH_MPIDI_CH3_POST_H_INCLUDED) */

⌨️ 快捷键说明

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