|
Packit Service |
c5cf8c |
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
|
|
Packit Service |
c5cf8c |
/*
|
|
Packit Service |
c5cf8c |
* (C) 2001 by Argonne National Laboratory.
|
|
Packit Service |
c5cf8c |
* See COPYRIGHT in top-level directory.
|
|
Packit Service |
c5cf8c |
*
|
|
Packit Service |
c5cf8c |
*/
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#ifndef MPIR_MISC_H_INCLUDED
|
|
Packit Service |
c5cf8c |
#define MPIR_MISC_H_INCLUDED
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#define MPIR_UNIVERSE_SIZE_NOT_SET -1
|
|
Packit Service |
c5cf8c |
#define MPIR_UNIVERSE_SIZE_NOT_AVAILABLE -2
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#define MPIR_FINALIZE_CALLBACK_PRIO 5
|
|
Packit Service |
c5cf8c |
#define MPIR_FINALIZE_CALLBACK_HANDLE_CHECK_PRIO 1
|
|
Packit Service |
c5cf8c |
#define MPIR_FINALIZE_CALLBACK_DEFAULT_PRIO 0
|
|
Packit Service |
c5cf8c |
#define MPIR_FINALIZE_CALLBACK_MAX_PRIO 10
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
/* Define a typedef for the errflag value used by many internal
|
|
Packit Service |
c5cf8c |
* functions. If an error needs to be returned, these values can be
|
|
Packit Service |
c5cf8c |
* used to signal such. More details can be found further down in the
|
|
Packit Service |
c5cf8c |
* code with the bitmasking logic */
|
|
Packit Service |
c5cf8c |
typedef enum {
|
|
Packit Service |
c5cf8c |
MPIR_ERR_NONE = MPI_SUCCESS,
|
|
Packit Service |
c5cf8c |
MPIR_ERR_PROC_FAILED = MPIX_ERR_PROC_FAILED,
|
|
Packit Service |
c5cf8c |
MPIR_ERR_OTHER = MPI_ERR_OTHER
|
|
Packit Service |
c5cf8c |
} MPIR_Errflag_t;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
/*E
|
|
Packit Service |
c5cf8c |
MPIR_Lang_t - Known language bindings for MPI
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
A few operations in MPI need to know what language they were called from
|
|
Packit Service |
c5cf8c |
or created by. This type enumerates the possible languages so that
|
|
Packit Service |
c5cf8c |
the MPI implementation can choose the correct behavior. An example of this
|
|
Packit Service |
c5cf8c |
are the keyval attribute copy and delete functions.
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
Module:
|
|
Packit Service |
c5cf8c |
Attribute-DS
|
|
Packit Service |
c5cf8c |
E*/
|
|
Packit Service |
c5cf8c |
typedef enum MPIR_Lang_t {
|
|
Packit Service |
c5cf8c |
MPIR_LANG__C
|
|
Packit Service |
c5cf8c |
#ifdef HAVE_FORTRAN_BINDING
|
|
Packit Service |
c5cf8c |
, MPIR_LANG__FORTRAN, MPIR_LANG__FORTRAN90
|
|
Packit Service |
c5cf8c |
#endif
|
|
Packit Service |
c5cf8c |
#ifdef HAVE_CXX_BINDING
|
|
Packit Service |
c5cf8c |
, MPIR_LANG__CXX
|
|
Packit Service |
c5cf8c |
#endif
|
|
Packit Service |
c5cf8c |
} MPIR_Lang_t;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_string[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_date[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_ABI[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_configure[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_device[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_CC[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_CXX[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_F77[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_FC[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
extern const char MPII_Version_custom[] MPICH_API_PUBLIC;
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
int MPIR_Localcopy(const void *sendbuf, MPI_Aint sendcount, MPI_Datatype sendtype,
|
|
Packit Service |
c5cf8c |
void *recvbuf, MPI_Aint recvcount, MPI_Datatype recvtype);
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
/*@ MPIR_Add_finalize - Add a routine to be called when MPI_Finalize is invoked
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
+ routine - Routine to call
|
|
Packit Service |
c5cf8c |
. extra - Void pointer to data to pass to the routine
|
|
Packit Service |
c5cf8c |
- priority - Indicates the priority of this callback and controls the order
|
|
Packit Service |
c5cf8c |
in which callbacks are executed. Use a priority of zero for most handlers;
|
|
Packit Service |
c5cf8c |
higher priorities will be executed first.
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
Notes:
|
|
Packit Service |
c5cf8c |
The routine 'MPID_Finalize' is executed with priority
|
|
Packit Service |
c5cf8c |
'MPIR_FINALIZE_CALLBACK_PRIO' (currently defined as 5). Handlers with
|
|
Packit Service |
c5cf8c |
a higher priority execute before 'MPID_Finalize' is called; those with
|
|
Packit Service |
c5cf8c |
a lower priority after 'MPID_Finalize' is called.
|
|
Packit Service |
c5cf8c |
@*/
|
|
Packit Service |
c5cf8c |
void MPIR_Add_finalize(int (*routine) (void *), void *extra, int priority);
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
/* Routines for determining local and remote processes */
|
|
Packit Service |
c5cf8c |
int MPIR_Find_local_and_external(struct MPIR_Comm *comm, int *local_size_p, int *local_rank_p,
|
|
Packit Service |
c5cf8c |
int **local_ranks_p, int *external_size_p, int *external_rank_p,
|
|
Packit Service |
c5cf8c |
int **external_ranks_p, int **intranode_table,
|
|
Packit Service |
c5cf8c |
int **internode_table_p);
|
|
Packit Service |
c5cf8c |
int MPIR_Get_internode_rank(MPIR_Comm * comm_ptr, int r);
|
|
Packit Service |
c5cf8c |
int MPIR_Get_intranode_rank(MPIR_Comm * comm_ptr, int r);
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
int MPIR_Close_port_impl(const char *port_name);
|
|
Packit Service |
c5cf8c |
int MPIR_Open_port_impl(MPIR_Info * info_ptr, char *port_name);
|
|
Packit Service |
c5cf8c |
int MPIR_Cancel(MPIR_Request * request_ptr);
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
/* Default routines for asynchronous progress thread */
|
|
Packit Service |
c5cf8c |
int MPIR_Init_async_thread(void);
|
|
Packit Service |
c5cf8c |
int MPIR_Finalize_async_thread(void);
|
|
Packit Service |
c5cf8c |
|
|
Packit Service |
c5cf8c |
#endif /* MPIR_MISC_H_INCLUDED */
|