yaksa: add new package (#29877)

This commit is contained in:
Ken Raffenetti 2022-04-20 02:56:02 -05:00 committed by GitHub
parent 5e00dffe7f
commit a43a633b2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View 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