Skip to content

Commit e9aab63

Browse files
authored
Merge pull request #2294 from ggouaillardet/topic/fortran_use_mpi_tkr
fortran/use-mpi-tkr misc fixes
2 parents 9d92075 + bf78976 commit e9aab63

File tree

8 files changed

+3394
-869
lines changed

8 files changed

+3394
-869
lines changed

ompi/mpi/fortran/use-mpi-tkr/Makefile.am

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
1414
# Copyright (c) 2007 Los Alamos National Security, LLC. All rights
1515
# reserved.
16-
# Copyright (c) 2014-2015 Research Organization for Information Science
16+
# Copyright (c) 2014-2016 Research Organization for Information Science
1717
# and Technology (RIST). All rights reserved.
1818
# Copyright (c) 2016 IBM Corporation. All rights reserved.
1919
# $COPYRIGHT$
@@ -58,8 +58,12 @@ lib_LTLIBRARIES += lib@OMPI_LIBMPI_NAME@_usempi.la
5858

5959
mpi.lo: mpi.F90
6060
mpi.lo: mpi-f90-interfaces.h
61+
mpi.lo: mpi-f90-file-interfaces.h
6162
mpi.lo: $(top_builddir)/ompi/mpi/fortran/configure-fortran-output.h
62-
mpi.lo: mpi-f90-cptr-interfaces.F90
63+
mpi.lo: mpi-f90-cptr-interfaces.h
64+
mpi.lo: pmpi-f90-interfaces.h
65+
mpi.lo: pmpi-f90-file-interfaces.h
66+
mpi.lo: pmpi-f90-cptr-interfaces.h
6367

6468
# Per MPI-3 p610:34-41, if we're building a TKR mpi module, we should
6569
# not build any interfaces for MPI subroutines that take a choice
@@ -162,5 +166,9 @@ endif
162166

163167
EXTRA_DIST = \
164168
mpi-f90-interfaces.h \
165-
mpi-f90-cptr-interfaces.F90
169+
mpi-f90-file-interfaces.h \
170+
mpi-f90-cptr-interfaces.h \
171+
pmpi-f90-interfaces.h \
172+
pmpi-f90-file-interfaces.h \
173+
pmpi-f90-cptr-interfaces.h
166174

