NCAR / wrf-python

A collection of diagnostic and interpolation routines for use with output from the Weather Research and Forecasting (WRF-ARW) Model.
https://wrf-python.readthedocs.io
Apache License 2.0
410 stars 155 forks source link

How to determine the suitable number of threads for omp_set_num_threads #200

Open ZhangAllen98 opened 1 year ago

ZhangAllen98 commented 1 year ago

I noticed that using the wrf.omp_set_num_threadsfunction with cache could speed up the process of getvar from this page. However, in my case, wrf.omp_get_num_procs()=128 ,(64 CPU cores (128 total threads)), I found that setting wrf.omp_set_num_threads(48) is better than wrf.omp_set_num_threads(wrf.omp_get_num_procs()) or wrf.omp_get_num_procs(64), which means that the former case spend less time. Are there some rules to set the threads number to be used?

My wrfout files contain a series of variables whose shape is (time,level,lat,lon) = (4,53,312,321)