summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/zfp/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/zfp/package.py')
-rw-r--r--var/spack/repos/builtin/packages/zfp/package.py154
1 files changed, 80 insertions, 74 deletions
diff --git a/var/spack/repos/builtin/packages/zfp/package.py b/var/spack/repos/builtin/packages/zfp/package.py
index 22bc12fd33..1ef972aa9b 100644
--- a/var/spack/repos/builtin/packages/zfp/package.py
+++ b/var/spack/repos/builtin/packages/zfp/package.py
@@ -8,80 +8,87 @@ from spack.package import *
class Zfp(CMakePackage, CudaPackage):
"""zfp is a compressed number format for multidimensional floating-point
- and integer arrays.
+ and integer arrays.
- zfp provides compressed-array classes that support high throughput
- read and write random access to individual array elements. zfp also
- supports serial and parallel (OpenMP and CUDA) compression of whole
- arrays.
+ zfp provides compressed-array classes that support high throughput
+ read and write random access to individual array elements. zfp also
+ supports serial and parallel (OpenMP and CUDA) compression of whole
+ arrays.
"""
# Package info
- homepage = 'https://zfp.llnl.gov'
- url = 'https://github.com/LLNL/zfp/releases/download/0.5.5/zfp-0.5.5.tar.gz'
- git = 'https://github.com/LLNL/zfp.git'
- maintainers = ['lindstro', 'GarrettDMorrison']
- tags = ['radiuss', 'e4s']
+ homepage = "https://zfp.llnl.gov"
+ url = "https://github.com/LLNL/zfp/releases/download/0.5.5/zfp-0.5.5.tar.gz"
+ git = "https://github.com/LLNL/zfp.git"
+ maintainers = ["lindstro", "GarrettDMorrison"]
+ tags = ["radiuss", "e4s"]
# Versions
- version('develop', branch='develop')
- version('0.5.5', sha256='fdf7b948bab1f4e5dccfe2c2048fd98c24e417ad8fb8a51ed3463d04147393c5')
- version('0.5.4', sha256='746e17aaa401c67dcffd273d6e6f95c76adfbbd5cf523dcad56d09e9d3b71196')
- version('0.5.3', sha256='a5d2f8e5b47a7c92e2a5775b82cbfb3a76c87d0ac83d25abb4ac10ea75a2856e')
- version('0.5.2', sha256='9c738ec525cc76b4bb80b2b3f7c9f07507eeda3a341470e5942cda97efbe9a4f', url='https://github.com/LLNL/zfp/archive/0.5.2/zfp-0.5.2.tar.gz')
- version('0.5.1', sha256='f255dd1708c9ae4dc6a56dd2614e8b47a10d833c87fd349cbd47545a19c2b779', url='https://github.com/LLNL/zfp/archive/0.5.1/zfp-0.5.1.tar.gz')
+ version("develop", branch="develop")
+ version("0.5.5", sha256="fdf7b948bab1f4e5dccfe2c2048fd98c24e417ad8fb8a51ed3463d04147393c5")
+ version("0.5.4", sha256="746e17aaa401c67dcffd273d6e6f95c76adfbbd5cf523dcad56d09e9d3b71196")
+ version("0.5.3", sha256="a5d2f8e5b47a7c92e2a5775b82cbfb3a76c87d0ac83d25abb4ac10ea75a2856e")
+ version(
+ "0.5.2",
+ sha256="9c738ec525cc76b4bb80b2b3f7c9f07507eeda3a341470e5942cda97efbe9a4f",
+ url="https://github.com/LLNL/zfp/archive/0.5.2/zfp-0.5.2.tar.gz",
+ )
+ version(
+ "0.5.1",
+ sha256="f255dd1708c9ae4dc6a56dd2614e8b47a10d833c87fd349cbd47545a19c2b779",
+ url="https://github.com/LLNL/zfp/archive/0.5.1/zfp-0.5.1.tar.gz",
+ )
# Build targets
# TODO: variant('utilities', default=True, description='Build utilities')
- variant('shared', default=True, description='Build shared libraries')
+ variant("shared", default=True, description="Build shared libraries")
# Language bindings
- variant('c', default=False, description='Enable C bindings')
- variant('python', default=False, description='Enable Python bindings')
- variant('fortran', default=False, description='Enable Fortran bindings')
+ variant("c", default=False, description="Enable C bindings")
+ variant("python", default=False, description="Enable Python bindings")
+ variant("fortran", default=False, description="Enable Fortran bindings")
# Execution policies
- variant('openmp', default=False, description='Enable OpenMP execution')
- variant('cuda', default=False, description='Enable CUDA execution')
+ variant("openmp", default=False, description="Enable OpenMP execution")
+ variant("cuda", default=False, description="Enable CUDA execution")
# Advanced options
- variant('bsws', default='64', values=('8', '16', '32', '64'), multi=False,
- description='Bit stream word size: '
- 'use smaller for finer rate granularity. '
- 'Use 8 for H5Z-ZFP filter.')
- variant('strided', default=False,
- description='Enable strided access for progressive zfp streams')
- variant('aligned', default=False,
- description='Enable aligned memory allocation')
- variant('twoway', default=False,
- description='Use two-way skew-associative cache')
- variant('fasthash', default=False,
- description='Use a faster but more collision prone hash function')
- variant('profile', default=False,
- description='Count cache misses')
+ variant(
+ "bsws",
+ default="64",
+ values=("8", "16", "32", "64"),
+ multi=False,
+ description="Bit stream word size: "
+ "use smaller for finer rate granularity. "
+ "Use 8 for H5Z-ZFP filter.",
+ )
+ variant(
+ "strided", default=False, description="Enable strided access for progressive zfp streams"
+ )
+ variant("aligned", default=False, description="Enable aligned memory allocation")
+ variant("twoway", default=False, description="Use two-way skew-associative cache")
+ variant(
+ "fasthash",
+ default=False,
+ description="Use a faster but more collision prone hash function",
+ )
+ variant("profile", default=False, description="Count cache misses")
# Conflicts
- conflicts('+c', when='@:0.5.3',
- msg='+c requires zfp 0.5.4 or later')
- conflicts('+python', when='@:0.5.4',
- msg='+python requires zfp 0.5.5 or later')
- conflicts('+fortran', when='@:0.5.4',
- msg='+fortran requires zfp 0.5.5 or later')
- conflicts('+openmp', when='@:0.5.2',
- msg='+openmp requires zfp 0.5.3 or later')
- conflicts('+cuda', when='@:0.5.3',
- msg='+cuda requires zfp 0.5.4 or later')
- conflicts('+fasthash', when='@:0.5.1',
- msg='+fasthash requires zfp 0.5.2 or later')
- conflicts('+profile', when='@:0.5.1',
- msg='+profile requires zfp 0.5.2 or later')
+ conflicts("+c", when="@:0.5.3", msg="+c requires zfp 0.5.4 or later")
+ conflicts("+python", when="@:0.5.4", msg="+python requires zfp 0.5.5 or later")
+ conflicts("+fortran", when="@:0.5.4", msg="+fortran requires zfp 0.5.5 or later")
+ conflicts("+openmp", when="@:0.5.2", msg="+openmp requires zfp 0.5.3 or later")
+ conflicts("+cuda", when="@:0.5.3", msg="+cuda requires zfp 0.5.4 or later")
+ conflicts("+fasthash", when="@:0.5.1", msg="+fasthash requires zfp 0.5.2 or later")
+ conflicts("+profile", when="@:0.5.1", msg="+profile requires zfp 0.5.2 or later")
# Dependencies
- depends_on('cmake@3.4.0:', type='build')
- depends_on('cuda@7:', type=('build', 'test', 'run'), when='+cuda')
- depends_on('python', type=('build', 'test', 'run'), when='+python')
- depends_on('py-numpy', type=('build', 'test', 'run'), when='+python')
- depends_on('py-cython', type='build', when='+python')
+ depends_on("cmake@3.4.0:", type="build")
+ depends_on("cuda@7:", type=("build", "test", "run"), when="+cuda")
+ depends_on("python", type=("build", "test", "run"), when="+python")
+ depends_on("py-numpy", type=("build", "test", "run"), when="+python")
+ depends_on("py-cython", type="build", when="+python")
def cmake_args(self):
spec = self.spec
@@ -89,27 +96,26 @@ class Zfp(CMakePackage, CudaPackage):
# CMake options
args = [
# TODO: self.define_from_variant('BUILD_UTILITIES', 'utilities'),
- self.define('BUILD_TESTING', self.run_tests),
- self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
- self.define_from_variant('BUILD_CFP', 'c'),
- self.define_from_variant('BUILD_ZFPY', 'python'),
- self.define_from_variant('BUILD_ZFORP', 'fortran'),
- self.define_from_variant('ZFP_WITH_OPENMP', 'openmp'),
- self.define_from_variant('ZFP_WITH_CUDA', 'cuda'),
- self.define('ZFP_BIT_STREAM_WORD_SIZE',
- spec.variants['bsws'].value),
- self.define_from_variant('ZFP_WITH_BIT_STREAM_STRIDED', 'strided'),
- self.define_from_variant('ZFP_WITH_ALIGNED_ALLOC', 'aligned'),
- self.define_from_variant('ZFP_WITH_CACHE_TWOWAY', 'twoway'),
- self.define_from_variant('ZFP_WITH_CACHE_FAST_HASH', 'fasthash'),
- self.define_from_variant('ZFP_WITH_CACHE_PROFILE', 'profile'),
+ self.define("BUILD_TESTING", self.run_tests),
+ self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("BUILD_CFP", "c"),
+ self.define_from_variant("BUILD_ZFPY", "python"),
+ self.define_from_variant("BUILD_ZFORP", "fortran"),
+ self.define_from_variant("ZFP_WITH_OPENMP", "openmp"),
+ self.define_from_variant("ZFP_WITH_CUDA", "cuda"),
+ self.define("ZFP_BIT_STREAM_WORD_SIZE", spec.variants["bsws"].value),
+ self.define_from_variant("ZFP_WITH_BIT_STREAM_STRIDED", "strided"),
+ self.define_from_variant("ZFP_WITH_ALIGNED_ALLOC", "aligned"),
+ self.define_from_variant("ZFP_WITH_CACHE_TWOWAY", "twoway"),
+ self.define_from_variant("ZFP_WITH_CACHE_FAST_HASH", "fasthash"),
+ self.define_from_variant("ZFP_WITH_CACHE_PROFILE", "profile"),
]
- if '+cuda' in spec:
- args.append('-DCUDA_BIN_DIR={0}'.format(spec['cuda'].prefix.bin))
+ if "+cuda" in spec:
+ args.append("-DCUDA_BIN_DIR={0}".format(spec["cuda"].prefix.bin))
- if not spec.satisfies('cuda_arch=none'):
- cuda_arch = spec.variants['cuda_arch'].value
- args.append('-DCMAKE_CUDA_FLAGS=-arch sm_{0}'.format(cuda_arch[0]))
+ if not spec.satisfies("cuda_arch=none"):
+ cuda_arch = spec.variants["cuda_arch"].value
+ args.append("-DCMAKE_CUDA_FLAGS=-arch sm_{0}".format(cuda_arch[0]))
return args