Lines changed: 321 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,321 @@
1+
! -*- fortran -*-
2+
!
3+
! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
4+
! University Research and Technology
5+
! Corporation. All rights reserved.
6+
! Copyright (c) 2004-2005 The University of Tennessee and The University
7+
! of Tennessee Research Foundation. All rights
8+
! reserved.
9+
! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
10+
! University of Stuttgart. All rights reserved.
11+
! Copyright (c) 2004-2005 The Regents of the University of California.
12+
! All rights reserved.
13+
! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
14+
! Copyright (c) 2016 Research Organization for Information Science
15+
! and Technology (RIST). All rights reserved.
16+
! $COPYRIGHT$
17+
!
18+
! Additional copyrights may follow
19+
!
20+
! $HEADER$
21+
!
22+
23+
interface MPI_File_call_errhandler
24+
25+
subroutine MPI_File_call_errhandler(fh, errorcode, ierror)
26+
integer, intent(in) :: fh
27+
integer, intent(in) :: errorcode
28+
integer, intent(out) :: ierror
29+
end subroutine MPI_File_call_errhandler
30+
31+
end interface
32+
33+
34+
interface MPI_File_close
35+
36+
subroutine MPI_File_close(fh, ierror)
37+
integer, intent(inout) :: fh
38+
integer, intent(out) :: ierror
39+
end subroutine MPI_File_close
40+
41+
end interface
42+
43+
44+
interface MPI_File_create_errhandler
45+
46+
subroutine MPI_File_create_errhandler(function, errhandler, ierror)
47+
external :: function
48+
integer, intent(out) :: errhandler
49+
integer, intent(out) :: ierror
50+
end subroutine MPI_File_create_errhandler
51+
52+
end interface
53+
54+
55+
interface MPI_File_delete
56+
57+
subroutine MPI_File_delete(filename, info, ierror)
58+
character(len=*), intent(in) :: filename
59+
integer, intent(in) :: info
60+
integer, intent(out) :: ierror
61+
end subroutine MPI_File_delete
62+
63+
end interface
64+
65+
66+
interface MPI_File_get_amode
67+
68+
subroutine MPI_File_get_amode(fh, amode, ierror)
69+
integer, intent(in) :: fh
70+
integer, intent(out) :: amode
71+
integer, intent(out) :: ierror
72+
end subroutine MPI_File_get_amode
73+
74+
end interface
75+
76+
77+
interface MPI_File_get_atomicity
78+
79+
subroutine MPI_File_get_atomicity(fh, flag, ierror)
80+
integer, intent(in) :: fh
81+
logical, intent(out) :: flag
82+
integer, intent(out) :: ierror
83+
end subroutine MPI_File_get_atomicity
84+
85+
end interface
86+
87+
88+
interface MPI_File_get_byte_offset
89+
90+
subroutine MPI_File_get_byte_offset(fh, offset, disp, ierror)
91+
include 'mpif-config.h'
92+
integer, intent(in) :: fh
93+
integer(kind=MPI_OFFSET_KIND), intent(in) :: offset
94+
integer(kind=MPI_OFFSET_KIND), intent(out) :: disp
95+
integer, intent(out) :: ierror
96+
end subroutine MPI_File_get_byte_offset
97+
98+
end interface
99+
100+
101+
interface MPI_File_get_errhandler
102+
103+
subroutine MPI_File_get_errhandler(file, errhandler, ierror)
104+
integer, intent(in) :: file
105+
integer, intent(out) :: errhandler
106+
integer, intent(out) :: ierror
107+
end subroutine MPI_File_get_errhandler
108+
109+
end interface
110+
111+
112+
interface MPI_File_get_group
113+
114+
subroutine MPI_File_get_group(fh, group, ierror)
115+
integer, intent(in) :: fh
116+
integer, intent(out) :: group
117+
integer, intent(out) :: ierror
118+
end subroutine MPI_File_get_group
119+
120+
end interface
121+
122+
123+
interface MPI_File_get_info
124+
125+
subroutine MPI_File_get_info(fh, info_used, ierror)
126+
integer, intent(in) :: fh
127+
integer, intent(out) :: info_used
128+
integer, intent(out) :: ierror
129+
end subroutine MPI_File_get_info
130+
131+
end interface
132+
133+
134+
interface MPI_File_get_position
135+
136+
subroutine MPI_File_get_position(fh, offset, ierror)
137+
include 'mpif-config.h'
138+
integer, intent(in) :: fh
139+
integer(kind=MPI_OFFSET_KIND), intent(out) :: offset
140+
integer, intent(out) :: ierror
141+
end subroutine MPI_File_get_position
142+
143+
end interface
144+
145+
146+
interface MPI_File_get_position_shared
147+
148+
subroutine MPI_File_get_position_shared(fh, offset, ierror)
149+
include 'mpif-config.h'
150+
integer, intent(in) :: fh
151+
integer(kind=MPI_OFFSET_KIND), intent(out) :: offset
152+
integer, intent(out) :: ierror
153+
end subroutine MPI_File_get_position_shared
154+
155+
end interface
156+
157+
158+
interface MPI_File_get_size
159+
160+
subroutine MPI_File_get_size(fh, size, ierror)
161+
include 'mpif-config.h'
162+
integer, intent(in) :: fh
163+
integer(kind=MPI_OFFSET_KIND), intent(out) :: size
164+
integer, intent(out) :: ierror
165+
end subroutine MPI_File_get_size
166+
167+
end interface
168+
169+
170+
interface MPI_File_get_type_extent
171+
172+
subroutine MPI_File_get_type_extent(fh, datatype, extent, ierror)
173+
include 'mpif-config.h'
174+
integer, intent(in) :: fh
175+
integer, intent(in) :: datatype
176+
integer(kind=MPI_ADDRESS_KIND), intent(out) :: extent
177+
integer, intent(out) :: ierror
178+
end subroutine MPI_File_get_type_extent
179+
180+
end interface
181+
182+
183+
interface MPI_File_get_view
184+
185+
subroutine MPI_File_get_view(fh, disp, etype, filetype, datarep&
186+
, ierror)
187+
include 'mpif-config.h'
188+
integer, intent(in) :: fh
189+
integer(kind=MPI_OFFSET_KIND), intent(out) :: disp
190+
integer, intent(out) :: etype
191+
integer, intent(out) :: filetype
192+
character(len=*), intent(out) :: datarep
193+
integer, intent(out) :: ierror
194+
end subroutine MPI_File_get_view
195+
196+
end interface
197+
198+
199+
interface MPI_File_open
200+
201+
subroutine MPI_File_open(comm, filename, amode, info, fh&
202+
, ierror)
203+
integer, intent(in) :: comm
204+
character(len=*), intent(in) :: filename
205+
integer, intent(in) :: amode
206+
integer, intent(in) :: info
207+
integer, intent(out) :: fh
208+
integer, intent(out) :: ierror
209+
end subroutine MPI_File_open
210+
211+
end interface
212+
213+
214+
interface MPI_File_preallocate
215+
216+
subroutine MPI_File_preallocate(fh, size, ierror)
217+
include 'mpif-config.h'
218+
integer, intent(in) :: fh
219+
integer(kind=MPI_OFFSET_KIND), intent(in) :: size
220+
integer, intent(out) :: ierror
221+
end subroutine MPI_File_preallocate
222+
223+
end interface
224+
225+
226+
interface MPI_File_seek
227+
228+
subroutine MPI_File_seek(fh, offset, whence, ierror)
229+
include 'mpif-config.h'
230+
integer, intent(in) :: fh
231+
integer(kind=MPI_OFFSET_KIND), intent(in) :: offset
232+
integer, intent(in) :: whence
233+
integer, intent(out) :: ierror
234+
end subroutine MPI_File_seek
235+
236+
end interface
237+
238+
239+
interface MPI_File_seek_shared
240+
241+
subroutine MPI_File_seek_shared(fh, offset, whence, ierror)
242+
include 'mpif-config.h'
243+
integer, intent(in) :: fh
244+
integer(kind=MPI_OFFSET_KIND), intent(in) :: offset
245+
integer, intent(in) :: whence
246+
integer, intent(out) :: ierror
247+
end subroutine MPI_File_seek_shared
248+
249+
end interface
250+
251+
252+
interface MPI_File_set_atomicity
253+
254+
subroutine MPI_File_set_atomicity(fh, flag, ierror)
255+
integer, intent(in) :: fh
256+
logical, intent(in) :: flag
257+
integer, intent(out) :: ierror
258+
end subroutine MPI_File_set_atomicity
259+
260+
end interface
261+
262+
263+
interface MPI_File_set_errhandler
264+
265+
subroutine MPI_File_set_errhandler(file, errhandler, ierror)
266+
integer, intent(in) :: file
267+
integer, intent(in) :: errhandler
268+
integer, intent(out) :: ierror
269+
end subroutine MPI_File_set_errhandler
270+
271+
end interface
272+
273+
274+
interface MPI_File_set_info
275+
276+
subroutine MPI_File_set_info(fh, info, ierror)
277+
integer, intent(in) :: fh
278+
integer, intent(in) :: info
279+
integer, intent(out) :: ierror
280+
end subroutine MPI_File_set_info
281+
282+
end interface
283+
284+
285+
interface MPI_File_set_size
286+
287+
subroutine MPI_File_set_size(fh, size, ierror)
288+
include 'mpif-config.h'
289+
integer, intent(in) :: fh
290+
integer(kind=MPI_OFFSET_KIND), intent(in) :: size
291+
integer, intent(out) :: ierror
292+
end subroutine MPI_File_set_size
293+
294+
end interface
295+
296+
297+
interface MPI_File_set_view
298+
299+
subroutine MPI_File_set_view(fh, disp, etype, filetype, datarep, &
300+
info, ierror)
301+
include 'mpif-config.h'
302+
integer, intent(in) :: fh
303+
integer(kind=MPI_OFFSET_KIND), intent(in) :: disp
304+
integer, intent(in) :: etype
305+
integer, intent(in) :: filetype
306+
character(len=*), intent(in) :: datarep
307+
integer, intent(in) :: info
308+
integer, intent(out) :: ierror
309+
end subroutine MPI_File_set_view
310+
311+
end interface
312+
313+
314+
interface MPI_File_sync
315+
316+
subroutine MPI_File_sync(fh, ierror)
317+
integer, intent(in) :: fh
318+
integer, intent(out) :: ierror
319+
end subroutine MPI_File_sync
320+
321+
end interface

0 commit comments

Comments
 (0)