mt-metis: New package. (#16380)

* mt-metis: New package.

* variant to 1 line.

* delete useless lines.
This commit is contained in:
Toyohisa Kameyama 2020-05-02 00:51:27 +09:00 committed by GitHub
parent 69a0fbd2cb
commit 40f70c4d4f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,14 @@
diff --git a/domlib/dlmacros.h b/domlib/dlmacros.h
index 2cbca90..d231b75 100644
--- a/domlib/dlmacros.h
+++ b/domlib/dlmacros.h
@@ -211,7 +211,9 @@
#else
static inline void _mm_pause(void)
{
+#ifdef _x86_64__
__asm__ ( "pause;" );
+#endif
}
#endif

View File

@ -0,0 +1,37 @@
# Copyright 2013-2020 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 MtMetis(CMakePackage):
"""
mt-Metis is a multithreaded multilevel graph partitioning an ordering
tool. It is based on the algorithms used in Metis and ParMetis
"""
homepage = "http://glaros.dtc.umn.edu/gkhome/views/metis"
url = "http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/mt-metis-0.6.0.tar.gz"
version('0.6.0', sha256='cb8fb836b630a899edbeca4e1da19ec9eb47e89903bda83e7ec62cb0ffdcc284')
# avoid asm('pause') for no x86_64 familly.
patch('non_x8664.patch')
variant('shared', default=True, description='Enable build of shared libraries')
def cmake_args(self):
define = CMakePackage.define
cmake_args = [
define('DOMLIB_PATH', 'domlib'),
define('WILDRIVER_PATH', 'wildriver'),
define('METIS_PATH', 'metis'),
self.define_from_variant('SHARED', 'shared'),
]
return cmake_args
@property
def libs(self):
return find_libraries(['libmtmetis', 'libwildriver'], self.prefix.lib)