annotate libgomp/fortran.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1 /* Copyright (C) 2005-2020 Free Software Foundation, Inc.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 Contributed by Jakub Jelinek <jakub@redhat.com>.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
111
kono
parents: 0
diff changeset
4 This file is part of the GNU Offloading and Multi Processing Library
kono
parents: 0
diff changeset
5 (libgomp).
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 Libgomp is free software; you can redistribute it and/or modify it
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 under the terms of the GNU General Public License as published by
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 the Free Software Foundation; either version 3, or (at your option)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 any later version.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 FOR A PARTICULAR PURPOSE. See the GNU General Public License for
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 more details.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 Under Section 7 of GPL version 3, you are granted additional
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 permissions described in the GCC Runtime Library Exception, version
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 3.1, as published by the Free Software Foundation.
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 You should have received a copy of the GNU General Public License and
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 a copy of the GCC Runtime Library Exception along with this program;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 <http://www.gnu.org/licenses/>. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 /* This file contains Fortran wrapper routines. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 #include "libgomp.h"
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 #include "libgomp_f.h"
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 #include <stdlib.h>
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
31 #include <stdio.h>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
32 #include <string.h>
111
kono
parents: 0
diff changeset
33 #include <limits.h>
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 #ifdef HAVE_ATTRIBUTE_ALIAS
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 /* Use internal aliases if possible. */
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 # ifndef LIBGOMP_GNU_SYMBOL_VERSIONING
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 ialias_redirect (omp_init_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 ialias_redirect (omp_init_nest_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 ialias_redirect (omp_destroy_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 ialias_redirect (omp_destroy_nest_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 ialias_redirect (omp_set_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 ialias_redirect (omp_set_nest_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 ialias_redirect (omp_unset_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 ialias_redirect (omp_unset_nest_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 ialias_redirect (omp_test_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 ialias_redirect (omp_test_nest_lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 # endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 ialias_redirect (omp_set_dynamic)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 ialias_redirect (omp_set_nested)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 ialias_redirect (omp_set_num_threads)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 ialias_redirect (omp_get_dynamic)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 ialias_redirect (omp_get_nested)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 ialias_redirect (omp_in_parallel)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 ialias_redirect (omp_get_max_threads)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 ialias_redirect (omp_get_num_procs)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 ialias_redirect (omp_get_num_threads)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 ialias_redirect (omp_get_thread_num)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 ialias_redirect (omp_get_wtick)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 ialias_redirect (omp_get_wtime)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 ialias_redirect (omp_set_schedule)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 ialias_redirect (omp_get_schedule)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 ialias_redirect (omp_get_thread_limit)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 ialias_redirect (omp_set_max_active_levels)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 ialias_redirect (omp_get_max_active_levels)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 ialias_redirect (omp_get_level)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 ialias_redirect (omp_get_ancestor_thread_num)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 ialias_redirect (omp_get_team_size)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 ialias_redirect (omp_get_active_level)
111
kono
parents: 0
diff changeset
70 ialias_redirect (omp_in_final)
kono
parents: 0
diff changeset
71 ialias_redirect (omp_get_cancellation)
kono
parents: 0
diff changeset
72 ialias_redirect (omp_get_proc_bind)
kono
parents: 0
diff changeset
73 ialias_redirect (omp_get_num_places)
kono
parents: 0
diff changeset
74 ialias_redirect (omp_get_place_num_procs)
kono
parents: 0
diff changeset
75 ialias_redirect (omp_get_place_proc_ids)
kono
parents: 0
diff changeset
76 ialias_redirect (omp_get_place_num)
kono
parents: 0
diff changeset
77 ialias_redirect (omp_get_partition_num_places)
kono
parents: 0
diff changeset
78 ialias_redirect (omp_get_partition_place_nums)
kono
parents: 0
diff changeset
79 ialias_redirect (omp_set_default_device)
kono
parents: 0
diff changeset
80 ialias_redirect (omp_get_default_device)
kono
parents: 0
diff changeset
81 ialias_redirect (omp_get_num_devices)
kono
parents: 0
diff changeset
82 ialias_redirect (omp_get_num_teams)
kono
parents: 0
diff changeset
83 ialias_redirect (omp_get_team_num)
kono
parents: 0
diff changeset
84 ialias_redirect (omp_is_initial_device)
kono
parents: 0
diff changeset
85 ialias_redirect (omp_get_initial_device)
kono
parents: 0
diff changeset
86 ialias_redirect (omp_get_max_task_priority)
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
87 ialias_redirect (omp_pause_resource)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
88 ialias_redirect (omp_pause_resource_all)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 #ifndef LIBGOMP_GNU_SYMBOL_VERSIONING
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 # define gomp_init_lock__30 omp_init_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 # define gomp_destroy_lock__30 omp_destroy_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 # define gomp_set_lock__30 omp_set_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 # define gomp_unset_lock__30 omp_unset_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 # define gomp_test_lock__30 omp_test_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 # define gomp_init_nest_lock__30 omp_init_nest_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 # define gomp_destroy_nest_lock__30 omp_destroy_nest_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 # define gomp_set_nest_lock__30 omp_set_nest_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 # define gomp_unset_nest_lock__30 omp_unset_nest_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 # define gomp_test_nest_lock__30 omp_test_nest_lock_
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 gomp_init_lock__30 (omp_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 #ifndef OMP_LOCK_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 omp_lock_arg (lock) = malloc (sizeof (omp_lock_t));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 gomp_init_lock_30 (omp_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 gomp_init_nest_lock__30 (omp_nest_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 #ifndef OMP_NEST_LOCK_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 omp_nest_lock_arg (lock) = malloc (sizeof (omp_nest_lock_t));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 gomp_init_nest_lock_30 (omp_nest_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 gomp_destroy_lock__30 (omp_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 gomp_destroy_lock_30 (omp_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 #ifndef OMP_LOCK_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 free (omp_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 omp_lock_arg (lock) = NULL;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 gomp_destroy_nest_lock__30 (omp_nest_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 gomp_destroy_nest_lock_30 (omp_nest_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 #ifndef OMP_NEST_LOCK_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 free (omp_nest_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 omp_nest_lock_arg (lock) = NULL;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 gomp_set_lock__30 (omp_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 gomp_set_lock_30 (omp_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 gomp_set_nest_lock__30 (omp_nest_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 gomp_set_nest_lock_30 (omp_nest_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 gomp_unset_lock__30 (omp_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 gomp_unset_lock_30 (omp_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 gomp_unset_nest_lock__30 (omp_nest_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 gomp_unset_nest_lock_30 (omp_nest_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 gomp_test_lock__30 (omp_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 return gomp_test_lock_30 (omp_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 gomp_test_nest_lock__30 (omp_nest_lock_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 return gomp_test_nest_lock_30 (omp_nest_lock_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 #ifdef LIBGOMP_GNU_SYMBOL_VERSIONING
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 gomp_init_lock__25 (omp_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 #ifndef OMP_LOCK_25_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 omp_lock_25_arg (lock) = malloc (sizeof (omp_lock_25_t));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 gomp_init_lock_25 (omp_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 gomp_init_nest_lock__25 (omp_nest_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 #ifndef OMP_NEST_LOCK_25_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 omp_nest_lock_25_arg (lock) = malloc (sizeof (omp_nest_lock_25_t));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 gomp_init_nest_lock_25 (omp_nest_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 gomp_destroy_lock__25 (omp_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 gomp_destroy_lock_25 (omp_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 #ifndef OMP_LOCK_25_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 free (omp_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 omp_lock_25_arg (lock) = NULL;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 gomp_destroy_nest_lock__25 (omp_nest_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 gomp_destroy_nest_lock_25 (omp_nest_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 #ifndef OMP_NEST_LOCK_25_DIRECT
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 free (omp_nest_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 omp_nest_lock_25_arg (lock) = NULL;
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 gomp_set_lock__25 (omp_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 gomp_set_lock_25 (omp_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 gomp_set_nest_lock__25 (omp_nest_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 gomp_set_nest_lock_25 (omp_nest_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 gomp_unset_lock__25 (omp_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 gomp_unset_lock_25 (omp_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 gomp_unset_nest_lock__25 (omp_nest_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 gomp_unset_nest_lock_25 (omp_nest_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 gomp_test_lock__25 (omp_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 return gomp_test_lock_25 (omp_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 gomp_test_nest_lock__25 (omp_nest_lock_25_arg_t lock)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 return gomp_test_nest_lock_25 (omp_nest_lock_25_arg (lock));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 omp_lock_symver (omp_init_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 omp_lock_symver (omp_destroy_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 omp_lock_symver (omp_set_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 omp_lock_symver (omp_unset_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 omp_lock_symver (omp_test_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 omp_lock_symver (omp_init_nest_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 omp_lock_symver (omp_destroy_nest_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 omp_lock_symver (omp_set_nest_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 omp_lock_symver (omp_unset_nest_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 omp_lock_symver (omp_test_nest_lock_)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 #endif
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264
111
kono
parents: 0
diff changeset
265 #define TO_INT(x) ((x) > INT_MIN ? (x) < INT_MAX ? (x) : INT_MAX : INT_MIN)
kono
parents: 0
diff changeset
266
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 omp_set_dynamic_ (const int32_t *set)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 omp_set_dynamic (*set);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 omp_set_dynamic_8_ (const int64_t *set)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 {
111
kono
parents: 0
diff changeset
276 omp_set_dynamic (!!*set);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 omp_set_nested_ (const int32_t *set)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 omp_set_nested (*set);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 omp_set_nested_8_ (const int64_t *set)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 {
111
kono
parents: 0
diff changeset
288 omp_set_nested (!!*set);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 omp_set_num_threads_ (const int32_t *set)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 omp_set_num_threads (*set);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 omp_set_num_threads_8_ (const int64_t *set)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 {
111
kono
parents: 0
diff changeset
300 omp_set_num_threads (TO_INT (*set));
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 omp_get_dynamic_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 return omp_get_dynamic ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 omp_get_nested_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312 return omp_get_nested ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 omp_in_parallel_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 return omp_in_parallel ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 omp_get_max_threads_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 return omp_get_max_threads ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 omp_get_num_procs_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 return omp_get_num_procs ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 omp_get_num_threads_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 return omp_get_num_threads ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 omp_get_thread_num_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 return omp_get_thread_num ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 double
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 omp_get_wtick_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 return omp_get_wtick ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 double
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 omp_get_wtime_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 return omp_get_wtime ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 void
111
kono
parents: 0
diff changeset
358 omp_set_schedule_ (const int32_t *kind, const int32_t *chunk_size)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 {
111
kono
parents: 0
diff changeset
360 omp_set_schedule (*kind, *chunk_size);
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 void
111
kono
parents: 0
diff changeset
364 omp_set_schedule_8_ (const int32_t *kind, const int64_t *chunk_size)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 {
111
kono
parents: 0
diff changeset
366 omp_set_schedule (*kind, TO_INT (*chunk_size));
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 void
111
kono
parents: 0
diff changeset
370 omp_get_schedule_ (int32_t *kind, int32_t *chunk_size)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 omp_sched_t k;
111
kono
parents: 0
diff changeset
373 int cs;
kono
parents: 0
diff changeset
374 omp_get_schedule (&k, &cs);
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
375 /* For now mask off GFS_MONOTONIC, because OpenMP 4.5 code will not
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
376 expect to see it. */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
377 *kind = k & ~GFS_MONOTONIC;
111
kono
parents: 0
diff changeset
378 *chunk_size = cs;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 void
111
kono
parents: 0
diff changeset
382 omp_get_schedule_8_ (int32_t *kind, int64_t *chunk_size)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 omp_sched_t k;
111
kono
parents: 0
diff changeset
385 int cs;
kono
parents: 0
diff changeset
386 omp_get_schedule (&k, &cs);
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
387 /* See above. */
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
388 *kind = k & ~GFS_MONOTONIC;
111
kono
parents: 0
diff changeset
389 *chunk_size = cs;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 omp_get_thread_limit_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
394 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
395 return omp_get_thread_limit ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
397
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
398 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 omp_set_max_active_levels_ (const int32_t *levels)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
401 omp_set_max_active_levels (*levels);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 void
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405 omp_set_max_active_levels_8_ (const int64_t *levels)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 {
111
kono
parents: 0
diff changeset
407 omp_set_max_active_levels (TO_INT (*levels));
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
410 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411 omp_get_max_active_levels_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 return omp_get_max_active_levels ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
414 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 omp_get_level_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
418 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
419 return omp_get_level ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
420 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
422 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423 omp_get_ancestor_thread_num_ (const int32_t *level)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 return omp_get_ancestor_thread_num (*level);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 omp_get_ancestor_thread_num_8_ (const int64_t *level)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 {
111
kono
parents: 0
diff changeset
431 return omp_get_ancestor_thread_num (TO_INT (*level));
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 omp_get_team_size_ (const int32_t *level)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437 return omp_get_team_size (*level);
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
441 omp_get_team_size_8_ (const int64_t *level)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 {
111
kono
parents: 0
diff changeset
443 return omp_get_team_size (TO_INT (*level));
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 }
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 int32_t
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
447 omp_get_active_level_ (void)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
448 {
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
449 return omp_get_active_level ();
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 }
111
kono
parents: 0
diff changeset
451
kono
parents: 0
diff changeset
452 int32_t
kono
parents: 0
diff changeset
453 omp_in_final_ (void)
kono
parents: 0
diff changeset
454 {
kono
parents: 0
diff changeset
455 return omp_in_final ();
kono
parents: 0
diff changeset
456 }
kono
parents: 0
diff changeset
457
kono
parents: 0
diff changeset
458 int32_t
kono
parents: 0
diff changeset
459 omp_get_cancellation_ (void)
kono
parents: 0
diff changeset
460 {
kono
parents: 0
diff changeset
461 return omp_get_cancellation ();
kono
parents: 0
diff changeset
462 }
kono
parents: 0
diff changeset
463
kono
parents: 0
diff changeset
464 int32_t
kono
parents: 0
diff changeset
465 omp_get_proc_bind_ (void)
kono
parents: 0
diff changeset
466 {
kono
parents: 0
diff changeset
467 return omp_get_proc_bind ();
kono
parents: 0
diff changeset
468 }
kono
parents: 0
diff changeset
469
kono
parents: 0
diff changeset
470 int32_t
kono
parents: 0
diff changeset
471 omp_get_num_places_ (void)
kono
parents: 0
diff changeset
472 {
kono
parents: 0
diff changeset
473 return omp_get_num_places ();
kono
parents: 0
diff changeset
474 }
kono
parents: 0
diff changeset
475
kono
parents: 0
diff changeset
476 int32_t
kono
parents: 0
diff changeset
477 omp_get_place_num_procs_ (const int32_t *place_num)
kono
parents: 0
diff changeset
478 {
kono
parents: 0
diff changeset
479 return omp_get_place_num_procs (*place_num);
kono
parents: 0
diff changeset
480 }
kono
parents: 0
diff changeset
481
kono
parents: 0
diff changeset
482 int32_t
kono
parents: 0
diff changeset
483 omp_get_place_num_procs_8_ (const int64_t *place_num)
kono
parents: 0
diff changeset
484 {
kono
parents: 0
diff changeset
485 return omp_get_place_num_procs (TO_INT (*place_num));
kono
parents: 0
diff changeset
486 }
kono
parents: 0
diff changeset
487
kono
parents: 0
diff changeset
488 void
kono
parents: 0
diff changeset
489 omp_get_place_proc_ids_ (const int32_t *place_num, int32_t *ids)
kono
parents: 0
diff changeset
490 {
kono
parents: 0
diff changeset
491 omp_get_place_proc_ids (*place_num, (int *) ids);
kono
parents: 0
diff changeset
492 }
kono
parents: 0
diff changeset
493
kono
parents: 0
diff changeset
494 void
kono
parents: 0
diff changeset
495 omp_get_place_proc_ids_8_ (const int64_t *place_num, int64_t *ids)
kono
parents: 0
diff changeset
496 {
kono
parents: 0
diff changeset
497 gomp_get_place_proc_ids_8 (TO_INT (*place_num), ids);
kono
parents: 0
diff changeset
498 }
kono
parents: 0
diff changeset
499
kono
parents: 0
diff changeset
500 int32_t
kono
parents: 0
diff changeset
501 omp_get_place_num_ (void)
kono
parents: 0
diff changeset
502 {
kono
parents: 0
diff changeset
503 return omp_get_place_num ();
kono
parents: 0
diff changeset
504 }
kono
parents: 0
diff changeset
505
kono
parents: 0
diff changeset
506 int32_t
kono
parents: 0
diff changeset
507 omp_get_partition_num_places_ (void)
kono
parents: 0
diff changeset
508 {
kono
parents: 0
diff changeset
509 return omp_get_partition_num_places ();
kono
parents: 0
diff changeset
510 }
kono
parents: 0
diff changeset
511
kono
parents: 0
diff changeset
512 void
kono
parents: 0
diff changeset
513 omp_get_partition_place_nums_ (int32_t *place_nums)
kono
parents: 0
diff changeset
514 {
kono
parents: 0
diff changeset
515 omp_get_partition_place_nums ((int *) place_nums);
kono
parents: 0
diff changeset
516 }
kono
parents: 0
diff changeset
517
kono
parents: 0
diff changeset
518 void
kono
parents: 0
diff changeset
519 omp_get_partition_place_nums_8_ (int64_t *place_nums)
kono
parents: 0
diff changeset
520 {
kono
parents: 0
diff changeset
521 if (gomp_places_list == NULL)
kono
parents: 0
diff changeset
522 return;
kono
parents: 0
diff changeset
523
kono
parents: 0
diff changeset
524 struct gomp_thread *thr = gomp_thread ();
kono
parents: 0
diff changeset
525 if (thr->place == 0)
kono
parents: 0
diff changeset
526 gomp_init_affinity ();
kono
parents: 0
diff changeset
527
kono
parents: 0
diff changeset
528 unsigned int i;
kono
parents: 0
diff changeset
529 for (i = 0; i < thr->ts.place_partition_len; i++)
kono
parents: 0
diff changeset
530 *place_nums++ = (int64_t) thr->ts.place_partition_off + i;
kono
parents: 0
diff changeset
531 }
kono
parents: 0
diff changeset
532
kono
parents: 0
diff changeset
533 void
kono
parents: 0
diff changeset
534 omp_set_default_device_ (const int32_t *device_num)
kono
parents: 0
diff changeset
535 {
kono
parents: 0
diff changeset
536 return omp_set_default_device (*device_num);
kono
parents: 0
diff changeset
537 }
kono
parents: 0
diff changeset
538
kono
parents: 0
diff changeset
539 void
kono
parents: 0
diff changeset
540 omp_set_default_device_8_ (const int64_t *device_num)
kono
parents: 0
diff changeset
541 {
kono
parents: 0
diff changeset
542 return omp_set_default_device (TO_INT (*device_num));
kono
parents: 0
diff changeset
543 }
kono
parents: 0
diff changeset
544
kono
parents: 0
diff changeset
545 int32_t
kono
parents: 0
diff changeset
546 omp_get_default_device_ (void)
kono
parents: 0
diff changeset
547 {
kono
parents: 0
diff changeset
548 return omp_get_default_device ();
kono
parents: 0
diff changeset
549 }
kono
parents: 0
diff changeset
550
kono
parents: 0
diff changeset
551 int32_t
kono
parents: 0
diff changeset
552 omp_get_num_devices_ (void)
kono
parents: 0
diff changeset
553 {
kono
parents: 0
diff changeset
554 return omp_get_num_devices ();
kono
parents: 0
diff changeset
555 }
kono
parents: 0
diff changeset
556
kono
parents: 0
diff changeset
557 int32_t
kono
parents: 0
diff changeset
558 omp_get_num_teams_ (void)
kono
parents: 0
diff changeset
559 {
kono
parents: 0
diff changeset
560 return omp_get_num_teams ();
kono
parents: 0
diff changeset
561 }
kono
parents: 0
diff changeset
562
kono
parents: 0
diff changeset
563 int32_t
kono
parents: 0
diff changeset
564 omp_get_team_num_ (void)
kono
parents: 0
diff changeset
565 {
kono
parents: 0
diff changeset
566 return omp_get_team_num ();
kono
parents: 0
diff changeset
567 }
kono
parents: 0
diff changeset
568
kono
parents: 0
diff changeset
569 int32_t
kono
parents: 0
diff changeset
570 omp_is_initial_device_ (void)
kono
parents: 0
diff changeset
571 {
kono
parents: 0
diff changeset
572 return omp_is_initial_device ();
kono
parents: 0
diff changeset
573 }
kono
parents: 0
diff changeset
574
kono
parents: 0
diff changeset
575 int32_t
kono
parents: 0
diff changeset
576 omp_get_initial_device_ (void)
kono
parents: 0
diff changeset
577 {
kono
parents: 0
diff changeset
578 return omp_get_initial_device ();
kono
parents: 0
diff changeset
579 }
kono
parents: 0
diff changeset
580
kono
parents: 0
diff changeset
581 int32_t
kono
parents: 0
diff changeset
582 omp_get_max_task_priority_ (void)
kono
parents: 0
diff changeset
583 {
kono
parents: 0
diff changeset
584 return omp_get_max_task_priority ();
kono
parents: 0
diff changeset
585 }
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
586
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
587 void
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
588 omp_set_affinity_format_ (const char *format, size_t format_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
589 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
590 gomp_set_affinity_format (format, format_len);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
591 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
592
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
593 int32_t
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
594 omp_get_affinity_format_ (char *buffer, size_t buffer_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
595 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
596 size_t len = strlen (gomp_affinity_format_var);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
597 if (buffer_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
598 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
599 if (len < buffer_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
600 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
601 memcpy (buffer, gomp_affinity_format_var, len);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
602 memset (buffer + len, ' ', buffer_len - len);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
603 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
604 else
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
605 memcpy (buffer, gomp_affinity_format_var, buffer_len);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
606 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
607 return len;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
608 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
609
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
610 void
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
611 omp_display_affinity_ (const char *format, size_t format_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
612 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
613 char *fmt = NULL, fmt_buf[256];
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
614 char buf[512];
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
615 if (format_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
616 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
617 fmt = format_len < 256 ? fmt_buf : gomp_malloc (format_len + 1);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
618 memcpy (fmt, format, format_len);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
619 fmt[format_len] = '\0';
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
620 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
621 struct gomp_thread *thr = gomp_thread ();
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
622 size_t ret
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
623 = gomp_display_affinity (buf, sizeof buf,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
624 format_len ? fmt : gomp_affinity_format_var,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
625 gomp_thread_self (), &thr->ts, thr->place);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
626 if (ret < sizeof buf)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
627 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
628 buf[ret] = '\n';
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
629 gomp_print_string (buf, ret + 1);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
630 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
631 else
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
632 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
633 char *b = gomp_malloc (ret + 1);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
634 gomp_display_affinity (buf, sizeof buf,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
635 format_len ? fmt : gomp_affinity_format_var,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
636 gomp_thread_self (), &thr->ts, thr->place);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
637 b[ret] = '\n';
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
638 gomp_print_string (b, ret + 1);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
639 free (b);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
640 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
641 if (fmt && fmt != fmt_buf)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
642 free (fmt);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
643 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
644
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
645 int32_t
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
646 omp_capture_affinity_ (char *buffer, const char *format,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
647 size_t buffer_len, size_t format_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
648 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
649 char *fmt = NULL, fmt_buf[256];
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
650 if (format_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
651 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
652 fmt = format_len < 256 ? fmt_buf : gomp_malloc (format_len + 1);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
653 memcpy (fmt, format, format_len);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
654 fmt[format_len] = '\0';
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
655 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
656 struct gomp_thread *thr = gomp_thread ();
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
657 size_t ret
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
658 = gomp_display_affinity (buffer, buffer_len,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
659 format_len ? fmt : gomp_affinity_format_var,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
660 gomp_thread_self (), &thr->ts, thr->place);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
661 if (fmt && fmt != fmt_buf)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
662 free (fmt);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
663 if (ret < buffer_len)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
664 memset (buffer + ret, ' ', buffer_len - ret);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
665 return ret;
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
666 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
667
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
668 int32_t
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
669 omp_pause_resource_ (const int32_t *kind, const int32_t *device_num)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
670 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
671 return omp_pause_resource (*kind, *device_num);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
672 }
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
673
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
674 int32_t
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
675 omp_pause_resource_all_ (const int32_t *kind)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
676 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
677 return omp_pause_resource_all (*kind);
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
678 }