-
Notifications
You must be signed in to change notification settings - Fork 250
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
Add support for traditional threading #2533
Conversation
Use this variable to turn on writing histaux files every MED_history_n. By default it is .false. Currently only cpld_control_nowave_noaero_p8 test has it turned on.
Does traditional threading require one value of #threads per node? If yes, I'm not sure these lines in rt.sh and run_test.sh work when components under-fill nodes
and maybe compute_petbounds_and_task functions could export NODES too |
I am not sure what you mean by '#threads per node'. Are you referring to TPN variable? TPN is a number of (MPI) tasks per node, which is initially set to be equal to the number of physical cores on a given platform, 80 on Hercules, 40 on Hera, 128 on WCOSS2 etc. Then it is divided by number of threads (THRD) to avoid having multiple threads running on the same physical core. Once we have tasks per node (TPN) and total number of tasks (TASKS), we compute the number of nodes (NODES). That is done in this block:
the following block:
has been added for 'derecho support', although I never fully understood why that was needed and what is special about Derecho to require it. |
merged with #2538 |
Commit Queue Requirements:
Description:
This PR adds support for traditional (non esmf managed) threading. Currently, all '2threads' tests have been converted to traditional threading. ESMF managed threading is still the default.
To use tradition threading, set
ESMF_THREADING=false
in test's configuration file and setTHRD
to number of threads, for example:Many tests had two versions of ufs.configure templates (_esmf.IN and the version without _esmf) with the only difference being the value of
globalResourceControl:
,true
for esmf andfalse
for non-esmf threading. Those are now unified in a single ufs.configure template.Commit Message:
Priority:
Git Tracking
UFSWM:
Sub component Pull Requests:
UFSWM Blocking Dependencies:
Changes
Regression Test Changes (Please commit test_changes.list):
Input data Changes:
Library Changes/Upgrades:
Testing Log: