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

📄 mpi.h.in

📁 MPI stands for the Message Passing Interface. Written by the MPI Forum (a large committee comprising
💻 IN
📖 第 1 页 / 共 5 页
字号:
/* * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana *                         University Research and Technology *                         Corporation.  All rights reserved. * Copyright (c) 2004-2006 The University of Tennessee and The University *                         of Tennessee Research Foundation.  All rights *                         reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,  *                         University of Stuttgart.  All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. *                         All rights reserved. * Copyright (c) 2007      Cisco Systems, Inc.  All rights reserved. * $COPYRIGHT$ *  * Additional copyrights may follow *  * $HEADER$ */#ifndef OMPI_MPI_H#define OMPI_MPI_H/* The comment below (and the ending partner) are for building fat   distributions on platforms that support it.  Please do not remove *//* @OMPI_BEGIN_CONFIGURE_SECTION@ */#ifndef OMPI_CONFIG_H/* Only include these if OMPI_CONFIG_H isn't defined (meaning if   ompi_config.h hasn't already been included).  Otherwise, we'll   duplicate all those symbols.  OMPI coding standards say that   ompi_config.h must be included before all other files, so this   should be good enough *//* Whether we have FORTRAN INTEGER*1 or not */#undef OMPI_HAVE_FORTRAN_INTEGER1/* Whether we have FORTRAN INTEGER*16 or not */#undef OMPI_HAVE_FORTRAN_INTEGER16/* Whether we have FORTRAN INTEGER*2 or not */#undef OMPI_HAVE_FORTRAN_INTEGER2/* Whether we have FORTRAN INTEGER*4 or not */#undef OMPI_HAVE_FORTRAN_INTEGER4/* Whether we have FORTRAN INTEGER*8 or not */#undef OMPI_HAVE_FORTRAN_INTEGER8/* Whether we have FORTRAN REAL*16 or not */#undef OMPI_HAVE_FORTRAN_REAL16/* Whether we have FORTRAN REAL*4 or not */#undef OMPI_HAVE_FORTRAN_REAL4/* Whether we have FORTRAN REAL*8 or not */#undef OMPI_HAVE_FORTRAN_REAL8/* Define to 1 if you have the <sys/time.h> header file. */#undef HAVE_SYS_TIME_H/* Define to 1 if the system has the type `long long'. */#undef HAVE_LONG_LONG/* The size of a `bool', as computed by sizeof. */#undef SIZEOF_BOOL/* The size of a `int', as computed by sizeof. */#undef SIZEOF_INT/* Type of MPI_Offset -- has to be defined here and typedef'ed later because mpi.h does not get AC SUBST's */#undef OMPI_MPI_OFFSET_TYPE/* type to use for ptrdiff_t, if it does not exist, set to ptrdiff_t if it does exist */#undef OMPI_PTRDIFF_TYPE/* Whether we want MPI cxx support or not */#undef OMPI_WANT_CXX_BINDINGS/* do we want to try to work around C++ bindings SEEK_* issue? */#undef OMPI_WANT_MPI_CXX_SEEK/* Whether a const_cast on a 2-d array will work with the C++ compiler */#undef OMPI_CXX_SUPPORTS_2D_CONST_CAST/* Whether we want the MPI f77 bindings or not */#undef OMPI_WANT_F77_BINDINGS/* Whether we want the MPI f90 bindings or not */#undef OMPI_WANT_F90_BINDINGS/* Whether or not we have compiled with C++ exceptions support */#undef OMPI_HAVE_CXX_EXCEPTION_SUPPORT/* MPI datatype corresponding to MPI_Offset */#undef OMPI_OFFSET_DATATYPE/* Define to 1 if you have the ANSI C header files. */#undef STDC_HEADERS/* Major, minor, and release version of Open MPI */#undef OMPI_MAJOR_VERSION#undef OMPI_MINOR_VERSION#undef OMPI_RELEASE_VERSION/* A  type that allows us to have sentinel type values that are still   valid */#undef ompi_fortran_bogus_type_t/* C type corresponding to FORTRAN INTEGER */#undef ompi_fortran_integer_t#ifndef OMPI_DECLSPEC#if defined(WIN32) || defined(_WIN32)#define OMPI_DECLSPEC __declspec(dllimport)#else#define OMPI_DECLSPEC#endif#endif#ifndef MPI_Fint/* MPI_Fint is the same as ompi_fortran_INTEGER_t */#define MPI_Fint ompi_fortran_integer_t#endif#endif /* #ifndef OMPI_CONFIG_H *//* @OMPI_END_CONFIGURE_SECTION@ *//* include for ptrdiff_t */#ifdef STDC_HEADERS#include <stddef.h>#endif#ifndef OMPI_BUILDING#define OMPI_BUILDING 0#endif/* * Just in case you need it.  :-) */#define OPEN_MPI 1/* * MPI version */#define MPI_VERSION 2#define MPI_SUBVERSION 0/* * To accomodate programs written for MPI implementations that use a * straight ROMIO import */#if !OMPI_BUILDING#define MPIO_Request MPI_Request#define MPIO_Test MPI_Test#define MPIO_Wait MPI_Wait#endif#if defined(c_plusplus) || defined(__cplusplus)extern "C" {#endif/* * Typedefs */typedef OMPI_PTRDIFF_TYPE MPI_Aint;typedef OMPI_MPI_OFFSET_TYPE MPI_Offset;typedef struct ompi_communicator_t *MPI_Comm;typedef struct ompi_datatype_t *MPI_Datatype;typedef struct ompi_errhandler_t *MPI_Errhandler;typedef struct ompi_file_t *MPI_File;typedef struct ompi_group_t *MPI_Group;typedef struct ompi_info_t *MPI_Info;typedef struct ompi_op_t *MPI_Op;typedef struct ompi_request_t *MPI_Request;typedef struct ompi_status_public_t MPI_Status;typedef struct ompi_win_t *MPI_Win;/* * MPI_Status */struct ompi_status_public_t {   int MPI_SOURCE;  int MPI_TAG;  int MPI_ERROR;  int _count;  int _cancelled;};typedef struct ompi_status_public_t ompi_status_public_t;/* * User typedefs */typedef int (MPI_Copy_function)(MPI_Comm, int, void *,                                void *, void *, int *);typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *);typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype,                                               int, void *, MPI_Offset, void *);typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...);typedef void (MPI_File_errhandler_fn)(MPI_File *, int *, ...);typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...);typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *);typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *,                                            void *, void *, int *);typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *);typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *,                                            void *, void *, int *);typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int,                                              void *, void *);typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *,                                           void *, void *, int *);typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *);typedef int (MPI_Grequest_query_function)(void *, MPI_Status *);typedef int (MPI_Grequest_free_function)(void *);typedef int (MPI_Grequest_cancel_function)(void *, int); /* * Miscellaneous constants */#define MPI_ANY_SOURCE         -1      /* match any source rank */#define MPI_PROC_NULL          -2      /* rank of null process */#define MPI_ROOT               -4#define MPI_ANY_TAG            -1      /* match any message tag */#define MPI_MAX_PROCESSOR_NAME 256     /* max proc. name length */#define MPI_MAX_ERROR_STRING   256     /* max error message length */#define MPI_MAX_OBJECT_NAME    64      /* max object name length */#define MPI_UNDEFINED          -32766  /* undefined stuff */#define MPI_CART               1       /* cartesian topology */#define MPI_GRAPH              2       /* graph topology */#define MPI_KEYVAL_INVALID     -1      /* invalid key value *//* * More constants */#define MPI_BOTTOM               ((void *) 0)    /* base reference address */#define MPI_IN_PLACE             ((void *) 1)    /* in place buffer */#define MPI_BSEND_OVERHEAD       128     /* size of bsend header + ptr */#define MPI_MAX_INFO_KEY         36      /* max info key length */#define MPI_MAX_INFO_VAL         256     /* max info value length */#define MPI_ARGV_NULL            ((char **) 0)   /* NULL argument vector */#define MPI_ARGVS_NULL           ((char ***) 0)  /* NULL argument vectors */#define MPI_ERRCODES_IGNORE      ((int *) 0)    /* don't return error codes */#define MPI_MAX_PORT_NAME        36      /* max port name length */#define MPI_MAX_NAME_LEN         MPI_MAX_PORT_NAME /* max port name length */#define MPI_ORDER_C              0       /* C row major order */#define MPI_ORDER_FORTRAN        1       /* Fortran column major order */#define MPI_DISTRIBUTE_BLOCK     0       /* block distribution */#define MPI_DISTRIBUTE_CYCLIC    1       /* cyclic distribution */#define MPI_DISTRIBUTE_NONE      2       /* not distributed */#define MPI_DISTRIBUTE_DFLT_DARG (-1)    /* default distribution arg */

⌨️ 快捷键说明

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