monolish  0.16.3
MONOlithic LInear equation Solvers for Highly-parallel architecture
mpi_dummy.hpp
Go to the documentation of this file.
1 #pragma once
2 #ifndef OMPI_MPI_H
3 #define OMPI_MPI_H
4 
5 #ifndef OMPI_DECLSPEC
6 #if defined(WIN32) || defined(_WIN32)
7 #if defined(OMPI_IMPORTS)
8 #define OMPI_DECLSPEC __declspec(dllimport)
9 #else
10 #define OMPI_DECLSPEC
11 #endif /* defined(OMPI_IMPORTS) */
12 #else
13 #if OPAL_C_HAVE_VISIBILITY == 1
14 #define OMPI_DECLSPEC __attribute__((visibility("default")))
15 #else
16 #define OMPI_DECLSPEC
17 #endif
18 #endif
19 #endif
20 
21 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_null;
22 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_min;
23 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_max;
24 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_sum;
25 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_prod;
26 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_land;
27 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_band;
28 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lor;
29 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bor;
30 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lxor;
31 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bxor;
32 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_maxloc;
33 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_minloc;
34 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_replace;
35 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_no_op;
36 
37 using MPI_Status = int;
38 using MPI_Request = int;
39 // typedef struct ompi_status_public_t MPI_Status;
40 typedef struct ompi_communicator_t *MPI_Comm;
41 typedef struct ompi_datatype_t *MPI_Datatype;
42 typedef struct ompi_errhandler_t *MPI_Errhandler;
43 typedef struct ompi_file_t *MPI_File;
44 typedef struct ompi_group_t *MPI_Group;
45 typedef struct ompi_info_t *MPI_Info;
46 typedef struct ompi_op_t *MPI_Op;
47 typedef struct ompi_message_t *MPI_Message;
48 typedef struct ompi_win_t *MPI_Win;
49 typedef struct mca_base_var_enum_t *MPI_T_enum;
50 typedef struct ompi_mpit_cvar_handle_t *MPI_T_cvar_handle;
51 typedef struct mca_base_pvar_handle_t *MPI_T_pvar_handle;
52 typedef struct mca_base_pvar_session_t *MPI_T_pvar_session;
53 
54 #if !OMPI_BUILDING
55 #if defined(c_plusplus) || defined(__cplusplus)
56 #define OMPI_PREDEFINED_GLOBAL(type, global) \
57  (static_cast<type>(static_cast<void *>(&(global))))
58 #else
59 #define OMPI_PREDEFINED_GLOBAL(type, global) ((type)((void *)&(global)))
60 #endif
61 #else
62 #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) & (global))
63 #endif
64 
65 #define MPI_MAX OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_max)
66 #define MPI_MIN OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_min)
67 #define MPI_SUM OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_sum)
68 #define MPI_PROD OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_prod)
69 #define MPI_LAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_land)
70 #define MPI_BAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_band)
71 #define MPI_LOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lor)
72 #define MPI_BOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bor)
73 #define MPI_LXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lxor)
74 #define MPI_BXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bxor)
75 #define MPI_MAXLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_maxloc)
76 #define MPI_MINLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_minloc)
77 #define MPI_REPLACE OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_replace)
78 #define MPI_NO_OP OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_no_op)
79 
80 #endif /* OMPI_MPI_H */
int MPI_Status
Definition: mpi_dummy.hpp:37
struct mca_base_pvar_handle_t * MPI_T_pvar_handle
Definition: mpi_dummy.hpp:51
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_lxor
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_prod
int MPI_Request
Definition: mpi_dummy.hpp:38
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_min
struct ompi_datatype_t * MPI_Datatype
Definition: mpi_dummy.hpp:41
struct ompi_win_t * MPI_Win
Definition: mpi_dummy.hpp:48
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_land
struct mca_base_var_enum_t * MPI_T_enum
Definition: mpi_dummy.hpp:49
struct ompi_group_t * MPI_Group
Definition: mpi_dummy.hpp:44
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_band
struct ompi_communicator_t * MPI_Comm
Definition: mpi_dummy.hpp:40
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_maxloc
struct ompi_info_t * MPI_Info
Definition: mpi_dummy.hpp:45
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_replace
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_max
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_no_op
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_bor
struct mca_base_pvar_session_t * MPI_T_pvar_session
Definition: mpi_dummy.hpp:52
struct ompi_mpit_cvar_handle_t * MPI_T_cvar_handle
Definition: mpi_dummy.hpp:50
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_lor
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_sum
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_minloc
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_null
struct ompi_errhandler_t * MPI_Errhandler
Definition: mpi_dummy.hpp:42
struct ompi_op_t * MPI_Op
Definition: mpi_dummy.hpp:46
#define OMPI_DECLSPEC
Definition: mpi_dummy.hpp:16
struct ompi_file_t * MPI_File
Definition: mpi_dummy.hpp:43
struct ompi_message_t * MPI_Message
Definition: mpi_dummy.hpp:47
OMPI_DECLSPEC struct ompi_predefined_op_t ompi_mpi_op_bxor