NCEPLIBS-ip
5.3.0
Toggle main menu visibility
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
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
▼
NCEPLIBS-ip
►
Introduction
►
Modules
►
Data Types
▼
Files
▼
File List
▼
src
►
bicubic_interp_mod.F90
►
bilinear_interp_mod.F90
►
budget_interp_mod.F90
►
earth_radius_mod.F90
►
fftpack.F
►
gdswzd_c.F90
►
gdswzd_mod.F90
►
ip_constants_mod.F90
►
ip_equid_cylind_grid_mod.F90
►
ip_gaussian_grid_mod.F90
►
ip_grid_descriptor_mod.F90
►
ip_grid_factory_mod.F90
►
ip_grid_mod.F90
ip_grids_mod.F90
►
ip_interpolators_mod.F90
►
ip_lambert_conf_grid_mod.F90
►
ip_mercator_grid_mod.F90
ip_mod.F90
►
ip_polar_stereo_grid_mod.F90
►
ip_rot_equid_cylind_egrid_mod.F90
►
ip_rot_equid_cylind_grid_mod.F90
►
ip_station_points_grid_mod.F90
►
iplib_4.h
►
iplib_8.h
►
iplib_d.h
►
ipolates.F90
►
ipolatev.F90
►
ipxetas.F90
►
ipxwafs.F90
►
ipxwafs2.F90
►
ipxwafs3.F90
►
movect.F90
►
ncpus.F
►
neighbor_budget_interp_mod.F90
►
neighbor_interp_mod.F90
►
polfix_mod.F90
sp_mod.F
►
spanaly.f
►
spdz2uv.f
►
spectral_interp_mod.F90
►
speps.f
►
spfft.f
►
spfft1.f
►
spffte.f
►
spfftpt.f
►
spgradq.f
►
spgradx.f
►
spgrady.f
►
splaplac.f
►
splat.F
►
splegend.f
►
sppad.f
►
spsynth.f
►
sptez.f
►
sptezd.f
►
sptezm.f
►
sptezmd.f
►
sptezmv.f
►
sptezv.f
►
sptgpm.f
►
sptgpmd.f
►
sptgpmv.f
►
sptgps.f
►
sptgpsd.f
►
sptgpsv.f
►
sptgpt.f
►
sptgptd.f
►
sptgptsd.f
►
sptgptv.f
►
sptgptvd.f
►
sptran.f
►
sptrand.f
►
sptranf.f
►
sptranf0.f
►
sptranf1.f
►
sptranfv.f
►
sptranv.f
►
sptrun.f
►
sptrund.f
►
sptrung.f
►
sptrungv.f
►
sptrunl.f
►
sptrunm.f
►
sptrunmv.f
►
sptruns.f
►
sptrunsv.f
►
sptrunv.f
►
spuv2dz.f
►
spvar.f
►
spwget.f
►
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Pages
Loading...
Searching...
No Matches
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> @return Number of CPUs assigned.
19
C>
20
C> @author Iredell @date 94-08-19
21
FUNCTION
ncpus
()
22
INTEGER
tid
23
C Obtain thread number
24
#ifdef openmp
25
INTEGER
omp_get_num_threads,omp_get_thread_num
26
!$OMP PARALLEL PRIVATE(TID)
27
tid = omp_get_thread_num()
28
! PRINT *, '...............thread # ', TID
29
if
(tid. eq. 0)
then
30
ncpus
=omp_get_num_threads()
31
! PRINT *, 'totaly #------------------- of threads = ',NCPUS
32
endif
33
!$OMP END PARALLEL
34
#else
35
tid = 0
36
ncpus
= 1
37
#endif
38
RETURN
21
FUNCTION
ncpus
()
…
39
END
ncpus
function ncpus()
Set number of CPUs - the number of processors over which to parallelize.
Definition
ncpus.F:22
src
ncpus.F
Generated by
1.13.2