[Wrf-users] How to limit number of threads in 'smpar' OpenMP runs?
Anders A Nottrott
anottrot at ucsd.edu
Wed Sep 7 15:44:54 MDT 2011
I am trying to run an ideal LES simulation as a parallel process (i.e. using
option 'smpar'). I have an 8 core machine but I would like to limit the
number of threads to 4. I tried setting the environment variable
'OMP_NUM_THREADS=4' prior to configuration and compilation. However, when I
run wrf.exe I get the following just before the simulation begins:
WRF NUMBER OF TILES FROM OMP_GET_MAX_THREADS = 8
WRF TILE 1 IS 1 IE 100 JS 1 JE 13
WRF TILE 2 IS 1 IE 100 JS 14 JE 26
WRF TILE 3 IS 1 IE 100 JS 27 JE 38
WRF TILE 4 IS 1 IE 100 JS 39 JE 50
WRF TILE 5 IS 1 IE 100 JS 51 JE 62
WRF TILE 6 IS 1 IE 100 JS 63 JE 74
WRF TILE 7 IS 1 IE 100 JS 75 JE 87
WRF TILE 8 IS 1 IE 100 JS 88 JE 100
WRF NUMBER OF TILES = 8
I looked in 'module_tiles.F' and it appears that the variable 'num_tiles' is
assigned by the OMP_GET_MAX_THREADS function. Perhaps this is overriding the
environment setting??? Note that when I check my system performance the code
is running on all 8 cores, but this is not efficient since I want to run
other process on my machine.
I also messed with some of the parameters in the namelist, e.g. 'tile_sz_x',
'tile_sz_y', 'numtiles', 'nproc_x', 'nproc_y', but to no avail.
Any suggestions will be most appreciated.
PhD Student, Mechanical and Environmental Engineering
University of California, San Diego
Department of Mechanical and Aerospace Engineering
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Wrf-users