summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorMikael Simberg <mikael.simberg@iki.fi>2022-05-04 18:19:15 +0200
committerGitHub <noreply@github.com>2022-05-04 09:19:15 -0700
commit5b68fa1ecbffa693b32b3efbdb10cb94fad28ea1 (patch)
tree68979ad7618be969fa17acbecbd2e3019a4ca9c1 /var
parent4d03a2768eb808b272011b055f09003d38fd3578 (diff)
downloadspack-5b68fa1ecbffa693b32b3efbdb10cb94fad28ea1.tar.gz
spack-5b68fa1ecbffa693b32b3efbdb10cb94fad28ea1.tar.bz2
spack-5b68fa1ecbffa693b32b3efbdb10cb94fad28ea1.tar.xz
spack-5b68fa1ecbffa693b32b3efbdb10cb94fad28ea1.zip
Add mimalloc package with use in HPX and pika (#30457)
* Add mimalloc package * Add mimalloc as allocator option to pika * Add mimalloc as allocator option to hpx * Set git property globally instead of per-version in pika, hpx, and mimalloc packages Co-authored-by: Mikael Simberg <mikael.simberg@iki.if>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/hpx/package.py8
-rw-r--r--var/spack/repos/builtin/packages/mimalloc/package.py23
-rw-r--r--var/spack/repos/builtin/packages/pika/package.py6
3 files changed, 32 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py
index c400e24b0b..9642079530 100644
--- a/var/spack/repos/builtin/packages/hpx/package.py
+++ b/var/spack/repos/builtin/packages/hpx/package.py
@@ -15,12 +15,13 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://hpx.stellar-group.org/"
url = "https://github.com/STEllAR-GROUP/hpx/archive/1.2.1.tar.gz"
+ git = "https://github.com/STEllAR-GROUP/hpx.git"
maintainers = ['msimberg', 'albestro', 'teonnik']
tags = ['e4s']
- version('master', git='https://github.com/STEllAR-GROUP/hpx.git', branch='master')
- version('stable', git='https://github.com/STEllAR-GROUP/hpx.git', tag='stable')
+ version('master', branch='master')
+ version('stable', tag='stable')
version('1.7.1', sha256='008a0335def3c551cba31452eda035d7e914e3e4f77eec679eea070ac71bd83b')
version('1.7.0', sha256='05099b860410aa5d8a10d6915b1a8818733aa1aa2d5f2b9774730ca7e6de5fac')
version('1.6.0', sha256='4ab715613c1e1808edc93451781cc9bc98feec4e422ccd4322858a680f6d9017')
@@ -45,7 +46,7 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
variant(
'malloc', default='tcmalloc',
description='Define which allocator will be linked in',
- values=('system', 'tcmalloc', 'jemalloc', 'tbbmalloc')
+ values=('system', 'jemalloc', 'mimalloc', 'tbbmalloc', 'tcmalloc')
)
variant('max_cpu_count', default='64',
@@ -100,6 +101,7 @@ class Hpx(CMakePackage, CudaPackage, ROCmPackage):
depends_on('gperftools', when='malloc=tcmalloc')
depends_on('jemalloc', when='malloc=jemalloc')
+ depends_on('mimalloc@1', when='malloc=mimalloc')
depends_on('tbb', when='malloc=tbbmalloc')
depends_on('mpi', when='networking=mpi')
diff --git a/var/spack/repos/builtin/packages/mimalloc/package.py b/var/spack/repos/builtin/packages/mimalloc/package.py
new file mode 100644
index 0000000000..ec30dc4609
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mimalloc/package.py
@@ -0,0 +1,23 @@
+# 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 Mimalloc(CMakePackage):
+ """mimalloc is a compact general purpose allocator with excellent performance."""
+
+ homepage = "https://microsoft.github.io/mimalloc"
+ url = "https://github.com/microsoft/mimalloc/archive/v0.0.0.tar.gz"
+ git = "https://github.com/microsoft/mimalloc.git"
+ maintainers = ['msimberg']
+
+ version('dev-slice', branch='dev-slice')
+ version('dev', branch='dev')
+ version('master', branch='master')
+ version('2.0.6', sha256='9f05c94cc2b017ed13698834ac2a3567b6339a8bde27640df5a1581d49d05ce5')
+ version('1.7.6', sha256='d74f86ada2329016068bc5a243268f1f555edd620b6a7d6ce89295e7d6cf18da')
+
+ depends_on('cmake@3.0:', type='build')
diff --git a/var/spack/repos/builtin/packages/pika/package.py b/var/spack/repos/builtin/packages/pika/package.py
index 4587c66cbf..522736f1c1 100644
--- a/var/spack/repos/builtin/packages/pika/package.py
+++ b/var/spack/repos/builtin/packages/pika/package.py
@@ -14,13 +14,14 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/pika-org/pika/"
url = "https://github.com/pika-org/pika/archive/0.0.0.tar.gz"
+ git = "https://github.com/pika-org/pika.git"
maintainers = ['msimberg', 'albestro', 'teonnik', 'aurianer']
version('0.4.0', sha256='31084a0a61103ee9574aaa427f879682e3e37cb11e8d147f2649949bee324591')
version('0.3.0', sha256='bbb89f9824c58154ed59e2e14276c0ad132fd7b90b2be64ddd0e284f3b57cc0f')
version('0.2.0', sha256='712bb519f22bdc9d5ee4ac374d251a54a0af4c9e4e7f62760b8ab9a177613d12')
version('0.1.0', sha256='aa0ae2396cd264d821a73c4c7ecb118729bb3de042920c9248909d33755e7327')
- version('main', git='https://github.com/pika-org/pika.git', branch='main')
+ version('main', branch='main')
generator = 'Ninja'
@@ -34,7 +35,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
variant(
'malloc', default='tcmalloc',
description='Define which allocator will be linked in',
- values=('system', 'tcmalloc', 'jemalloc', 'tbbmalloc')
+ values=('system', 'jemalloc', 'mimalloc', 'tbbmalloc', 'tcmalloc')
)
default_generic_coroutines = True
@@ -66,6 +67,7 @@ class Pika(CMakePackage, CudaPackage, ROCmPackage):
depends_on('gperftools', when='malloc=tcmalloc')
depends_on('jemalloc', when='malloc=jemalloc')
+ depends_on('mimalloc@1', when='malloc=mimalloc')
depends_on('tbb', when='malloc=tbbmalloc')
depends_on('mpi', when='+mpi')