From f184078c9867504cf2558579b2cdca2dea3bd5b5 Mon Sep 17 00:00:00 2001 From: Azamat Mametjanov Date: Fri, 19 Apr 2019 13:23:13 -0500 Subject: [PATCH] Omit OMP_NUM_THREADS in MPI-only runs --- scripts/lib/CIME/case/case.py | 6 ++++-- scripts/lib/CIME/case/case_run.py | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/lib/CIME/case/case.py b/scripts/lib/CIME/case/case.py index ba7b942e417..ebe683eee01 100644 --- a/scripts/lib/CIME/case/case.py +++ b/scripts/lib/CIME/case/case.py @@ -177,7 +177,8 @@ def initialize_derived_attributes(self): threads_per_core = 1 if (threads_per_node <= max_mpitasks_per_node) else smt_factor self.cores_per_task = self.thread_count / threads_per_core - os.environ["OMP_NUM_THREADS"] = str(self.thread_count) + if self.get_build_threaded(): + os.environ["OMP_NUM_THREADS"] = str(self.thread_count) self.srun_binding = smt_factor*max_mpitasks_per_node / self.tasks_per_node @@ -1411,7 +1412,8 @@ def load_env(self, reset=False, job=None, verbose=False): if not self._is_env_loaded or reset: if job is None: job = self.get_primary_job() - os.environ["OMP_NUM_THREADS"] = str(self.thread_count) + if self.get_build_threaded(): + os.environ["OMP_NUM_THREADS"] = str(self.thread_count) env_module = self.get_env("mach_specific") env_module.load_env(self, job=job, verbose=verbose) self._is_env_loaded = True diff --git a/scripts/lib/CIME/case/case_run.py b/scripts/lib/CIME/case/case_run.py index f7fc66a4a6b..05f9b4b9163 100644 --- a/scripts/lib/CIME/case/case_run.py +++ b/scripts/lib/CIME/case/case_run.py @@ -76,7 +76,8 @@ def _run_model_impl(case, lid, skip_pnl=False, da_cycle=0): model = case.get_value("MODEL") # Set OMP_NUM_THREADS - os.environ["OMP_NUM_THREADS"] = str(case.thread_count) + if case.get_build_threaded(): + os.environ["OMP_NUM_THREADS"] = str(case.thread_count) # Run the model cmd = case.get_mpirun_cmd(allow_unresolved_envvars=False)