annotate libgomp/openacc_lib.h @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +0900
parents 84e7813d76e9
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 ! OpenACC Runtime Library Definitions. -*- mode: fortran -*-
kono
parents:
diff changeset
2
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3 ! Copyright (C) 2014-2018 Free Software Foundation, Inc.
111
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 ! Contributed by Tobias Burnus <burnus@net-b.de>
kono
parents:
diff changeset
6 ! and Mentor Embedded.
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 ! This file is part of the GNU Offloading and Multi Processing Library
kono
parents:
diff changeset
9 ! (libgomp).
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 ! Libgomp is free software; you can redistribute it and/or modify it
kono
parents:
diff changeset
12 ! under the terms of the GNU General Public License as published by
kono
parents:
diff changeset
13 ! the Free Software Foundation; either version 3, or (at your option)
kono
parents:
diff changeset
14 ! any later version.
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 ! Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
kono
parents:
diff changeset
17 ! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
kono
parents:
diff changeset
18 ! FOR A PARTICULAR PURPOSE. See the GNU General Public License for
kono
parents:
diff changeset
19 ! more details.
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 ! Under Section 7 of GPL version 3, you are granted additional
kono
parents:
diff changeset
22 ! permissions described in the GCC Runtime Library Exception, version
kono
parents:
diff changeset
23 ! 3.1, as published by the Free Software Foundation.
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 ! You should have received a copy of the GNU General Public License and
kono
parents:
diff changeset
26 ! a copy of the GCC Runtime Library Exception along with this program;
kono
parents:
diff changeset
27 ! see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
kono
parents:
diff changeset
28 ! <http://www.gnu.org/licenses/>.
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 ! NOTE: Due to the use of dimension (..), the code only works when compiled
kono
parents:
diff changeset
31 ! with -std=f2008ts/gnu/legacy but not with other standard settings.
kono
parents:
diff changeset
32 ! Alternatively, the user can use the module version, which permits
kono
parents:
diff changeset
33 ! compilation with -std=f95.
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 integer, parameter :: acc_device_kind = 4
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 ! Keep in sync with include/gomp-constants.h.
kono
parents:
diff changeset
38 integer (acc_device_kind), parameter :: acc_device_none = 0
kono
parents:
diff changeset
39 integer (acc_device_kind), parameter :: acc_device_default = 1
kono
parents:
diff changeset
40 integer (acc_device_kind), parameter :: acc_device_host = 2
kono
parents:
diff changeset
41 ! integer (acc_device_kind), parameter :: acc_device_host_nonshm = 3
kono
parents:
diff changeset
42 ! removed.
kono
parents:
diff changeset
43 integer (acc_device_kind), parameter :: acc_device_not_host = 4
kono
parents:
diff changeset
44 integer (acc_device_kind), parameter :: acc_device_nvidia = 5
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 integer, parameter :: acc_handle_kind = 4
kono
parents:
diff changeset
47
kono
parents:
diff changeset
48 ! Keep in sync with include/gomp-constants.h.
kono
parents:
diff changeset
49 integer (acc_handle_kind), parameter :: acc_async_noval = -1
kono
parents:
diff changeset
50 integer (acc_handle_kind), parameter :: acc_async_sync = -2
kono
parents:
diff changeset
51
kono
parents:
diff changeset
52 integer, parameter :: openacc_version = 201306
kono
parents:
diff changeset
53
kono
parents:
diff changeset
54 interface acc_get_num_devices
kono
parents:
diff changeset
55 function acc_get_num_devices_h (d)
kono
parents:
diff changeset
56 import acc_device_kind
kono
parents:
diff changeset
57 integer acc_get_num_devices_h
kono
parents:
diff changeset
58 integer (acc_device_kind) d
kono
parents:
diff changeset
59 end function
kono
parents:
diff changeset
60 end interface
kono
parents:
diff changeset
61
kono
parents:
diff changeset
62 interface acc_set_device_type
kono
parents:
diff changeset
63 subroutine acc_set_device_type_h (d)
kono
parents:
diff changeset
64 import acc_device_kind
kono
parents:
diff changeset
65 integer (acc_device_kind) d
kono
parents:
diff changeset
66 end subroutine
kono
parents:
diff changeset
67 end interface
kono
parents:
diff changeset
68
kono
parents:
diff changeset
69 interface acc_get_device_type
kono
parents:
diff changeset
70 function acc_get_device_type_h ()
kono
parents:
diff changeset
71 import acc_device_kind
kono
parents:
diff changeset
72 integer (acc_device_kind) acc_get_device_type_h
kono
parents:
diff changeset
73 end function
kono
parents:
diff changeset
74 end interface
kono
parents:
diff changeset
75
kono
parents:
diff changeset
76 interface acc_set_device_num
kono
parents:
diff changeset
77 subroutine acc_set_device_num_h (n, d)
kono
parents:
diff changeset
78 import acc_device_kind
kono
parents:
diff changeset
79 integer n
kono
parents:
diff changeset
80 integer (acc_device_kind) d
kono
parents:
diff changeset
81 end subroutine
kono
parents:
diff changeset
82 end interface
kono
parents:
diff changeset
83
kono
parents:
diff changeset
84 interface acc_get_device_num
kono
parents:
diff changeset
85 function acc_get_device_num_h (d)
kono
parents:
diff changeset
86 import acc_device_kind
kono
parents:
diff changeset
87 integer acc_get_device_num_h
kono
parents:
diff changeset
88 integer (acc_device_kind) d
kono
parents:
diff changeset
89 end function
kono
parents:
diff changeset
90 end interface
kono
parents:
diff changeset
91
kono
parents:
diff changeset
92 interface acc_async_test
kono
parents:
diff changeset
93 function acc_async_test_h (a)
kono
parents:
diff changeset
94 logical acc_async_test_h
kono
parents:
diff changeset
95 integer a
kono
parents:
diff changeset
96 end function
kono
parents:
diff changeset
97 end interface
kono
parents:
diff changeset
98
kono
parents:
diff changeset
99 interface acc_async_test_all
kono
parents:
diff changeset
100 function acc_async_test_all_h ()
kono
parents:
diff changeset
101 logical acc_async_test_all_h
kono
parents:
diff changeset
102 end function
kono
parents:
diff changeset
103 end interface
kono
parents:
diff changeset
104
kono
parents:
diff changeset
105 interface acc_wait
kono
parents:
diff changeset
106 subroutine acc_wait_h (a)
kono
parents:
diff changeset
107 integer a
kono
parents:
diff changeset
108 end subroutine
kono
parents:
diff changeset
109 end interface
kono
parents:
diff changeset
110
kono
parents:
diff changeset
111 ! acc_async_wait is an OpenACC 1.0 compatibility name for acc_wait.
kono
parents:
diff changeset
112 interface acc_async_wait
kono
parents:
diff changeset
113 procedure :: acc_wait_h
kono
parents:
diff changeset
114 end interface
kono
parents:
diff changeset
115
kono
parents:
diff changeset
116 interface acc_wait_async
kono
parents:
diff changeset
117 subroutine acc_wait_async_h (a1, a2)
kono
parents:
diff changeset
118 integer a1, a2
kono
parents:
diff changeset
119 end subroutine
kono
parents:
diff changeset
120 end interface
kono
parents:
diff changeset
121
kono
parents:
diff changeset
122 interface acc_wait_all
kono
parents:
diff changeset
123 subroutine acc_wait_all_h ()
kono
parents:
diff changeset
124 end subroutine
kono
parents:
diff changeset
125 end interface
kono
parents:
diff changeset
126
kono
parents:
diff changeset
127 ! acc_async_wait_all is an OpenACC 1.0 compatibility name for
kono
parents:
diff changeset
128 ! acc_wait_all.
kono
parents:
diff changeset
129 interface acc_async_wait_all
kono
parents:
diff changeset
130 procedure :: acc_wait_all_h
kono
parents:
diff changeset
131 end interface
kono
parents:
diff changeset
132
kono
parents:
diff changeset
133 interface acc_wait_all_async
kono
parents:
diff changeset
134 subroutine acc_wait_all_async_h (a)
kono
parents:
diff changeset
135 integer a
kono
parents:
diff changeset
136 end subroutine
kono
parents:
diff changeset
137 end interface
kono
parents:
diff changeset
138
kono
parents:
diff changeset
139 interface acc_init
kono
parents:
diff changeset
140 subroutine acc_init_h (devicetype)
kono
parents:
diff changeset
141 import acc_device_kind
kono
parents:
diff changeset
142 integer (acc_device_kind) devicetype
kono
parents:
diff changeset
143 end subroutine
kono
parents:
diff changeset
144 end interface
kono
parents:
diff changeset
145
kono
parents:
diff changeset
146 interface acc_shutdown
kono
parents:
diff changeset
147 subroutine acc_shutdown_h (devicetype)
kono
parents:
diff changeset
148 import acc_device_kind
kono
parents:
diff changeset
149 integer (acc_device_kind) devicetype
kono
parents:
diff changeset
150 end subroutine
kono
parents:
diff changeset
151 end interface
kono
parents:
diff changeset
152
kono
parents:
diff changeset
153 interface acc_on_device
kono
parents:
diff changeset
154 function acc_on_device_h (devicetype)
kono
parents:
diff changeset
155 import acc_device_kind
kono
parents:
diff changeset
156 logical acc_on_device_h
kono
parents:
diff changeset
157 integer (acc_device_kind) devicetype
kono
parents:
diff changeset
158 end function
kono
parents:
diff changeset
159 end interface
kono
parents:
diff changeset
160
kono
parents:
diff changeset
161 ! acc_malloc: Only available in C/C++
kono
parents:
diff changeset
162 ! acc_free: Only available in C/C++
kono
parents:
diff changeset
163
kono
parents:
diff changeset
164 interface acc_copyin
kono
parents:
diff changeset
165 subroutine acc_copyin_32_h (a, len)
kono
parents:
diff changeset
166 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
167 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
168 type (*), dimension (*) :: a
kono
parents:
diff changeset
169 integer (c_int32_t) len
kono
parents:
diff changeset
170 end subroutine
kono
parents:
diff changeset
171
kono
parents:
diff changeset
172 subroutine acc_copyin_64_h (a, len)
kono
parents:
diff changeset
173 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
174 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
175 type (*), dimension (*) :: a
kono
parents:
diff changeset
176 integer (c_int64_t) len
kono
parents:
diff changeset
177 end subroutine
kono
parents:
diff changeset
178
kono
parents:
diff changeset
179 subroutine acc_copyin_array_h (a)
kono
parents:
diff changeset
180 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
181 end subroutine
kono
parents:
diff changeset
182 end interface
kono
parents:
diff changeset
183
kono
parents:
diff changeset
184 interface acc_present_or_copyin
kono
parents:
diff changeset
185 subroutine acc_present_or_copyin_32_h (a, len)
kono
parents:
diff changeset
186 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
187 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
188 type (*), dimension (*) :: a
kono
parents:
diff changeset
189 integer (c_int32_t) len
kono
parents:
diff changeset
190 end subroutine
kono
parents:
diff changeset
191
kono
parents:
diff changeset
192 subroutine acc_present_or_copyin_64_h (a, len)
kono
parents:
diff changeset
193 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
194 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
195 type (*), dimension (*) :: a
kono
parents:
diff changeset
196 integer (c_int64_t) len
kono
parents:
diff changeset
197 end subroutine
kono
parents:
diff changeset
198
kono
parents:
diff changeset
199 subroutine acc_present_or_copyin_array_h (a)
kono
parents:
diff changeset
200 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
201 end subroutine
kono
parents:
diff changeset
202 end interface
kono
parents:
diff changeset
203
kono
parents:
diff changeset
204 interface acc_pcopyin
kono
parents:
diff changeset
205 procedure :: acc_present_or_copyin_32_h
kono
parents:
diff changeset
206 procedure :: acc_present_or_copyin_64_h
kono
parents:
diff changeset
207 procedure :: acc_present_or_copyin_array_h
kono
parents:
diff changeset
208 end interface
kono
parents:
diff changeset
209
kono
parents:
diff changeset
210 interface acc_create
kono
parents:
diff changeset
211 subroutine acc_create_32_h (a, len)
kono
parents:
diff changeset
212 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
213 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
214 type (*), dimension (*) :: a
kono
parents:
diff changeset
215 integer (c_int32_t) len
kono
parents:
diff changeset
216 end subroutine
kono
parents:
diff changeset
217
kono
parents:
diff changeset
218 subroutine acc_create_64_h (a, len)
kono
parents:
diff changeset
219 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
220 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
221 type (*), dimension (*) :: a
kono
parents:
diff changeset
222 integer (c_int64_t) len
kono
parents:
diff changeset
223 end subroutine
kono
parents:
diff changeset
224
kono
parents:
diff changeset
225 subroutine acc_create_array_h (a)
kono
parents:
diff changeset
226 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
227 end subroutine
kono
parents:
diff changeset
228 end interface
kono
parents:
diff changeset
229
kono
parents:
diff changeset
230 interface acc_present_or_create
kono
parents:
diff changeset
231 subroutine acc_present_or_create_32_h (a, len)
kono
parents:
diff changeset
232 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
233 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
234 type (*), dimension (*) :: a
kono
parents:
diff changeset
235 integer (c_int32_t) len
kono
parents:
diff changeset
236 end subroutine
kono
parents:
diff changeset
237
kono
parents:
diff changeset
238 subroutine acc_present_or_create_64_h (a, len)
kono
parents:
diff changeset
239 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
240 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
241 type (*), dimension (*) :: a
kono
parents:
diff changeset
242 integer (c_int64_t) len
kono
parents:
diff changeset
243 end subroutine
kono
parents:
diff changeset
244
kono
parents:
diff changeset
245 subroutine acc_present_or_create_array_h (a)
kono
parents:
diff changeset
246 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
247 end subroutine
kono
parents:
diff changeset
248 end interface
kono
parents:
diff changeset
249
kono
parents:
diff changeset
250 interface acc_pcreate
kono
parents:
diff changeset
251 procedure :: acc_present_or_create_32_h
kono
parents:
diff changeset
252 procedure :: acc_present_or_create_64_h
kono
parents:
diff changeset
253 procedure :: acc_present_or_create_array_h
kono
parents:
diff changeset
254 end interface
kono
parents:
diff changeset
255
kono
parents:
diff changeset
256 interface acc_copyout
kono
parents:
diff changeset
257 subroutine acc_copyout_32_h (a, len)
kono
parents:
diff changeset
258 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
259 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
260 type (*), dimension (*) :: a
kono
parents:
diff changeset
261 integer (c_int32_t) len
kono
parents:
diff changeset
262 end subroutine
kono
parents:
diff changeset
263
kono
parents:
diff changeset
264 subroutine acc_copyout_64_h (a, len)
kono
parents:
diff changeset
265 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
266 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
267 type (*), dimension (*) :: a
kono
parents:
diff changeset
268 integer (c_int64_t) len
kono
parents:
diff changeset
269 end subroutine
kono
parents:
diff changeset
270
kono
parents:
diff changeset
271 subroutine acc_copyout_array_h (a)
kono
parents:
diff changeset
272 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
273 end subroutine
kono
parents:
diff changeset
274 end interface
kono
parents:
diff changeset
275
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
276 interface acc_copyout_finalize
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
277 subroutine acc_copyout_finalize_32_h (a, len)
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
278 use iso_c_binding, only: c_int32_t
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
279 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
280 type (*), dimension (*) :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
281 integer (c_int32_t) len
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
282 end subroutine
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
283
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
284 subroutine acc_copyout_finalize_64_h (a, len)
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
285 use iso_c_binding, only: c_int64_t
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
286 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
287 type (*), dimension (*) :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
288 integer (c_int64_t) len
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
289 end subroutine
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
290
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
291 subroutine acc_copyout_finalize_array_h (a)
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
292 type (*), dimension (..), contiguous :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
293 end subroutine
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
294 end interface
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
295
111
kono
parents:
diff changeset
296 interface acc_delete
kono
parents:
diff changeset
297 subroutine acc_delete_32_h (a, len)
kono
parents:
diff changeset
298 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
299 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
300 type (*), dimension (*) :: a
kono
parents:
diff changeset
301 integer (c_int32_t) len
kono
parents:
diff changeset
302 end subroutine
kono
parents:
diff changeset
303
kono
parents:
diff changeset
304 subroutine acc_delete_64_h (a, len)
kono
parents:
diff changeset
305 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
306 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
307 type (*), dimension (*) :: a
kono
parents:
diff changeset
308 integer (c_int64_t) len
kono
parents:
diff changeset
309 end subroutine
kono
parents:
diff changeset
310
kono
parents:
diff changeset
311 subroutine acc_delete_array_h (a)
kono
parents:
diff changeset
312 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
313 end subroutine
kono
parents:
diff changeset
314 end interface
kono
parents:
diff changeset
315
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
316 interface acc_delete_finalize
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
317 subroutine acc_delete_finalize_32_h (a, len)
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
318 use iso_c_binding, only: c_int32_t
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
319 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
320 type (*), dimension (*) :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
321 integer (c_int32_t) len
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
322 end subroutine
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
323
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
324 subroutine acc_delete_finalize_64_h (a, len)
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
325 use iso_c_binding, only: c_int64_t
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
326 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
327 type (*), dimension (*) :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
328 integer (c_int64_t) len
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
329 end subroutine
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
330
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
331 subroutine acc_delete_finalize_array_h (a)
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
332 type (*), dimension (..), contiguous :: a
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
333 end subroutine
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
334 end interface
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
335
111
kono
parents:
diff changeset
336 interface acc_update_device
kono
parents:
diff changeset
337 subroutine acc_update_device_32_h (a, len)
kono
parents:
diff changeset
338 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
339 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
340 type (*), dimension (*) :: a
kono
parents:
diff changeset
341 integer (c_int32_t) len
kono
parents:
diff changeset
342 end subroutine
kono
parents:
diff changeset
343
kono
parents:
diff changeset
344 subroutine acc_update_device_64_h (a, len)
kono
parents:
diff changeset
345 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
346 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
347 type (*), dimension (*) :: a
kono
parents:
diff changeset
348 integer (c_int64_t) len
kono
parents:
diff changeset
349 end subroutine
kono
parents:
diff changeset
350
kono
parents:
diff changeset
351 subroutine acc_update_device_array_h (a)
kono
parents:
diff changeset
352 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
353 end subroutine
kono
parents:
diff changeset
354 end interface
kono
parents:
diff changeset
355
kono
parents:
diff changeset
356 interface acc_update_self
kono
parents:
diff changeset
357 subroutine acc_update_self_32_h (a, len)
kono
parents:
diff changeset
358 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
359 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
360 type (*), dimension (*) :: a
kono
parents:
diff changeset
361 integer (c_int32_t) len
kono
parents:
diff changeset
362 end subroutine
kono
parents:
diff changeset
363
kono
parents:
diff changeset
364 subroutine acc_update_self_64_h (a, len)
kono
parents:
diff changeset
365 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
366 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
367 type (*), dimension (*) :: a
kono
parents:
diff changeset
368 integer (c_int64_t) len
kono
parents:
diff changeset
369 end subroutine
kono
parents:
diff changeset
370
kono
parents:
diff changeset
371 subroutine acc_update_self_array_h (a)
kono
parents:
diff changeset
372 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
373 end subroutine
kono
parents:
diff changeset
374 end interface
kono
parents:
diff changeset
375
kono
parents:
diff changeset
376 ! acc_map_data: Only available in C/C++
kono
parents:
diff changeset
377 ! acc_unmap_data: Only available in C/C++
kono
parents:
diff changeset
378 ! acc_deviceptr: Only available in C/C++
kono
parents:
diff changeset
379 ! acc_hostptr: Only available in C/C++
kono
parents:
diff changeset
380
kono
parents:
diff changeset
381 interface acc_is_present
kono
parents:
diff changeset
382 function acc_is_present_32_h (a, len)
kono
parents:
diff changeset
383 use iso_c_binding, only: c_int32_t
kono
parents:
diff changeset
384 logical acc_is_present_32_h
kono
parents:
diff changeset
385 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
386 type (*), dimension (*) :: a
kono
parents:
diff changeset
387 integer (c_int32_t) len
kono
parents:
diff changeset
388 end function
kono
parents:
diff changeset
389
kono
parents:
diff changeset
390 function acc_is_present_64_h (a, len)
kono
parents:
diff changeset
391 use iso_c_binding, only: c_int64_t
kono
parents:
diff changeset
392 logical acc_is_present_64_h
kono
parents:
diff changeset
393 !GCC$ ATTRIBUTES NO_ARG_CHECK :: a
kono
parents:
diff changeset
394 type (*), dimension (*) :: a
kono
parents:
diff changeset
395 integer (c_int64_t) len
kono
parents:
diff changeset
396 end function
kono
parents:
diff changeset
397
kono
parents:
diff changeset
398 function acc_is_present_array_h (a)
kono
parents:
diff changeset
399 logical acc_is_present_array_h
kono
parents:
diff changeset
400 type (*), dimension (..), contiguous :: a
kono
parents:
diff changeset
401 end function
kono
parents:
diff changeset
402 end interface
kono
parents:
diff changeset
403
kono
parents:
diff changeset
404 ! acc_memcpy_to_device: Only available in C/C++
kono
parents:
diff changeset
405 ! acc_memcpy_from_device: Only available in C/C++