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

📄 mpi.h

📁 MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程环境.
💻 H
📖 第 1 页 / 共 2 页
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* USMID @(#)mpi/include/mpi.h	31.4	10/07/97 18:14:32 *//* * Copyright (C) 1997, Silicon Graphics, Inc. * All Rights Reserved * * Copyright Notice *  + 1993 University of Chicago *  + 1993 Mississippi State University */#ifndef MPI_H_INCLUDED#define MPI_H_INCLUDED#if defined(__cplusplus)extern "C" {#endif#define MPI_VERSION		1#define MPI_SUBVERSION		2#define MPI_BOTTOM		((MPI_Aint)0)typedef long			MPI_Aint;typedef unsigned int		MPI_Request;typedef unsigned int		MPI_Group;typedef unsigned int		MPI_Comm;typedef unsigned int		MPI_Errhandler;typedef unsigned int		MPI_Op;typedef unsigned int		MPI_Datatype;typedef struct { 	int MPI_SOURCE;	int MPI_TAG;	int MPI_ERROR;	int size;	int reserved[2];} MPI_Status;enum {	MPI_COMM_NULL		= 0,	MPI_COMM_WORLD		= 1,	MPI_COMM_SELF		= 2};enum {	MPI_ERRHANDLER_NULL	= 0,	MPI_ERRORS_ARE_FATAL	= 1,	MPI_ERRORS_RETURN	= 2};enum {	MPI_GROUP_NULL		= 0,	MPI_GROUP_EMPTY		= 1};enum {	MPI_REQUEST_NULL	= 0};enum {	MPI_OP_NULL		= 0,	MPI_MAX			= 1,	MPI_MIN			= 2,	MPI_SUM			= 3,	MPI_PROD		= 4,	MPI_LAND		= 5,	MPI_BAND 		= 6,	MPI_LOR			= 7,	MPI_BOR			= 8,	MPI_LXOR		= 9,	MPI_BXOR		= 10,	MPI_MAXLOC		= 11,	MPI_MINLOC		= 12};enum {	MPI_DATATYPE_NULL	= 0,	MPI_CHAR		= 1,	MPI_SHORT		= 2,	MPI_INT			= 3,	MPI_LONG		= 4,	MPI_UNSIGNED_CHAR	= 5,	MPI_UNSIGNED_SHORT	= 6,	MPI_UNSIGNED		= 7,	MPI_UNSIGNED_LONG	= 8,	MPI_FLOAT		= 9,	MPI_DOUBLE		= 10,	MPI_LONG_DOUBLE		= 11,	MPI_LONG_LONG		= 12,	MPI_INTEGER		= 13,	MPI_REAL		= 14,	MPI_DOUBLE_PRECISION	= 15,	MPI_COMPLEX		= 16,	MPI_DOUBLE_COMPLEX	= 17,	MPI_LOGICAL		= 18,	MPI_CHARACTER		= 19,	MPI_INTEGER1		= 20,	MPI_INTEGER2		= 21,	MPI_INTEGER4		= 22,	MPI_INTEGER8		= 23,	MPI_REAL4		= 24,	MPI_REAL8		= 25,	MPI_REAL16		= 26,	MPI_BYTE		= 27,	MPI_PACKED		= 28,	MPI_UB			= 29,	MPI_LB			= 30,	MPI_FLOAT_INT		= 31,	MPI_DOUBLE_INT		= 32,	MPI_LONG_INT		= 33,	MPI_2INT		= 34,	MPI_SHORT_INT		= 35,	MPI_LONG_DOUBLE_INT	= 36,	MPI_2REAL		= 37,	MPI_2DOUBLE_PRECISION	= 38,	MPI_2INTEGER		= 39};#define MPI_LONG_LONG_INT	MPI_LONG_LONGenum {	MPI_SUCCESS		= 0,	MPI_ERR_BUFFER		= 1,	MPI_ERR_COUNT		= 2,	MPI_ERR_TYPE		= 3,	MPI_ERR_TAG		= 4,	MPI_ERR_COMM		= 5,	MPI_ERR_RANK		= 6,	MPI_ERR_REQUEST		= 7,	MPI_ERR_ROOT		= 8,	MPI_ERR_GROUP		= 9,	MPI_ERR_OP		= 10,	MPI_ERR_TOPOLOGY	= 11,	MPI_ERR_DIMS		= 12,	MPI_ERR_ARG		= 13,	MPI_ERR_UNKNOWN		= 14,	MPI_ERR_TRUNCATE	= 15,	MPI_ERR_OTHER		= 16,	MPI_ERR_INTERN		= 17,	MPI_ERR_IN_STATUS	= 18,	MPI_ERR_PENDING		= 19,	MPI_ERR_LASTCODE	= 31};enum {	MPI_KEYVAL_INVALID	= 0,	MPI_TAG_UB		= 1,	MPI_HOST		= 2,	MPI_IO			= 3,	MPI_WTIME_IS_GLOBAL	= 4};enum {	MPI_IDENT		= 0,	MPI_CONGRUENT		= 1,	MPI_SIMILAR		= 2,	MPI_UNEQUAL		= 3};enum {	MPI_GRAPH		= 1,	MPI_CART		= 2};enum {	MPI_UNDEFINED		= -3,	MPI_ANY_SOURCE		= -2,	MPI_PROC_NULL		= -1};enum {	MPI_ANY_TAG		= -1};enum {	MPI_BSEND_OVERHEAD	= 32};enum {	MPI_MAX_PROCESSOR_NAME	= 256};enum {	MPI_MAX_ERROR_STRING	= 256};typedef int MPI_Copy_function(MPI_Comm, int, void *, void *, void *, int *);typedef int MPI_Delete_function(MPI_Comm, int, void *, void *);typedef void MPI_Handler_function(MPI_Comm *, int *, ...);typedef void MPI_User_function(void *, void *, int *, MPI_Datatype *); MPI_Copy_function		MPI_NULL_COPY_FN, MPI_DUP_FN;MPI_Delete_function		MPI_NULL_DELETE_FN;/*************************************//* MPI-1 bindings, sorted by chapter *//*************************************//* 3.2 */int  MPI_Send(void *, int, MPI_Datatype, int, int, MPI_Comm);int PMPI_Send(void *, int, MPI_Datatype, int, int, MPI_Comm);int  MPI_Recv(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);int PMPI_Recv(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);int  MPI_Get_count(MPI_Status *, MPI_Datatype, int *);int PMPI_Get_count(MPI_Status *, MPI_Datatype, int *);/* 3.4 */int  MPI_Bsend(void *, int, MPI_Datatype, int, int, MPI_Comm);int PMPI_Bsend(void *, int, MPI_Datatype, int, int, MPI_Comm);int  MPI_Ssend(void *, int, MPI_Datatype, int, int, MPI_Comm);int PMPI_Ssend(void *, int, MPI_Datatype, int, int, MPI_Comm);int  MPI_Rsend(void *, int, MPI_Datatype, int, int, MPI_Comm);int PMPI_Rsend(void *, int, MPI_Datatype, int, int, MPI_Comm);/* 3.6 */int  MPI_Buffer_attach(void *, int);int PMPI_Buffer_attach(void *, int);int  MPI_Buffer_detach(void *, int *);int PMPI_Buffer_detach(void *, int *);/* 3.7 */int  MPI_Isend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Isend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Ibsend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Ibsend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Issend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Issend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Irsend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Irsend(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Irecv(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Irecv(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Wait(MPI_Request *, MPI_Status *);int PMPI_Wait(MPI_Request *, MPI_Status *);int  MPI_Test(MPI_Request *, int *, MPI_Status *);int PMPI_Test(MPI_Request *, int *, MPI_Status *);int  MPI_Request_free(MPI_Request *);int PMPI_Request_free(MPI_Request *);int  MPI_Waitany(int, MPI_Request *, int *, MPI_Status *);int PMPI_Waitany(int, MPI_Request *, int *, MPI_Status *);int  MPI_Testany(int, MPI_Request *, int *, int *, MPI_Status *);int PMPI_Testany(int, MPI_Request *, int *, int *, MPI_Status *);int  MPI_Waitall(int, MPI_Request *, MPI_Status *);int PMPI_Waitall(int, MPI_Request *, MPI_Status *);int  MPI_Testall(int, MPI_Request *, int *, MPI_Status *);int PMPI_Testall(int, MPI_Request *, int *, MPI_Status *);int  MPI_Waitsome(int, MPI_Request *, int *, int *, MPI_Status *);int PMPI_Waitsome(int, MPI_Request *, int *, int *, MPI_Status *);int  MPI_Testsome(int, MPI_Request *, int *, int *, MPI_Status *);int PMPI_Testsome(int, MPI_Request *, int *, int *, MPI_Status *);/* 3.8 */int  MPI_Iprobe(int, int, MPI_Comm, int *, MPI_Status *);int PMPI_Iprobe(int, int, MPI_Comm, int *, MPI_Status *);int  MPI_Probe(int, int, MPI_Comm, MPI_Status *);int PMPI_Probe(int, int, MPI_Comm, MPI_Status *);int  MPI_Cancel(MPI_Request *);int PMPI_Cancel(MPI_Request *);int  MPI_Test_cancelled(MPI_Status *, int *);int PMPI_Test_cancelled(MPI_Status *, int *);/* 3.9 */int  MPI_Send_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Send_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Bsend_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Bsend_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Ssend_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Ssend_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Rsend_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Rsend_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Recv_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int PMPI_Recv_init(void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Request *);int  MPI_Start(MPI_Request *);int PMPI_Start(MPI_Request *);int  MPI_Startall(int, MPI_Request *);int PMPI_Startall(int, MPI_Request *);/* 3.10 */int  MPI_Sendrecv(void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);int PMPI_Sendrecv(void *, int, MPI_Datatype, int, int, void *, int, MPI_Datatype, int, int, MPI_Comm, MPI_Status *);int  MPI_Sendrecv_replace(void *, int, MPI_Datatype, int, int, int, int, MPI_Comm, MPI_Status *);int PMPI_Sendrecv_replace(void *, int, MPI_Datatype, int, int, int, int, MPI_Comm, MPI_Status *);/* 3.12 */int  MPI_Type_contiguous(int, MPI_Datatype, MPI_Datatype *);int PMPI_Type_contiguous(int, MPI_Datatype, MPI_Datatype *);int  MPI_Type_vector(int, int, int, MPI_Datatype, MPI_Datatype *);int PMPI_Type_vector(int, int, int, MPI_Datatype, MPI_Datatype *);int  MPI_Type_hvector(int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);int PMPI_Type_hvector(int, int, MPI_Aint, MPI_Datatype, MPI_Datatype *);int  MPI_Type_indexed(int, int *, int *, MPI_Datatype, MPI_Datatype *);int PMPI_Type_indexed(int, int *, int *, MPI_Datatype, MPI_Datatype *);int  MPI_Type_hindexed(int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);int PMPI_Type_hindexed(int, int *, MPI_Aint *, MPI_Datatype, MPI_Datatype *);int  MPI_Type_struct(int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);int PMPI_Type_struct(int, int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);int  MPI_Address(void *, MPI_Aint *);int PMPI_Address(void *, MPI_Aint *);int  MPI_Type_extent(MPI_Datatype, MPI_Aint *);int PMPI_Type_extent(MPI_Datatype, MPI_Aint *);int  MPI_Type_size(MPI_Datatype, int *);int PMPI_Type_size(MPI_Datatype, int *);int  MPI_Type_lb(MPI_Datatype, MPI_Aint *);int PMPI_Type_lb(MPI_Datatype, MPI_Aint *);

⌨️ 快捷键说明

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