yaksa: add new package (#29877)
This commit is contained in:
parent
5e00dffe7f
commit
a43a633b2a
45
var/spack/repos/builtin/packages/yaksa/package.py
Normal file
45
var/spack/repos/builtin/packages/yaksa/package.py
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# Copyright 2013-2022 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 Yaksa(AutotoolsPackage, CudaPackage):
|
||||||
|
"""Yaksa is a high-performance datatype engine for expressing,
|
||||||
|
managing and manipulating data present in noncontiguous memory
|
||||||
|
regions. It provides portable abstractions for structured
|
||||||
|
noncontiguous data layouts that are much more comprehensive compared
|
||||||
|
with traditional I/O vectors.
|
||||||
|
|
||||||
|
Yaksa imitates parts of the MPI Datatype system, but adds additional
|
||||||
|
functionality that would allow it to be used independent of MPI. It
|
||||||
|
provides routines for packing/unpacking, creating I/O vectors (array
|
||||||
|
of contiguous segments) and flattening/unflattening datatypes into
|
||||||
|
process-portable formats.
|
||||||
|
|
||||||
|
Yaksa's backend includes support for CPUs as well as different
|
||||||
|
GPUs."""
|
||||||
|
|
||||||
|
homepage = "https://www.yaksa.org"
|
||||||
|
url = "https://github.com/pmodels/yaksa/archive/refs/tags/v0.2.tar.gz"
|
||||||
|
maintainers = ['raffenet', 'yfguo', 'hzhou']
|
||||||
|
|
||||||
|
version('0.2', sha256='9401cb6153dc8c34ddb9781bbabd418fd26b0a27b5da3294ecc21af7be9c86f2')
|
||||||
|
|
||||||
|
depends_on('autoconf', type='build')
|
||||||
|
depends_on('automake', type='build')
|
||||||
|
depends_on('libtool', type='build')
|
||||||
|
depends_on('m4', type='build')
|
||||||
|
depends_on('python@3:', type='build')
|
||||||
|
|
||||||
|
def autoreconf(self, spec, prefix):
|
||||||
|
sh = which('sh')
|
||||||
|
sh('autogen.sh')
|
||||||
|
|
||||||
|
def configure_args(self):
|
||||||
|
config_args = []
|
||||||
|
config_args += self.with_or_without('cuda', activation_value='prefix')
|
||||||
|
|
||||||
|
return config_args
|
Loading…
Reference in New Issue
Block a user