108#define sc_MPI_SUCCESS MPI_SUCCESS
109#define sc_MPI_ERR_ARG MPI_ERR_ARG
110#define sc_MPI_ERR_UNKNOWN MPI_ERR_UNKNOWN
111#define sc_MPI_ERR_OTHER MPI_ERR_OTHER
112#define sc_MPI_ERR_NO_MEM MPI_ERR_NO_MEM
113#define sc_MPI_MAX_ERROR_STRING MPI_MAX_ERROR_STRING
115#ifdef SC_ENABLE_MPIIO
117#define sc_MPI_ERR_FILE MPI_ERR_FILE
118#define sc_MPI_ERR_NOT_SAME MPI_ERR_NOT_SAME
119#define sc_MPI_ERR_AMODE MPI_ERR_AMODE
120#define sc_MPI_ERR_UNSUPPORTED_DATAREP MPI_ERR_UNSUPPORTED_DATAREP
121#define sc_MPI_ERR_UNSUPPORTED_OPERATION MPI_ERR_UNSUPPORTED_OPERATION
122#define sc_MPI_ERR_NO_SUCH_FILE MPI_ERR_NO_SUCH_FILE
123#define sc_MPI_ERR_FILE_EXISTS MPI_ERR_FILE_EXISTS
124#define sc_MPI_ERR_BAD_FILE MPI_ERR_BAD_FILE
125#define sc_MPI_ERR_ACCESS MPI_ERR_ACCESS
126#define sc_MPI_ERR_NO_SPACE MPI_ERR_NO_SPACE
127#define sc_MPI_ERR_QUOTA MPI_ERR_QUOTA
128#define sc_MPI_ERR_READ_ONLY MPI_ERR_READ_ONLY
129#define sc_MPI_ERR_FILE_IN_USE MPI_ERR_FILE_IN_USE
130#define sc_MPI_ERR_DUP_DATAREP MPI_ERR_DUP_DATAREP
131#define sc_MPI_ERR_CONVERSION MPI_ERR_CONVERSION
132#define sc_MPI_ERR_IO MPI_ERR_IO
134#define sc_MPI_ERR_LASTCODE MPI_ERR_LASTCODE
138typedef enum sc_MPI_IO_Errorcode
160sc_MPI_IO_Errorcode_t;
164#define sc_MPI_COMM_NULL MPI_COMM_NULL
165#define sc_MPI_COMM_WORLD MPI_COMM_WORLD
166#define sc_MPI_COMM_SELF MPI_COMM_SELF
167#define sc_MPI_COMM_TYPE_SHARED MPI_COMM_TYPE_SHARED
169#define sc_MPI_GROUP_NULL MPI_GROUP_NULL
170#define sc_MPI_GROUP_EMPTY MPI_GROUP_EMPTY
172#define sc_MPI_IDENT MPI_IDENT
173#define sc_MPI_CONGRUENT MPI_CONGRUENT
174#define sc_MPI_SIMILAR MPI_SIMILAR
175#define sc_MPI_UNEQUAL MPI_UNEQUAL
177#define sc_MPI_ANY_SOURCE MPI_ANY_SOURCE
178#define sc_MPI_ANY_TAG MPI_ANY_TAG
179#define sc_MPI_STATUS_IGNORE MPI_STATUS_IGNORE
180#define sc_MPI_STATUSES_IGNORE MPI_STATUSES_IGNORE
182#define sc_MPI_REQUEST_NULL MPI_REQUEST_NULL
184#define sc_MPI_DATATYPE_NULL MPI_DATATYPE_NULL
185#define sc_MPI_CHAR MPI_CHAR
186#define sc_MPI_SIGNED_CHAR MPI_SIGNED_CHAR
187#define sc_MPI_UNSIGNED_CHAR MPI_UNSIGNED_CHAR
188#define sc_MPI_BYTE MPI_BYTE
189#define sc_MPI_SHORT MPI_SHORT
190#define sc_MPI_UNSIGNED_SHORT MPI_UNSIGNED_SHORT
191#define sc_MPI_INT MPI_INT
192#define sc_MPI_2INT MPI_2INT
193#define sc_MPI_UNSIGNED MPI_UNSIGNED
194#define sc_MPI_LONG MPI_LONG
195#define sc_MPI_UNSIGNED_LONG MPI_UNSIGNED_LONG
196#define sc_MPI_LONG_LONG_INT MPI_LONG_LONG_INT
197#define sc_MPI_UNSIGNED_LONG_LONG MPI_UNSIGNED_LONG_LONG
198#define sc_MPI_FLOAT MPI_FLOAT
199#define sc_MPI_DOUBLE MPI_DOUBLE
200#define sc_MPI_LONG_DOUBLE MPI_LONG_DOUBLE
202#define sc_MPI_OP_NULL MPI_OP_NULL
203#define sc_MPI_MAX MPI_MAX
204#define sc_MPI_MIN MPI_MIN
205#define sc_MPI_LAND MPI_LAND
206#define sc_MPI_BAND MPI_BAND
207#define sc_MPI_LOR MPI_LOR
208#define sc_MPI_BOR MPI_BOR
209#define sc_MPI_LXOR MPI_LXOR
210#define sc_MPI_BXOR MPI_BXOR
211#define sc_MPI_MINLOC MPI_MINLOC
212#define sc_MPI_MAXLOC MPI_MAXLOC
213#define sc_MPI_REPLACE MPI_REPLACE
214#define sc_MPI_SUM MPI_SUM
215#define sc_MPI_PROD MPI_PROD
217#define sc_MPI_UNDEFINED MPI_UNDEFINED
219#define sc_MPI_KEYVAL_INVALID MPI_KEYVAL_INVALID
223#define sc_MPI_Comm MPI_Comm
224#define sc_MPI_Group MPI_Group
225#define sc_MPI_Datatype MPI_Datatype
226#define sc_MPI_Op MPI_Op
227#define sc_MPI_Request MPI_Request
228#define sc_MPI_Status MPI_Status
229#define sc_MPI_Info MPI_Info
233#define sc_MPI_INFO_NULL MPI_INFO_NULL
237#define sc_MPI_Init MPI_Init
239#define sc_MPI_Finalize MPI_Finalize
240#define sc_MPI_Abort MPI_Abort
241#define sc_MPI_Alloc_mem MPI_Alloc_mem
242#define sc_MPI_Free_mem MPI_Free_mem
243#define sc_MPI_Comm_set_attr MPI_Comm_set_attr
244#define sc_MPI_Comm_get_attr MPI_Comm_get_attr
245#define sc_MPI_Comm_delete_attr MPI_Comm_delete_attr
246#define sc_MPI_Comm_create_keyval MPI_Comm_create_keyval
247#define sc_MPI_Comm_dup MPI_Comm_dup
248#define sc_MPI_Comm_create MPI_Comm_create
249#define sc_MPI_Comm_split MPI_Comm_split
250#define sc_MPI_Comm_split_type MPI_Comm_split_type
251#define sc_MPI_Comm_free MPI_Comm_free
252#define sc_MPI_Comm_size MPI_Comm_size
253#define sc_MPI_Comm_rank MPI_Comm_rank
254#define sc_MPI_Comm_compare MPI_Comm_compare
255#define sc_MPI_Comm_group MPI_Comm_group
256#define sc_MPI_Group_free MPI_Group_free
257#define sc_MPI_Group_size MPI_Group_size
258#define sc_MPI_Group_rank MPI_Group_rank
259#define sc_MPI_Group_translate_ranks MPI_Group_translate_ranks
260#define sc_MPI_Group_compare MPI_Group_compare
261#define sc_MPI_Group_union MPI_Group_union
262#define sc_MPI_Group_intersection MPI_Group_intersection
263#define sc_MPI_Group_difference MPI_Group_difference
264#define sc_MPI_Group_incl MPI_Group_incl
265#define sc_MPI_Group_excl MPI_Group_excl
266#define sc_MPI_Group_range_incl MPI_Group_range_incl
267#define sc_MPI_Group_range_excl MPI_Group_range_excl
268#define sc_MPI_Barrier MPI_Barrier
269#define sc_MPI_Bcast MPI_Bcast
270#define sc_MPI_Gather MPI_Gather
271#define sc_MPI_Gatherv MPI_Gatherv
272#define sc_MPI_Allgather MPI_Allgather
273#define sc_MPI_Allgatherv MPI_Allgatherv
274#define sc_MPI_Alltoall MPI_Alltoall
275#define sc_MPI_Reduce MPI_Reduce
276#define sc_MPI_Reduce_scatter_block MPI_Reduce_scatter_block
277#define sc_MPI_Allreduce MPI_Allreduce
278#define sc_MPI_Scan MPI_Scan
279#define sc_MPI_Exscan MPI_Exscan
280#define sc_MPI_Recv MPI_Recv
281#define sc_MPI_Irecv MPI_Irecv
282#define sc_MPI_Send MPI_Send
283#define sc_MPI_Isend MPI_Isend
284#define sc_MPI_Probe MPI_Probe
285#define sc_MPI_Iprobe MPI_Iprobe
286#define sc_MPI_Get_count MPI_Get_count
287#define sc_MPI_Wtime MPI_Wtime
288#define sc_MPI_Wait MPI_Wait
290#define sc_MPI_Type_size MPI_Type_size
297#define sc_MPI_SUCCESS SC3_MPI_SUCCESS
298#define sc_MPI_ERR_ARG SC3_MPI_ERR_ARG
299#define sc_MPI_ERR_UNKNOWN SC3_MPI_ERR_UNKNOWN
300#define sc_MPI_ERR_OTHER SC3_MPI_ERR_OTHER
301#define sc_MPI_ERR_NO_MEM SC3_MPI_ERR_NO_MEM
302#define sc_MPI_ERR_FILE SC3_MPI_ERR_FILE
303#define sc_MPI_ERR_NOT_SAME SC3_MPI_ERR_NOT_SAME
304#define sc_MPI_ERR_AMODE SC3_MPI_ERR_AMODE
306#define sc_MPI_ERR_UNSUPPORTED_DATAREP SC3_MPI_ERR_UNSUPPORTED_DATAREP
308#define sc_MPI_ERR_UNSUPPORTED_OPERATION SC3_MPI_ERR_UNSUPPORTED_OPERATION
310#define sc_MPI_ERR_NO_SUCH_FILE SC3_MPI_ERR_NO_SUCH_FILE
311#define sc_MPI_ERR_FILE_EXISTS SC3_MPI_ERR_FILE_EXISTS
312#define sc_MPI_ERR_BAD_FILE SC3_MPI_ERR_BAD_FILE
313#define sc_MPI_ERR_ACCESS SC3_MPI_ERR_ACCESS
314#define sc_MPI_ERR_NO_SPACE SC3_MPI_ERR_NO_SPACE
315#define sc_MPI_ERR_QUOTA SC3_MPI_ERR_QUOTA
316#define sc_MPI_ERR_READ_ONLY SC3_MPI_ERR_READ_ONLY
317#define sc_MPI_ERR_FILE_IN_USE SC3_MPI_ERR_FILE_IN_USE
318#define sc_MPI_ERR_DUP_DATAREP SC3_MPI_ERR_DUP_DATAREP
319#define sc_MPI_ERR_CONVERSION SC3_MPI_ERR_CONVERSION
320#define sc_MPI_ERR_IO SC3_MPI_ERR_IO
321#define sc_MPI_ERR_LASTCODE SC3_MPI_ERR_LASTCODE
324#define sc_MPI_MAX_ERROR_STRING SC3_MPI_MAX_ERROR_STRING
326#define sc_MPI_COMM_NULL SC3_MPI_COMM_NULL
327#define sc_MPI_COMM_WORLD SC3_MPI_COMM_WORLD
328#define sc_MPI_COMM_SELF SC3_MPI_COMM_SELF
331#define sc_MPI_GROUP_NULL ((sc_MPI_Group) 0x54000000)
333#define sc_MPI_GROUP_EMPTY ((sc_MPI_Group) 0x54000001)
336#define sc_MPI_IDENT (1)
337#define sc_MPI_CONGRUENT (2)
338#define sc_MPI_SIMILAR (3)
339#define sc_MPI_UNEQUAL (-1)
341#define sc_MPI_ANY_SOURCE (-2)
342#define sc_MPI_ANY_TAG (-1)
343#define sc_MPI_STATUS_IGNORE (sc_MPI_Status *) 1
344#define sc_MPI_STATUSES_IGNORE (sc_MPI_Status *) 1
346#define sc_MPI_REQUEST_NULL ((sc_MPI_Request) 0x2c000000)
347#define sc_MPI_DATATYPE_NULL SC3_MPI_DATATYPE_NULL
349#define sc_MPI_CHAR ((sc_MPI_Datatype) 0x4c000101)
350#define sc_MPI_SIGNED_CHAR ((sc_MPI_Datatype) 0x4c000118)
351#define sc_MPI_UNSIGNED_CHAR ((sc_MPI_Datatype) 0x4c000102)
352#define sc_MPI_BYTE SC3_MPI_BYTE
353#define sc_MPI_SHORT ((sc_MPI_Datatype) 0x4c000203)
354#define sc_MPI_UNSIGNED_SHORT ((sc_MPI_Datatype) 0x4c000204)
355#define sc_MPI_INT SC3_MPI_INT
356#define sc_MPI_2INT SC3_MPI_2INT
357#define sc_MPI_UNSIGNED SC3_MPI_UNSIGNED
358#define sc_MPI_LONG SC3_MPI_LONG
359#define sc_MPI_UNSIGNED_LONG ((sc_MPI_Datatype) 0x4c000408)
360#define sc_MPI_LONG_LONG_INT SC3_MPI_LONG_LONG
361#define sc_MPI_UNSIGNED_LONG_LONG ((sc_MPI_Datatype) 0x4c000409)
362#define sc_MPI_FLOAT SC3_MPI_FLOAT
363#define sc_MPI_DOUBLE SC3_MPI_DOUBLE
364#define sc_MPI_DOUBLE_INT SC3_MPI_DOUBLE_INT
365#define sc_MPI_LONG_DOUBLE ((sc_MPI_Datatype) 0x4c000c0c)
367#define sc_MPI_OP_NULL SC3_MPI_OP_NULL
368#define sc_MPI_MINLOC SC3_MPI_MINLOC
369#define sc_MPI_MAXLOC SC3_MPI_MAXLOC
370#define sc_MPI_LOR SC3_MPI_LOR
371#define sc_MPI_LAND SC3_MPI_LAND
372#define sc_MPI_LXOR SC3_MPI_LXOR
373#define sc_MPI_BOR SC3_MPI_BOR
374#define sc_MPI_BAND SC3_MPI_BAND
375#define sc_MPI_BXOR SC3_MPI_BXOR
376#define sc_MPI_REPLACE SC3_MPI_REPLACE
377#define sc_MPI_PROD SC3_MPI_PROD
380#define sc_MPI_MIN SC3_MPI_MIN
381#define sc_MPI_MAX SC3_MPI_MAX
382#define sc_MPI_SUM SC3_MPI_SUM
385#define sc_MPI_UNDEFINED SC3_MPI_UNDEFINED
409#define sc_MPI_INFO_NULL NULL
427 __attribute__ ((noreturn));
504int sc_MPI_Reduce_scatter_block (
void *,
void *,
537int sc_MPI_Group_translate_ranks (
sc_MPI_Group,
int,
int *,
585#if defined SC_ENABLE_MPI && defined SC_ENABLE_MPITHREAD
587#define sc_MPI_THREAD_SINGLE MPI_THREAD_SINGLE
588#define sc_MPI_THREAD_FUNNELED MPI_THREAD_FUNNELED
589#define sc_MPI_THREAD_SERIALIZED MPI_THREAD_SERIALIZED
590#define sc_MPI_THREAD_MULTIPLE MPI_THREAD_MULTIPLE
592#define sc_MPI_Init_thread MPI_Init_thread
597#define sc_MPI_THREAD_SINGLE 0
598#define sc_MPI_THREAD_FUNNELED 1
599#define sc_MPI_THREAD_SERIALIZED 2
600#define sc_MPI_THREAD_MULTIPLE 3
603int sc_MPI_Init_thread (
int *argc,
char ***argv,
604 int required,
int *provided);
608#ifdef SC_ENABLE_MPIIO
612#define sc_MPI_MODE_RDONLY MPI_MODE_RDONLY
613#define sc_MPI_MODE_RDWR MPI_MODE_RDWR
614#define sc_MPI_MODE_WRONLY MPI_MODE_WRONLY
615#define sc_MPI_MODE_CREATE MPI_MODE_CREATE
616#define sc_MPI_MODE_EXCL MPI_MODE_EXCL
617#define sc_MPI_MODE_DELETE_ON_CLOSE MPI_MODE_DELETE_ON_CLOSE
618#define sc_MPI_MODE_UNIQUE_OPEN MPI_MODE_UNIQUE_OPEN
619#define sc_MPI_MODE_SEQUENTIAL MPI_MODE_SEQUENTIAL
620#define sc_MPI_MODE_APPEND MPI_MODE_APPEND
624#define sc_MPI_SEEK_SET MPI_SEEK_SET
625#define sc_MPI_SEEK_CUR MPI_SEEK_CUR
626#define sc_MPI_SEEK_END MPI_SEEK_END
630#define sc_MPI_Offset MPI_Offset
632#define sc_MPI_File MPI_File
633#define sc_MPI_FILE_NULL MPI_FILE_NULL
635#define sc_MPI_File_open MPI_File_open
636#define sc_MPI_File_close MPI_File_close
638#define sc_MPI_File_get_view MPI_File_get_view
639#define sc_MPI_File_set_view MPI_File_set_view
641#define sc_MPI_File_write_all MPI_File_write_all
642#define sc_MPI_File_read_all MPI_File_read_all
644#define sc_MPI_File_write_at_all MPI_File_write_at_all
645#define sc_MPI_File_read_at_all MPI_File_read_at_all
647#define sc_MPI_File_get_size MPI_File_get_size
648#define sc_MPI_File_set_size MPI_File_set_size
669#define sc_MPI_FILE_NULL NULL
718void sc_mpi_comm_attach_node_comms (
sc_MPI_Comm comm,
719 int processes_per_node);
729void sc_mpi_comm_detach_node_comms (
sc_MPI_Comm comm);
We provide MPI replacement data types for configuring without MPI.
enum sc3_MPI_Op sc3_MPI_Op_t
We wrap the MPI operation types we use.
struct sc3_MPI_Info * sc3_MPI_Info_t
Wrapped MPI info object.
Definition: sc3_mpi_types.h:155
enum sc3_MPI_Datatype sc3_MPI_Datatype_t
We wrap the MPI datatypes we use.
struct sc3_MPI_Comm * sc3_MPI_Comm_t
Wrapped MPI communicator.
Definition: sc3_mpi_types.h:151
#define sc_MPI_ERR_NO_SUCH_FILE
Emulate SC_MPI_ERR_NO_SUCH_FILE.
Definition: sc_mpi.h:310
int sc_MPI_Comm_free(sc_MPI_Comm *freecomm)
Free a previously created MPI communicator.
int sc_MPI_Error_class(int errorcode, int *errorclass)
Turn an MPI error code into its error class.
#define sc_MPI_ERR_LASTCODE
Emulate SC_MPI_ERR_LASTCODE.
Definition: sc_mpi.h:321
size_t sc_mpi_sizeof(sc_MPI_Datatype t)
Return the size of MPI data types.
#define sc_MPI_ERR_CONVERSION
Emulate SC_MPI_ERR_CONVERSION.
Definition: sc_mpi.h:319
int sc_MPI_Group_size(sc_MPI_Group mpigroup, int *size)
Query size of an MPI group.
#define sc_MPI_ERR_BAD_FILE
Emulate SC_MPI_ERR_BAD_FILE.
Definition: sc_mpi.h:312
int sc_MPI_Allreduce(void *, void *, int, sc_MPI_Datatype, sc_MPI_Op, sc_MPI_Comm)
Execute the MPI_Allreduce algorithm.
#define sc_MPI_ERR_FILE
Emulate SC_MPI_ERR_FILE.
Definition: sc_mpi.h:302
sc3_MPI_Datatype_t sc_MPI_Datatype
Emulate MPI datatypes.
Definition: sc_mpi.h:393
int sc_MPI_Reduce(void *, void *, int, sc_MPI_Datatype, sc_MPI_Op, int, sc_MPI_Comm)
Execute the MPI_Reduce algorithm.
#define sc_MPI_ERR_READ_ONLY
Emulate SC_MPI_ERR_READ_ONLY.
Definition: sc_mpi.h:316
int sc_MPI_Bcast(void *, int, sc_MPI_Datatype, int, sc_MPI_Comm)
Execute the MPI_Bcast algorithm.
int sc_MPI_Type_size(sc_MPI_Datatype datatype, int *size)
Return size of an MPI datatype.
struct sc_no_mpiio_file * sc_MPI_File
Replacement object for an MPI file.
Definition: sc_mpi.h:667
int sc_MPI_Exscan(void *, void *, int, sc_MPI_Datatype, sc_MPI_Op, sc_MPI_Comm)
Execute the MPI_Exscan algorithm.
#define sc_MPI_ERR_DUP_DATAREP
Emulate SC_MPI_ERR_DUP_DATAREP.
Definition: sc_mpi.h:318
int sc_MPI_Alltoall(void *, int, sc_MPI_Datatype, void *, int, sc_MPI_Datatype, sc_MPI_Comm)
Execute the MPI_Alltoall algorithm.
int sc_MPI_Finalize(void)
MPI finalization.
#define sc_MPI_ERR_UNSUPPORTED_DATAREP
Emulate SC_MPI_ERR_UNSUPPORTED_DATAREP.
Definition: sc_mpi.h:306
#define sc_MPI_ERR_QUOTA
Emulate SC_MPI_ERR_QUOTA.
Definition: sc_mpi.h:315
int sc_MPI_Group_rank(sc_MPI_Group mpigroup, int *rank)
Query rank of an MPI process within a group.
sc_tag_t
Enumerate all MPI tags used internally to the sc library.
Definition: sc_mpi.h:79
@ SC_TAG_AG_ALLTOALL
Used in MPI alltoall replacement.
Definition: sc_mpi.h:81
@ SC_TAG_REDUCE
Used in MPI reduce replacement.
Definition: sc_mpi.h:98
@ SC_TAG_AG_RECURSIVE_C
Internal tag; do not use.
Definition: sc_mpi.h:84
@ SC_TAG_LAST
End marker of tag enumeration.
Definition: sc_mpi.h:101
@ SC_TAG_NOTIFY_RANGES
Internal tag to sc_notify.
Definition: sc_mpi.h:91
@ SC_TAG_PSORT_LO
Internal tag to sc_psort.
Definition: sc_mpi.h:99
@ SC_TAG_AG_RECURSIVE_A
Internal tag; do not use.
Definition: sc_mpi.h:82
@ SC_TAG_NOTIFY_CENSUSV
Internal tag to sc_notify.
Definition: sc_mpi.h:86
@ SC_TAG_NOTIFY_WRAPPERV
Internal tag to sc_notify.
Definition: sc_mpi.h:90
@ SC_TAG_NOTIFY_RECURSIVE
Internal tag to sc_notify.
Definition: sc_mpi.h:95
@ SC_TAG_NOTIFY_NBXV
Internal tag to sc_notify.
Definition: sc_mpi.h:88
@ SC_TAG_NOTIFY_WRAPPER
Internal tag to sc_notify.
Definition: sc_mpi.h:89
@ SC_TAG_NOTIFY_NBX
Internal tag to sc_notify.
Definition: sc_mpi.h:87
@ SC_TAG_NOTIFY_CENSUS
Internal tag to sc_notify.
Definition: sc_mpi.h:85
@ SC_TAG_NOTIFY_SUPER_EXTRA
Internal tag to sc_notify.
Definition: sc_mpi.h:94
@ SC_TAG_NOTIFY_SUPER_TRUE
Internal tag to sc_notify.
Definition: sc_mpi.h:93
@ SC_TAG_FIRST
Anything really.
Definition: sc_mpi.h:80
@ SC_TAG_NOTIFY_NARY
Internal tag to sc_notify.
Definition: sc_mpi.h:97
@ SC_TAG_AG_RECURSIVE_B
Internal tag; do not use.
Definition: sc_mpi.h:83
@ SC_TAG_NOTIFY_PAYLOAD
Internal tag to sc_notify.
Definition: sc_mpi.h:92
@ SC_TAG_PSORT_HI
Internal tag to sc_psort.
Definition: sc_mpi.h:100
int sc_MPI_Group
Emulate an MPI group.
Definition: sc_mpi.h:389
int sc_MPI_Barrier(sc_MPI_Comm mpicomm)
Execute a parallel barrier.
sc3_MPI_Comm_t sc_MPI_Comm
Emulate an MPI communicator.
Definition: sc_mpi.h:391
int sc_MPI_Abort(sc_MPI_Comm mpicomm, int ecode)
Abort an MPI program.
#define sc_MPI_ERR_FILE_IN_USE
Emulate SC_MPI_ERR_FILE_IN_USE.
Definition: sc_mpi.h:317
int sc_MPI_Comm_rank(sc_MPI_Comm mpicomm, int *mpirank)
Query rank of an MPI process within a communicator.
double sc_MPI_Wtime(void)
Execute the MPI_Wtime function.
int sc_MPI_Allgatherv(void *, int, sc_MPI_Datatype, void *, int *, int *, sc_MPI_Datatype, sc_MPI_Comm)
Execute the MPI_Allgatherv algorithm.
sc3_MPI_Info_t sc_MPI_Info
Emulate an MPI Info object.
Definition: sc_mpi.h:392
#define sc_MPI_ERR_AMODE
Emulate SC_MPI_ERR_AMODE .
Definition: sc_mpi.h:304
#define sc_MPI_ERR_IO
Emulate SC_MPI_ERR_IO.
Definition: sc_mpi.h:320
int sc_MPI_Allgather(void *, int, sc_MPI_Datatype, void *, int, sc_MPI_Datatype, sc_MPI_Comm)
Execute the MPI_Allgather algorithm.
int sc_MPI_Init(int *argc, char ***argv)
MPI initialization.
#define sc_MPI_ERR_FILE_EXISTS
Emulate SC_MPI_ERR_FILE_EXISTS.
Definition: sc_mpi.h:311
int sc_MPI_Request
Emulate an MPI request.
Definition: sc_mpi.h:390
int sc_MPI_Scan(void *, void *, int, sc_MPI_Datatype, sc_MPI_Op, sc_MPI_Comm)
Execute the MPI_Scan algorithm.
#define sc_MPI_ERR_ACCESS
Emulate SC_MPI_ERR_ACCESS.
Definition: sc_mpi.h:313
long sc_MPI_Offset
Emulate the MPI offset type.
Definition: sc_mpi.h:652
sc3_MPI_Op_t sc_MPI_Op
Emulate MPI operations.
Definition: sc_mpi.h:394
#define sc_MPI_ERR_NOT_SAME
Emulate SC_MPI_ERR_NOT_SAME.
Definition: sc_mpi.h:303
int sc_MPI_Comm_split(sc_MPI_Comm, int, int, sc_MPI_Comm *)
Return the input communicator in lieu of splitting.
struct sc_MPI_Status sc_MPI_Status
Replacement of MPI_Status for non-MPI configuration.
int sc_MPI_Comm_size(sc_MPI_Comm mpicomm, int *mpisize)
Query size of an MPI communicator.
#define sc_MPI_ERR_UNSUPPORTED_OPERATION
Emulate SC_MPI_ERR_UNSUPPORTED_OPERATION.
Definition: sc_mpi.h:308
#define sc_MPI_ERR_NO_SPACE
Emulate SC_MPI_ERR_NO_SPACE.
Definition: sc_mpi.h:314
int sc_MPI_Error_string(int errorcode, char *string, int *resultlen)
Turn MPI error code into a string.
int sc_MPI_Comm_dup(sc_MPI_Comm mpicomm, sc_MPI_Comm *dupcomm)
Duplicate an MPI communicator.
Replacement of MPI_Status for non-MPI configuration.
Definition: sc_mpi.h:398
int MPI_ERROR
Error occurred.
Definition: sc_mpi.h:403
int MPI_TAG
Tag of the message.
Definition: sc_mpi.h:402
int cancelled
Cancellation occurred.
Definition: sc_mpi.h:400
int count
Bytes sent/received.
Definition: sc_mpi.h:399
int MPI_SOURCE
Rank of the source.
Definition: sc_mpi.h:401
Replacement structure for MPI_File.
Definition: sc_mpi.h:658
FILE * file
Underlying file object.
Definition: sc_mpi.h:661
const char * filename
Name of the file.
Definition: sc_mpi.h:660
int mpirank
Rank of this process.
Definition: sc_mpi.h:663
int mpisize
Ranks in communicator.
Definition: sc_mpi.h:662
sc_MPI_Comm mpicomm
The MPI communicator.
Definition: sc_mpi.h:659