-
Notifications
You must be signed in to change notification settings - Fork 180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Traditional threading as option for forecast model #3122
Comments
@JessicaMeixner-NOAA Just to explain the nature of change required to fulfill this issue the We will need to replace the
The numbers here are just representative of the detail needed to construct the |
@aerorahul that will be awesome to have that level of detail in the executable instead of having everything have the same number of threads!! |
In a previous PR, stubs were added to enable traditional threading in the UFS. This PR takes the next step to execute the model with traditional threading. Specifically; 1. Do not use the `_esmf` `ufs_configure` file for traditional threading. This sets the `globalResourceControl` to `false` (traditional threading) ... this was done in the previous PR 2. when calculating components pet bounds do not multiply with number of threads also in `ufs_configure` ... this PR 3. `export OMP_NUM_THREADS=$UFS_THREADS` ... this was done in the previous PR The default behaviour to use ESMF-managed threading is retained. Traditional threading can be achieved by toggling `USE_ESMF_THREADING` flag in `config.fcst` Closes NOAA-EMC#3122 - as in allows the model to be configured to run w/ traditional threading. Testing on C768 S2SW was successful on Hercules (This was previously reported to be failing) The use of traditional threading will be inefficient for model components that are not thread-enabled and supported e.g. MOM6 and CICE6, but since they require smaller number of tasks compared to ATM or WAV, the CPU 'waste' is not huge.
What new functionality do you need?
Due to an issue with the model hanging on orion/hercules at high resolutions (C768/C1152) being most likely associated with the esmf managed threading (see ufs-community/ufs-weather-model#2486 for more details), to support GFSv17 development we'd like to get traditional threading as an option in the g-w. This comment from @aerorahul ufs-community/ufs-weather-model#2486 (comment) says that a different set of ufs_configure files are needed. I think these are now available in ufs-weather-model though. I believe those are the options without the _esmf
Hercules and orion are being explored as potential options for retrospective runs as WCOSS2 is busy with multiple large implementations coming up.
What are the requirements for the new functionality?
Allow for an option to run with traditional threading since ESMF managed threading appears to be an issue currently on hercules/orion.
Acceptance Criteria
Suggest a solution (optional)
I believe that the calculation of resources also needs to be updated.
The text was updated successfully, but these errors were encountered: