NCEPLIBS-ip
5.1.0
Main Page
Modules
Modules List
Module Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
u
y
Functions/Subroutines
e
f
g
i
l
m
p
r
u
Variables
a
b
c
d
e
g
h
i
j
k
l
m
n
o
p
r
s
y
Data Types List
Data Types List
Class Hierarchy
Data Fields
All
c
d
e
f
g
h
i
j
k
n
o
p
r
s
w
Functions/Subroutines
f
g
i
p
Variables
c
d
e
g
h
i
j
k
n
o
r
s
w
Files
File List
Globals
All
c
d
g
i
m
n
r
s
Functions/Subroutines
c
d
g
i
m
n
r
s
•
All
Data Structures
Namespaces
Files
Functions
Variables
Pages
ncpus.F
Go to the documentation of this file.
1
C> @file
2
C> Set number of cpus.
3
C>
4
C> ### Program History Log
5
C> Date | Programmer | Comments
6
C> -----|------------|---------
7
C> 94-08-19 | Iredell | Initial.
8
C> 98-11-09 | Vuong | Add doc>block and remove cray references.
9
C> 1998-12-18 | Iredell | IBM SMP version.
10
C> 2010-11-16 | Slovacek | Linux must have different call.
11
C> 2012-11-01 | Mirvis | Multi-threading on LINUX-IBM/TIDE.
12
C>
13
C> @author Iredell @date 94-08-19
14
15
C> Set number of CPUs - the number of processors over which
16
C> to parallelize.
17
C>
18
C> @param[out] ncpus number of CPUs.
19
C>
20
C> @return Number of CPUs assigned.
21
C>
22
C> @author Iredell @date 94-08-19
23
FUNCTION
ncpus
()
24
INTEGER
tid
25
C Obtain thread number
26
#ifdef openmp
27
INTEGER
omp_get_num_threads,omp_get_thread_num
28
!$OMP PARALLEL PRIVATE(TID)
29
tid = omp_get_thread_num()
30
! PRINT *, '...............thread # ', TID
31
if
(tid. eq. 0)
then
32
ncpus
=omp_get_num_threads()
33
! PRINT *, 'totaly #------------------- of threads = ',NCPUS
34
endif
35
!$OMP END PARALLEL
36
#else
37
tid = 0
38
ncpus
= 1
39
#endif
40
RETURN
41
END
ncpus
function ncpus()
Set number of CPUs - the number of processors over which to parallelize.
Definition:
ncpus.F:24
src
ncpus.F
Generated by
1.9.1