Score-P: mpi and shmem fixes (#48069)

* Score-P: Replace with-or-without, document options that are not currently explicitly mapped in package for mpi and shmem.
* trim long lines

---------

Co-authored-by: wrwilliams <wrwilliams@users.noreply.github.com>
This commit is contained in:
Bill Williams 2024-12-19 02:14:59 +01:00 committed by GitHub
parent be3a33ecf7
commit f1fbf11b33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -200,10 +200,15 @@ def configure_args(self):
if "+hip" in spec: if "+hip" in spec:
config_args.append("--with-rocm=%s" % spec["hip"].prefix) config_args.append("--with-rocm=%s" % spec["hip"].prefix)
config_args += self.with_or_without("shmem") if "~shmem" in spec:
config_args += self.with_or_without("mpi") config_args.append("--without-shmem")
# Autodetect shmem in +shmem case
# Valid --with-shmem values are cray|openshmem|openmpi|openmpi3|sgimpt|
# sgimptwrapper|spectrum
# If autodetection fails for +shmem with one of these available to spack, please add
# a "if spec.satisfies():" clause for said package.
if spec.satisfies("^intel-mpi"): if spec.satisfies("^intel-mpi") or spec.satisfies("^intel-oneapi-mpi"):
config_args.append("--with-mpi=intel3") config_args.append("--with-mpi=intel3")
elif ( elif (
spec.satisfies("^mpich") spec.satisfies("^mpich")
@ -213,7 +218,16 @@ def configure_args(self):
config_args.append("--with-mpi=mpich3") config_args.append("--with-mpi=mpich3")
elif spec.satisfies("^openmpi") or spec.satisfies("^hpcx-mpi"): elif spec.satisfies("^openmpi") or spec.satisfies("^hpcx-mpi"):
config_args.append("--with-mpi=openmpi") config_args.append("--with-mpi=openmpi")
elif "~mpi" in spec:
config_args.append("--without-mpi")
# Let any +mpi that gets here autodetect, which is default
# Valid values are bullxmpi|cray|hp|ibmpoe|intel|intel2|intel3|intelpoe|lam|mpibull2
# |mpich|mpich2|mpich3|mpich4|openmpi|openmpi3|platform|scali|sgimpt|sgimptwrapper
# |spectrum|sun
# Score-P does not care overly much as long as the MPI compilers are set
# (see end of function)
# but add similar spec.satisfies clauses for any that you need.
# -- wrwilliams 12/2024
if spec.satisfies("^binutils"): if spec.satisfies("^binutils"):
config_args.append("--with-libbfd-lib=%s" % spec["binutils"].prefix.lib) config_args.append("--with-libbfd-lib=%s" % spec["binutils"].prefix.lib)
config_args.append("--with-libbfd-include=%s" % spec["binutils"].prefix.include) config_args.append("--with-libbfd-include=%s" % spec["binutils"].prefix.include)