File: iread_atf.c

package info (click to toggle)
openmpi 5.0.8-4
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 201,684 kB
  • sloc: ansic: 613,078; makefile: 42,353; sh: 11,194; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,179; python: 1,859; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (130 lines) | stat: -rw-r--r-- 4,687 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
 * Copyright (C) by Argonne National Laboratory
 *     See COPYRIGHT in top-level directory
 */

#include "adio.h"
#include "mpio.h"


#if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)

#if defined(HAVE_WEAK_SYMBOLS)
#if defined(HAVE_PRAGMA_WEAK)
#if defined(FORTRANCAPS)
extern FORTRAN_API void FORT_CALL MPI_FILE_IREAD_AT(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
                                                    MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak MPI_FILE_IREAD_AT = PMPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
extern FORTRAN_API void FORT_CALL mpi_file_iread_at__(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
                                                      MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak mpi_file_iread_at__ = pmpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
extern FORTRAN_API void FORT_CALL mpi_file_iread_at(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
                                                    MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak mpi_file_iread_at = pmpi_file_iread_at
#else
extern FORTRAN_API void FORT_CALL mpi_file_iread_at_(MPI_Fint *, MPI_Offset *, void *, MPI_Fint *,
                                                     MPI_Fint *, MPI_Fint *, MPI_Fint *);
#pragma weak mpi_file_iread_at_ = pmpi_file_iread_at_
#endif

#elif defined(HAVE_PRAGMA_HP_SEC_DEF)
#if defined(FORTRANCAPS)
#pragma _HP_SECONDARY_DEF PMPI_FILE_IREAD_AT MPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at__ mpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at mpi_file_iread_at
#else
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at_ mpi_file_iread_at_
#endif

#elif defined(HAVE_PRAGMA_CRI_DUP)
#if defined(FORTRANCAPS)
#pragma _CRI duplicate MPI_FILE_IREAD_AT as PMPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#pragma _CRI duplicate mpi_file_iread_at__ as pmpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#pragma _CRI duplicate mpi_file_iread_at as pmpi_file_iread_at
#else
#pragma _CRI duplicate mpi_file_iread_at_ as pmpi_file_iread_at_
#endif

/* end of weak pragmas */
#endif
/* Include mapping from MPI->PMPI */
#include "mpioprof.h"
#endif

#ifdef FORTRANCAPS
#define mpi_file_iread_at_ PMPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#define mpi_file_iread_at_ pmpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at pmpi_file_iread_at_
#endif
#define mpi_file_iread_at_ pmpi_file_iread_at
#else
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF pmpi_file_iread_at_ pmpi_file_iread_at
#endif
#define mpi_file_iread_at_ pmpi_file_iread_at_
#endif

#else

#ifdef FORTRANCAPS
#define mpi_file_iread_at_ MPI_FILE_IREAD_AT
#elif defined(FORTRANDOUBLEUNDERSCORE)
#define mpi_file_iread_at_ mpi_file_iread_at__
#elif !defined(FORTRANUNDERSCORE)
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF mpi_file_iread_at mpi_file_iread_at_
#endif
#define mpi_file_iread_at_ mpi_file_iread_at
#else
#if defined(HPUX) || defined(SPPUX)
#pragma _HP_SECONDARY_DEF mpi_file_iread_at_ mpi_file_iread_at
#endif
#endif
#endif

#if defined(MPIHP)
/* Prototype to keep compiler happy */
void mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
                        MPI_Fint * count, MPI_Fint * datatype, MPI_Fint * request, MPI_Fint * ierr);

void mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
                        MPI_Fint * count, MPI_Fint * datatype, MPI_Fint * request, MPI_Fint * ierr)
{
    MPI_File fh_c;
    MPIO_Request req_c;
    MPI_Datatype datatype_c;

    fh_c = MPI_File_f2c(*fh);
    datatype_c = MPI_Type_f2c(*datatype);

    *ierr = MPI_File_iread_at(fh_c, *offset, buf, *count, datatype_c, &req_c);

    *request = MPIO_Request_c2f(req_c);
}
#else
/* Prototype to keep compiler happy */
FORTRAN_API void FORT_CALL mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
                                              MPI_Fint * count, MPI_Datatype * datatype,
                                              MPI_Fint * request, MPI_Fint * ierr);

FORTRAN_API void FORT_CALL mpi_file_iread_at_(MPI_Fint * fh, MPI_Offset * offset, void *buf,
                                              MPI_Fint * count, MPI_Datatype * datatype,
                                              MPI_Fint * request, MPI_Fint * ierr)
{
    MPI_File fh_c;
    MPIO_Request req_c;

    fh_c = MPI_File_f2c(*fh);
    *ierr = MPI_File_iread_at(fh_c, *offset, buf, *count, *datatype, &req_c);
    *request = MPIO_Request_c2f(req_c);
}
#endif