SIONlib
1.7.6
Scalable I/O library for parallel access to task-local files
src
parlib
sion_mpi_internal_gen.h
Go to the documentation of this file.
1
/****************************************************************************
2
** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3
*****************************************************************************
4
** Copyright (c) 2008-2019 **
5
** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6
** **
7
** See the file COPYRIGHT in the package base directory for details **
8
****************************************************************************/
9
14
#ifndef SION_SION_MPI_INTERNAL_GEN_H
15
#define SION_SION_MPI_INTERNAL_GEN_H
16
17
#ifdef SION_MPI
18
19
#include "mpi.h"
20
21
#include "
sion_const.h
"
22
23
#define USE_PMPIno
24
#ifdef USE_PMPI
25
#define MPI_Comm_rank PMPI_Comm_rank
26
#define MPI_Comm_size PMPI_Comm_size
27
#define MPI_Gather PMPI_Gather
28
#define MPI_Scatter PMPI_Scatter
29
#define MPI_Bcast PMPI_Bcast
30
#define MPI_Barrier PMPI_Barrier
31
#define MPI_Comm_split PMPI_Comm_split
32
#define MPI_Send PMPI_Send
33
#define MPI_Recv PMPI_Recv
34
#endif
35
36
struct
_sion_filedesc_mpiadd_struct
{
37
MPI_Comm gComm;
38
MPI_Comm lComm;
39
double
ts;
40
int
blocksize;
41
int
step;
42
};
43
typedef
struct
_sion_filedesc_mpiadd_struct
_sion_filedesc_mpiadd
;
44
45
int
_sion_gen_info_from_gcomm_mpi
(
int
numFiles, MPI_Comm gComm,
int
*filenumber,
int
*lrank,
int
*lsize);
46
int
_sion_get_info_from_splitted_comm_mpi(MPI_Comm gComm, MPI_Comm lComm,
int
*numComm,
int
*CommNumber,
int
*lrank,
int
*lsize);
47
48
int
_sion_get_numfiles_from_file_mpi(
char
*fname);
49
int
_sion_get_filenumber_from_files_mpi(
char
*fname, MPI_Comm gComm,
int
*numfiles,
int
*filenumber,
int
*lRank);
50
int
_sion_errorprint_mpi(
int
rc,
int
level,
const
char
*format, ...);
51
52
#endif
53
54
#endif
sion_const.h
_sion_gen_info_from_gcomm_mpi
int _sion_gen_info_from_gcomm_mpi(int numFiles, MPI_Comm gComm, int *filenumber, int *lrank, int *lsize)
Splits a Communicator in numfiles different communicators.
Definition:
sion_mpi_internal_gen.c:72
_sion_filedesc_mpiadd_struct
Definition:
sion_mpi_internal_gen.h:35
Generated by
1.8.16