This PR introduces four new XML variables for a more flexible control of GPU configuration:
GPU_TYPE: the type of GPU device to be used, such as NVIDIA A100 GPU, AMD MI250, etc.
GPU_OFFLOAD: the type of GPU programming model for GPU offload, such as OpenACC, OpenMP target offload, etc.
MAX_CPUTASKS_PER_GPU_NODE: the maximum number of CPU cores / MPI ranks per GPU node that can be used for simulation. This variable is needed for machines (e.g., Gust at NCAR) where CPU and GPU nodes have different number of CPU cores.
MPI_GPU_WRAPPER_SCRIPT: the wrapper script that will be attached to the MPI run command and map different MPI ranks to different GPUs within the same compute node.
This PR introduces four new XML variables for a more flexible control of GPU configuration:
This PR will work properly with the PRs in CIME (https://github.com/ESMCI/cime/pull/4396) and ccs_config_cesm (https://github.com/ESMCI/ccs_config_cesm/pull/97).