From e2e2cbf31701a8e199597bf024c7e6bce02d9703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lorenz=20H=C3=BCdepohl?= <lorenz.huedepohl@rzg.mpg.de> Date: Wed, 27 Feb 2019 15:49:46 +0100 Subject: [PATCH] Filter some PGI/IMPI combinations --- mpcdf_common.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/mpcdf_common.py b/mpcdf_common.py index aa9d161..a026980 100644 --- a/mpcdf_common.py +++ b/mpcdf_common.py @@ -29,6 +29,14 @@ mpi_parallel_studio = {value["impi"]: dict({"ps": key}, **value) for key, value compiler_parallel_studio = {value["compiler"]: dict({"ps": key}, **value) for key, value in intel_parallel_studio.items()} +def valid_pgi_mpi(pgi, mpi): + if "impi" not in mpi: + return False + if "2017" in mpi: + return False + return True + + def valid_mpi(compiler, mpi): """ It might be possible to use Intel MPI libararies and compilers from @@ -40,6 +48,8 @@ def valid_mpi(compiler, mpi): """ if compiler.startswith("intel") and mpi.startswith("impi"): return mpi == compiler_parallel_studio[compiler]["impi"] + if compiler.startswith("pgi"): + return valid_pgi_mpi(compiler, mpi) else: return True @@ -291,7 +301,7 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r if flag == "cuda_mpi": for cuda, mpi, compiler in product(actual_cudas(), actual_mpis(), all_compilers): if valid_cuda(cuda, compiler) and valid_mpi(compiler, mpi): - enable(cuda + "_" + mpi + "_" + compiler) + enable(cuda + "_" + mpi + "_" + compiler) if flag == "pgi": for pgi in actual_pgis(): @@ -299,7 +309,8 @@ def mpcdf_enable_repositories(api_url, project, package, verbose=False, filter_r if flag == "pgi_mpi": for mpi, pgi in product(actual_mpis(), actual_pgis()): - enable(mpi + "_" + pgi) + if valid_pgi_mpi(pgi, mpi): + enable(mpi + "_" + pgi) if len(build.getchildren()) > 0: build.getchildren()[-1].tail = "\n " -- GitLab