blob: da5863163e28a23ae1d1ead160ed9255cf0ae1e0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Spindle(AutotoolsPackage):
"""Spindle improves the library-loading performance of dynamically
linked HPC applications. Without Spindle large MPI jobs can
overload on a shared file system when loading dynamically
linked libraries, causing site-wide performance problems.
"""
homepage = "https://computing.llnl.gov/project/spindle/"
url = "https://github.com/hpc/Spindle/archive/v0.12.tar.gz"
version('0.12', sha256='3fd9d0afefa9072fffdf2cfd80a0b5e557e201a0b0eb02e7379eae65e64eb1f2')
version('0.8.1', sha256='c1e099e913faa8199be5811dc7b8be0266f0d1fd65f0a3a25bb46fbc70954ed6')
depends_on("launchmon")
# All versions provide the runtime option --no-mpi to not use MPI, but mpi
# is needed for the build:
# 0.8.1 wants to compile tests with mpi.h, newer versions need mpicc
depends_on("mpi")
# Workaround for:
# spindle_logd.cc:65:76: error: narrowing conversion of '255' from 'int' to 'char'
# spindle_logd.cc:65:76: error: narrowing conversion of '223' from 'int' to 'char'
# spindle_logd.cc:65:76: error: narrowing conversion of '191' from 'int' to 'char'
@when('@0.8.1 %gcc')
def setup_build_environment(self, env):
env.append_flags('CPPFLAGS', '-Wno-narrowing')
|