diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/survey/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/survey/package.py | 138 |
1 files changed, 70 insertions, 68 deletions
diff --git a/var/spack/repos/builtin/packages/survey/package.py b/var/spack/repos/builtin/packages/survey/package.py index b0f248dccc..0b3407f8af 100644 --- a/var/spack/repos/builtin/packages/survey/package.py +++ b/var/spack/repos/builtin/packages/survey/package.py @@ -8,88 +8,90 @@ from spack.package import * class Survey(CMakePackage): """Survey is a high level performance tool product from Trenza, Inc. - The survey collector/analytics framework is a new generation, - high level, lightweight multiplatform Linux tool set that - targets metric collection for high level performance analysis - of applications running on both single node and on large scale - platforms, including the Cray platforms. - - The collector is designed to work on sequential, MPI, OpenMP, - and hybrid codes and directly leverages several interfaces - available for tools inside current MPI implementations including: - MPICH, MVAPICH, MPT, and OpenMPI. It also supports multiple - architectures and has been tested on machines based on Intel, - AMD, ARM, and IBM P8/9 processors and integrated GPUs. - - Survey is a licensed product with the source not openly available. - To access the survey source and build with spack please contact: - Trenza Inc. via: dmont@trenzasynergy.com or - jeg@trenzasynergy.com + The survey collector/analytics framework is a new generation, + high level, lightweight multiplatform Linux tool set that + targets metric collection for high level performance analysis + of applications running on both single node and on large scale + platforms, including the Cray platforms. + + The collector is designed to work on sequential, MPI, OpenMP, + and hybrid codes and directly leverages several interfaces + available for tools inside current MPI implementations including: + MPICH, MVAPICH, MPT, and OpenMPI. It also supports multiple + architectures and has been tested on machines based on Intel, + AMD, ARM, and IBM P8/9 processors and integrated GPUs. + + Survey is a licensed product with the source not openly available. + To access the survey source and build with spack please contact: + Trenza Inc. via: dmont@trenzasynergy.com or + jeg@trenzasynergy.com """ homepage = "http://www.trenzasynergy.com" - git = "ssh://git@gitlab.com/trenza/survey.git" + git = "ssh://git@gitlab.com/trenza/survey.git" - maintainers = ['jgalarowicz'] + maintainers = ["jgalarowicz"] - version('master', branch='master') - version('1.0.5', branch='1.0.5') - version('1.0.4', tag='1.0.4') - version('1.0.3', tag='1.0.3') - version('1.0.2', tag='1.0.2') - version('1.0.1.1', tag='1.0.1.1') - version('1.0.1', tag='1.0.1') - version('1.0.0', branch='1.0.0') + version("master", branch="master") + version("1.0.5", branch="1.0.5") + version("1.0.4", tag="1.0.4") + version("1.0.3", tag="1.0.3") + version("1.0.2", tag="1.0.2") + version("1.0.1.1", tag="1.0.1.1") + version("1.0.1", tag="1.0.1") + version("1.0.0", branch="1.0.0") - variant('mpi', default=False, - description="Enable mpi, build MPI data collector") + variant("mpi", default=False, description="Enable mpi, build MPI data collector") - variant('tls_model', default='explicit', - description='The TLS model to build with', - values=('implicit', 'explicit')) + variant( + "tls_model", + default="explicit", + description="The TLS model to build with", + values=("implicit", "explicit"), + ) # must have cmake at 3.12 or greater to find python3 - depends_on('cmake@3.12:', type='build') + depends_on("cmake@3.12:", type="build") # for collectors - depends_on("libmonitor@2021.04.27+commrank", type=('build', 'link', 'run'), when='@:1.0.2') - depends_on('libmonitor@2021.11.08+commrank', type=('build', 'link', 'run'), when='@1.0.3:') + depends_on("libmonitor@2021.04.27+commrank", type=("build", "link", "run"), when="@:1.0.2") + depends_on("libmonitor@2021.11.08+commrank", type=("build", "link", "run"), when="@1.0.3:") - depends_on("papi@5:", type=('build', 'link', 'run')) - depends_on("gotcha@master", type=('build', 'link', 'run')) - depends_on("llvm-openmp@9.0.0", type=('build', 'link', 'run'), when='@:1.0.2') - depends_on('llvm-openmp@12.0.1', type=('build', 'link', 'run'), when='@1.0.3:') + depends_on("papi@5:", type=("build", "link", "run")) + depends_on("gotcha@master", type=("build", "link", "run")) + depends_on("llvm-openmp@9.0.0", type=("build", "link", "run"), when="@:1.0.2") + depends_on("llvm-openmp@12.0.1", type=("build", "link", "run"), when="@1.0.3:") # MPI Installation depends_on("mpi", when="+mpi") - depends_on("python@3:", type=('build', 'run')) - depends_on("py-setuptools", type='build') - depends_on("py-pip", type='build') - depends_on("py-pandas", type=('build', 'run')) - depends_on("py-psutil", type=('build', 'run')) - depends_on("py-sqlalchemy", type=('build', 'run')) - depends_on("py-pyyaml", type=('build', 'run')) - depends_on("py-seaborn", type=('build', 'run'), when='@1.0.3:') - depends_on("py-jinja2", type=('build', 'run'), when='@1.0.3:') - depends_on("py-matplotlib", type=('build', 'run'), when='@1.0.3:') - depends_on("py-more-itertools", type=('build', 'run'), when='@1.0.4:') - depends_on("py-versioneer", type=('build', 'run'), when='@1.0.5:') - - extends('python') + depends_on("python@3:", type=("build", "run")) + depends_on("py-setuptools", type="build") + depends_on("py-pip", type="build") + depends_on("py-pandas", type=("build", "run")) + depends_on("py-psutil", type=("build", "run")) + depends_on("py-sqlalchemy", type=("build", "run")) + depends_on("py-pyyaml", type=("build", "run")) + depends_on("py-seaborn", type=("build", "run"), when="@1.0.3:") + depends_on("py-jinja2", type=("build", "run"), when="@1.0.3:") + depends_on("py-matplotlib", type=("build", "run"), when="@1.0.3:") + depends_on("py-more-itertools", type=("build", "run"), when="@1.0.4:") + depends_on("py-versioneer", type=("build", "run"), when="@1.0.5:") + + extends("python") parallel = False def get_mpi_cmake_options(self, spec): # Returns MPI cmake_options that will enable the appropriate # MPI implementation is specified as a cmake argument. - mpi_args = ['-D%s_DIR=%s' % (spec['mpi'].name.upper(), spec['mpi'].prefix)] + mpi_args = ["-D%s_DIR=%s" % (spec["mpi"].name.upper(), spec["mpi"].prefix)] return mpi_args def cmake_args(self): spec = self.spec - if 'tls_model=implicit' in spec: + if "tls_model=implicit" in spec: spack_tls_model = "implicit" else: spack_tls_model = "explicit" @@ -97,17 +99,17 @@ class Survey(CMakePackage): # Add in paths for finding package config files that tell us # where to find these packages cmake_args = [ - '-DCMAKE_VERBOSE_MAKEFILE=ON', - '-DTLS_MODEL=%s' % spack_tls_model, - '-DLIBMONITOR_DIR=%s' % spec['libmonitor'].prefix, - '-DPAPI_DIR=%s' % spec['papi'].prefix, - '-DLIBIOMP_DIR=%s' % spec['llvm-openmp'].prefix, - '-DPYTHON_DIR=%s' % spec['python'].prefix, - '-DGOTCHA_DIR=%s' % spec['gotcha'].prefix + "-DCMAKE_VERBOSE_MAKEFILE=ON", + "-DTLS_MODEL=%s" % spack_tls_model, + "-DLIBMONITOR_DIR=%s" % spec["libmonitor"].prefix, + "-DPAPI_DIR=%s" % spec["papi"].prefix, + "-DLIBIOMP_DIR=%s" % spec["llvm-openmp"].prefix, + "-DPYTHON_DIR=%s" % spec["python"].prefix, + "-DGOTCHA_DIR=%s" % spec["gotcha"].prefix, ] # Add any MPI implementations coming from variant settings - if '+mpi' in spec: + if "+mpi" in spec: mpi_options = self.get_mpi_cmake_options(spec) cmake_args.extend(mpi_options) @@ -118,11 +120,11 @@ class Survey(CMakePackage): # Set SURVEY_MPI_IMPLEMENTATON to the appropriate mpi implementation # This is needed by survey to deploy the correct mpi runtimes. - if '+mpi' in self.spec: - env.set('SURVEY_MPI_IMPLEMENTATION', self.spec['mpi'].name.lower()) + if "+mpi" in self.spec: + env.set("SURVEY_MPI_IMPLEMENTATION", self.spec["mpi"].name.lower()) # For compatibility reasons we need - env.prepend_path('PATH', self.spec['python'].prefix.bin) + env.prepend_path("PATH", self.spec["python"].prefix.bin) # Add paths for sub-tools that are used by survey - env.prepend_path('PATH', self.spec['papi'].prefix.bin) - env.prepend_path('PATH', self.spec['libmonitor'].prefix.bin) + env.prepend_path("PATH", self.spec["papi"].prefix.bin) + env.prepend_path("PATH", self.spec["libmonitor"].prefix.bin) |