Home | History | Annotate | Line # | Download | only in libgomp
omp_lib.f90.in revision 1.3
      1  1.3  mrg !  Copyright (C) 2005-2013 Free Software Foundation, Inc.
      2  1.1  mrg !  Contributed by Jakub Jelinek <jakub (a] redhat.com>.
      3  1.1  mrg 
      4  1.1  mrg !  This file is part of the GNU OpenMP Library (libgomp).
      5  1.1  mrg 
      6  1.1  mrg !  Libgomp is free software; you can redistribute it and/or modify it
      7  1.1  mrg !  under the terms of the GNU General Public License as published by
      8  1.1  mrg !  the Free Software Foundation; either version 3, or (at your option)
      9  1.1  mrg !  any later version.
     10  1.1  mrg 
     11  1.1  mrg !  Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
     12  1.1  mrg !  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
     13  1.1  mrg !  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
     14  1.1  mrg !  more details.
     15  1.1  mrg 
     16  1.1  mrg !  Under Section 7 of GPL version 3, you are granted additional
     17  1.1  mrg !  permissions described in the GCC Runtime Library Exception, version
     18  1.1  mrg !  3.1, as published by the Free Software Foundation.
     19  1.1  mrg 
     20  1.1  mrg !  You should have received a copy of the GNU General Public License and
     21  1.1  mrg !  a copy of the GCC Runtime Library Exception along with this program;
     22  1.1  mrg !  see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
     23  1.1  mrg !  <http://www.gnu.org/licenses/>.
     24  1.1  mrg 
     25  1.1  mrg       module omp_lib_kinds
     26  1.1  mrg         implicit none
     27  1.1  mrg         integer, parameter :: omp_lock_kind = @OMP_LOCK_KIND@
     28  1.1  mrg         integer, parameter :: omp_nest_lock_kind = @OMP_NEST_LOCK_KIND@
     29  1.1  mrg         integer, parameter :: omp_sched_kind = 4
     30  1.1  mrg       end module
     31  1.1  mrg 
     32  1.1  mrg       module omp_lib
     33  1.1  mrg         use omp_lib_kinds
     34  1.1  mrg         implicit none
     35  1.3  mrg         integer, parameter :: openmp_version = 201107
     36  1.1  mrg         integer (omp_sched_kind), parameter :: omp_sched_static = 1
     37  1.1  mrg         integer (omp_sched_kind), parameter :: omp_sched_dynamic = 2
     38  1.1  mrg         integer (omp_sched_kind), parameter :: omp_sched_guided = 3
     39  1.1  mrg         integer (omp_sched_kind), parameter :: omp_sched_auto = 4
     40  1.1  mrg 
     41  1.1  mrg         interface
     42  1.1  mrg           subroutine omp_init_lock (lock)
     43  1.1  mrg             use omp_lib_kinds
     44  1.1  mrg             integer (omp_lock_kind), intent (out) :: lock
     45  1.1  mrg           end subroutine omp_init_lock
     46  1.1  mrg         end interface
     47  1.1  mrg 
     48  1.1  mrg         interface
     49  1.1  mrg           subroutine omp_init_nest_lock (lock)
     50  1.1  mrg             use omp_lib_kinds
     51  1.1  mrg             integer (omp_nest_lock_kind), intent (out) :: lock
     52  1.1  mrg           end subroutine omp_init_nest_lock
     53  1.1  mrg         end interface
     54  1.1  mrg 
     55  1.1  mrg         interface
     56  1.1  mrg           subroutine omp_destroy_lock (lock)
     57  1.1  mrg             use omp_lib_kinds
     58  1.1  mrg             integer (omp_lock_kind), intent (inout) :: lock
     59  1.1  mrg           end subroutine omp_destroy_lock
     60  1.1  mrg         end interface
     61  1.1  mrg 
     62  1.1  mrg         interface
     63  1.1  mrg           subroutine omp_destroy_nest_lock (lock)
     64  1.1  mrg             use omp_lib_kinds
     65  1.1  mrg             integer (omp_nest_lock_kind), intent (inout) :: lock
     66  1.1  mrg           end subroutine omp_destroy_nest_lock
     67  1.1  mrg         end interface
     68  1.1  mrg 
     69  1.1  mrg         interface
     70  1.1  mrg           subroutine omp_set_lock (lock)
     71  1.1  mrg             use omp_lib_kinds
     72  1.1  mrg             integer (omp_lock_kind), intent (inout) :: lock
     73  1.1  mrg           end subroutine omp_set_lock
     74  1.1  mrg         end interface
     75  1.1  mrg 
     76  1.1  mrg         interface
     77  1.1  mrg           subroutine omp_set_nest_lock (lock)
     78  1.1  mrg             use omp_lib_kinds
     79  1.1  mrg             integer (omp_nest_lock_kind), intent (inout) :: lock
     80  1.1  mrg           end subroutine omp_set_nest_lock
     81  1.1  mrg         end interface
     82  1.1  mrg 
     83  1.1  mrg         interface
     84  1.1  mrg           subroutine omp_unset_lock (lock)
     85  1.1  mrg             use omp_lib_kinds
     86  1.1  mrg             integer (omp_lock_kind), intent (inout) :: lock
     87  1.1  mrg           end subroutine omp_unset_lock
     88  1.1  mrg         end interface
     89  1.1  mrg 
     90  1.1  mrg         interface
     91  1.1  mrg           subroutine omp_unset_nest_lock (lock)
     92  1.1  mrg             use omp_lib_kinds
     93  1.1  mrg             integer (omp_nest_lock_kind), intent (inout) :: lock
     94  1.1  mrg           end subroutine omp_unset_nest_lock
     95  1.1  mrg         end interface
     96  1.1  mrg 
     97  1.1  mrg         interface omp_set_dynamic
     98  1.1  mrg           subroutine omp_set_dynamic (set)
     99  1.1  mrg             logical (4), intent (in) :: set
    100  1.1  mrg           end subroutine omp_set_dynamic
    101  1.1  mrg           subroutine omp_set_dynamic_8 (set)
    102  1.1  mrg             logical (8), intent (in) :: set
    103  1.1  mrg           end subroutine omp_set_dynamic_8
    104  1.1  mrg         end interface
    105  1.1  mrg 
    106  1.1  mrg         interface omp_set_nested
    107  1.1  mrg           subroutine omp_set_nested (set)
    108  1.1  mrg             logical (4), intent (in) :: set
    109  1.1  mrg           end subroutine omp_set_nested
    110  1.1  mrg           subroutine omp_set_nested_8 (set)
    111  1.1  mrg             logical (8), intent (in) :: set
    112  1.1  mrg           end subroutine omp_set_nested_8
    113  1.1  mrg         end interface
    114  1.1  mrg 
    115  1.1  mrg         interface omp_set_num_threads
    116  1.1  mrg           subroutine omp_set_num_threads (set)
    117  1.1  mrg             integer (4), intent (in) :: set
    118  1.1  mrg           end subroutine omp_set_num_threads
    119  1.1  mrg           subroutine omp_set_num_threads_8 (set)
    120  1.1  mrg             integer (8), intent (in) :: set
    121  1.1  mrg           end subroutine omp_set_num_threads_8
    122  1.1  mrg         end interface
    123  1.1  mrg 
    124  1.1  mrg         interface
    125  1.1  mrg           function omp_get_dynamic ()
    126  1.1  mrg             use omp_lib_kinds
    127  1.3  mrg             logical (4) :: omp_get_dynamic
    128  1.1  mrg           end function omp_get_dynamic
    129  1.1  mrg         end interface
    130  1.1  mrg 
    131  1.1  mrg         interface
    132  1.1  mrg           function omp_get_nested ()
    133  1.1  mrg             use omp_lib_kinds
    134  1.3  mrg             logical (4) :: omp_get_nested
    135  1.1  mrg           end function omp_get_nested
    136  1.1  mrg         end interface
    137  1.1  mrg 
    138  1.1  mrg         interface
    139  1.1  mrg           function omp_in_parallel ()
    140  1.1  mrg             use omp_lib_kinds
    141  1.3  mrg             logical (4) :: omp_in_parallel
    142  1.1  mrg           end function omp_in_parallel
    143  1.1  mrg         end interface
    144  1.1  mrg 
    145  1.1  mrg         interface
    146  1.1  mrg           function omp_test_lock (lock)
    147  1.1  mrg             use omp_lib_kinds
    148  1.3  mrg             logical (4) :: omp_test_lock
    149  1.1  mrg             integer (omp_lock_kind), intent (inout) :: lock
    150  1.1  mrg           end function omp_test_lock
    151  1.1  mrg         end interface
    152  1.1  mrg 
    153  1.1  mrg         interface
    154  1.1  mrg           function omp_get_max_threads ()
    155  1.1  mrg             use omp_lib_kinds
    156  1.3  mrg             integer (4) :: omp_get_max_threads
    157  1.1  mrg           end function omp_get_max_threads
    158  1.1  mrg         end interface
    159  1.1  mrg 
    160  1.1  mrg         interface
    161  1.1  mrg           function omp_get_num_procs ()
    162  1.1  mrg             use omp_lib_kinds
    163  1.3  mrg             integer (4) :: omp_get_num_procs
    164  1.1  mrg           end function omp_get_num_procs
    165  1.1  mrg         end interface
    166  1.1  mrg 
    167  1.1  mrg         interface
    168  1.1  mrg           function omp_get_num_threads ()
    169  1.1  mrg             use omp_lib_kinds
    170  1.3  mrg             integer (4) :: omp_get_num_threads
    171  1.1  mrg           end function omp_get_num_threads
    172  1.1  mrg         end interface
    173  1.1  mrg 
    174  1.1  mrg         interface
    175  1.1  mrg           function omp_get_thread_num ()
    176  1.1  mrg             use omp_lib_kinds
    177  1.3  mrg             integer (4) :: omp_get_thread_num
    178  1.1  mrg           end function omp_get_thread_num
    179  1.1  mrg         end interface
    180  1.1  mrg 
    181  1.1  mrg         interface
    182  1.1  mrg           function omp_test_nest_lock (lock)
    183  1.1  mrg             use omp_lib_kinds
    184  1.3  mrg             integer (4) :: omp_test_nest_lock
    185  1.1  mrg             integer (omp_nest_lock_kind), intent (inout) :: lock
    186  1.1  mrg           end function omp_test_nest_lock
    187  1.1  mrg         end interface
    188  1.1  mrg 
    189  1.1  mrg         interface
    190  1.1  mrg           function omp_get_wtick ()
    191  1.1  mrg             double precision :: omp_get_wtick
    192  1.1  mrg           end function omp_get_wtick
    193  1.1  mrg         end interface
    194  1.1  mrg 
    195  1.1  mrg         interface
    196  1.1  mrg           function omp_get_wtime ()
    197  1.1  mrg             double precision :: omp_get_wtime
    198  1.1  mrg           end function omp_get_wtime
    199  1.1  mrg         end interface
    200  1.1  mrg 
    201  1.1  mrg         interface omp_set_schedule
    202  1.1  mrg           subroutine omp_set_schedule (kind, modifier)
    203  1.1  mrg             use omp_lib_kinds
    204  1.1  mrg             integer (omp_sched_kind), intent (in) :: kind
    205  1.1  mrg             integer (4), intent (in) :: modifier
    206  1.1  mrg           end subroutine omp_set_schedule
    207  1.1  mrg           subroutine omp_set_schedule_8 (kind, modifier)
    208  1.1  mrg             use omp_lib_kinds
    209  1.1  mrg             integer (omp_sched_kind), intent (in) :: kind
    210  1.1  mrg             integer (8), intent (in) :: modifier
    211  1.1  mrg           end subroutine omp_set_schedule_8
    212  1.1  mrg          end interface
    213  1.1  mrg 
    214  1.1  mrg         interface omp_get_schedule
    215  1.1  mrg           subroutine omp_get_schedule (kind, modifier)
    216  1.1  mrg             use omp_lib_kinds
    217  1.1  mrg             integer (omp_sched_kind), intent (out) :: kind
    218  1.1  mrg             integer (4), intent (out) :: modifier
    219  1.1  mrg           end subroutine omp_get_schedule
    220  1.1  mrg           subroutine omp_get_schedule_8 (kind, modifier)
    221  1.1  mrg             use omp_lib_kinds
    222  1.1  mrg             integer (omp_sched_kind), intent (out) :: kind
    223  1.1  mrg             integer (8), intent (out) :: modifier
    224  1.1  mrg           end subroutine omp_get_schedule_8
    225  1.1  mrg          end interface
    226  1.1  mrg 
    227  1.1  mrg         interface
    228  1.1  mrg           function omp_get_thread_limit ()
    229  1.1  mrg             use omp_lib_kinds
    230  1.3  mrg             integer (4) :: omp_get_thread_limit
    231  1.1  mrg           end function omp_get_thread_limit
    232  1.1  mrg         end interface
    233  1.1  mrg 
    234  1.1  mrg         interface omp_set_max_active_levels
    235  1.1  mrg           subroutine omp_set_max_active_levels (max_levels)
    236  1.1  mrg             use omp_lib_kinds
    237  1.1  mrg             integer (4), intent (in) :: max_levels
    238  1.1  mrg           end subroutine omp_set_max_active_levels
    239  1.1  mrg           subroutine omp_set_max_active_levels_8 (max_levels)
    240  1.1  mrg             use omp_lib_kinds
    241  1.1  mrg             integer (8), intent (in) :: max_levels
    242  1.1  mrg           end subroutine omp_set_max_active_levels_8
    243  1.1  mrg         end interface
    244  1.1  mrg 
    245  1.1  mrg         interface
    246  1.1  mrg           function omp_get_max_active_levels ()
    247  1.1  mrg             use omp_lib_kinds
    248  1.3  mrg             integer (4) :: omp_get_max_active_levels
    249  1.1  mrg           end function omp_get_max_active_levels
    250  1.1  mrg         end interface
    251  1.1  mrg 
    252  1.1  mrg         interface
    253  1.1  mrg           function omp_get_level ()
    254  1.1  mrg             use omp_lib_kinds
    255  1.3  mrg             integer (4) :: omp_get_level
    256  1.1  mrg           end function omp_get_level
    257  1.1  mrg         end interface
    258  1.1  mrg 
    259  1.1  mrg         interface omp_get_ancestor_thread_num
    260  1.1  mrg           function omp_get_ancestor_thread_num (level)
    261  1.1  mrg             use omp_lib_kinds
    262  1.1  mrg             integer (4), intent (in) :: level
    263  1.3  mrg             integer (4) :: omp_get_ancestor_thread_num
    264  1.1  mrg           end function omp_get_ancestor_thread_num
    265  1.1  mrg           function omp_get_ancestor_thread_num_8 (level)
    266  1.1  mrg             use omp_lib_kinds
    267  1.1  mrg             integer (8), intent (in) :: level
    268  1.3  mrg             integer (4) :: omp_get_ancestor_thread_num_8
    269  1.1  mrg           end function omp_get_ancestor_thread_num_8
    270  1.1  mrg         end interface
    271  1.1  mrg 
    272  1.1  mrg         interface omp_get_team_size
    273  1.1  mrg           function omp_get_team_size (level)
    274  1.1  mrg             use omp_lib_kinds
    275  1.1  mrg             integer (4), intent (in) :: level
    276  1.3  mrg             integer (4) :: omp_get_team_size
    277  1.1  mrg           end function omp_get_team_size
    278  1.1  mrg           function omp_get_team_size_8 (level)
    279  1.1  mrg             use omp_lib_kinds
    280  1.1  mrg             integer (8), intent (in) :: level
    281  1.3  mrg             integer (4) :: omp_get_team_size_8
    282  1.1  mrg           end function omp_get_team_size_8
    283  1.1  mrg         end interface
    284  1.1  mrg 
    285  1.1  mrg         interface
    286  1.1  mrg           function omp_get_active_level ()
    287  1.1  mrg             use omp_lib_kinds
    288  1.3  mrg             integer (4) :: omp_get_active_level
    289  1.1  mrg           end function omp_get_active_level
    290  1.1  mrg         end interface
    291  1.1  mrg 
    292  1.3  mrg         interface
    293  1.3  mrg           function omp_in_final ()
    294  1.3  mrg             use omp_lib_kinds
    295  1.3  mrg             logical (4) :: omp_in_final
    296  1.3  mrg           end function omp_in_final
    297  1.3  mrg         end interface
    298  1.3  mrg 
    299  1.1  mrg       end module omp_lib
    300