From 6fc3e73f8d2b93eb1fed4949829283d221165976 Mon Sep 17 00:00:00 2001 From: Pieter Ghysels Date: Mon, 11 Nov 2019 10:24:13 -0800 Subject: Update ButterflyPACK and STRUMPACK (#13661) * Add new strumpack version (3.2.0), with new dependency on ButterflyPACK. * add ButterflyPACK version 1.1.0 * Add strumpack version 3.3.0, add dependency on ButterflyPACK 1.1.0 * Sort ButterflyPACk versions from newest to oldest * Add a shared variant for STRUMPACK * Also allow possible newer versions of ButterflyPACK --- .../repos/builtin/packages/butterflypack/package.py | 7 ++++--- var/spack/repos/builtin/packages/strumpack/package.py | 18 ++++++++++++++++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/butterflypack/package.py b/var/spack/repos/builtin/packages/butterflypack/package.py index fee827e064..cd5fcf6503 100644 --- a/var/spack/repos/builtin/packages/butterflypack/package.py +++ b/var/spack/repos/builtin/packages/butterflypack/package.py @@ -22,13 +22,14 @@ class Butterflypack(CMakePackage): homepage = "https://github.com/liuyangzhuan/ButterflyPACK" git = "https://github.com/liuyangzhuan/ButterflyPACK.git" - url = "https://github.com/liuyangzhuan/ButterflyPACK/archive/v1.0.3.tar.gz" + url = "https://github.com/liuyangzhuan/ButterflyPACK/archive/v1.1.0.tar.gz" maintainers = ['liuyangzhuan'] version('master', branch='master') - version('1.0.0', sha256='86c5eb09a18522367d63ce2bacf67ca1c9813ef351a1443baaab3c53f0d77232') - version('1.0.1', sha256='e8ada37466a19f49e13456b150700d4c3afaad2ddbe3678f4e933f9d556a24a5') + version('1.1.0', sha256='0e6fd0f9e27b3ee8a273dc52f4d24b8737e7279dc26d461ef5658b317215f1dc') version('1.0.3', sha256='acf9bc98dd7fea31ab73756b68b3333228b53ab0e85400a8250fcc749a1a6656') + version('1.0.1', sha256='e8ada37466a19f49e13456b150700d4c3afaad2ddbe3678f4e933f9d556a24a5') + version('1.0.0', sha256='86c5eb09a18522367d63ce2bacf67ca1c9813ef351a1443baaab3c53f0d77232') variant('shared', default=True, description='Build shared libraries') diff --git a/var/spack/repos/builtin/packages/strumpack/package.py b/var/spack/repos/builtin/packages/strumpack/package.py index d2dfc424f5..ead8ebb5be 100644 --- a/var/spack/repos/builtin/packages/strumpack/package.py +++ b/var/spack/repos/builtin/packages/strumpack/package.py @@ -18,12 +18,14 @@ class Strumpack(CMakePackage): iterative solvers.""" homepage = "http://portal.nersc.gov/project/sparse/strumpack" - url = "https://github.com/pghysels/STRUMPACK/archive/v3.0.3.tar.gz" + url = "https://github.com/pghysels/STRUMPACK/archive/v3.3.0.tar.gz" git = "https://github.com/pghysels/STRUMPACK.git" maintainers = ['pghysels'] version('master', branch='master') + version('3.3.0', sha256='499fd3b58656b4b6495496920e5372895861ebf15328be8a7a9354e06c734bc7') + version('3.2.0', sha256='34d93e1b2a3b8908ef89804b7e08c5a884cbbc0b2c9f139061627c0d2de282c1') version('3.1.1', sha256='c1c3446ee023f7b24baa97b24907735e89ce4ae9f5ef516645dfe390165d1778') version('3.1.0', sha256='b4f91b7d433955518b04538be1c726afc5de4bffb163e982ef8844d391b26fa7') version('3.0.3', sha256='2bd2a40d9585b769ae4ba461de02c6e36433bf2b21827f824a50f2fdf73389f7') @@ -32,6 +34,7 @@ class Strumpack(CMakePackage): version('3.0.0', sha256='7acd9b4653b8b11380de733c80b164348ca00f9226904f5dc166a8e3db88cd20') version('2.2.0', sha256='8fe73875cbbb29ed1faf714e3bf13ad538eb062e39d7d5e73cb9c4aafb571e24') + variant('shared', default=True, description='Build shared libraries') variant('mpi', default=True, description='Use MPI') variant('openmp', default=True, description='Enable thread parallellism via tasking with OpenMP') @@ -39,6 +42,8 @@ class Strumpack(CMakePackage): description='Enable use of ParMetis') variant('scotch', default=False, description='Enable use of Scotch') + variant('butterflypack', default=True, + description='Enable use of ButterflyPACK') variant('c_interface', default=True, description='Enable C interface') variant('count_flops', default=False, @@ -59,8 +64,11 @@ class Strumpack(CMakePackage): depends_on('parmetis', when='+parmetis') depends_on('scotch~metis', when='+scotch') depends_on('scotch~metis+mpi', when='+scotch+mpi') + depends_on('butterflypack@1.1.0:', when='+butterflypack+mpi') conflicts('+parmetis', when='~mpi') + conflicts('+butterflypack', when='~mpi') + conflicts('+butterflypack', when='strumpack@:3.2.0') patch('intel-19-compile.patch', when='@3.1.1') @@ -90,11 +98,17 @@ class Strumpack(CMakePackage): if spec.satisfies('@3.0.4:'): args.extend([ '-DTPL_ENABLE_PARMETIS=%s' % on_off('+parmetis'), - '-DTPL_ENABLE_SCOTCH=%s' % on_off('+scotch') + '-DTPL_ENABLE_SCOTCH=%s' % on_off('+scotch'), + '-DTPL_ENABLE_BPACK=%s' % on_off('+butterflypack') ]) else: args.extend([ '-DSTRUMPACK_USE_PARMETIS=%s' % on_off('+parmetis'), '-DSTRUMPACK_USE_SCOTCH=%s' % on_off('+scotch') ]) + + args.extend([ + '-DBUILD_SHARED_LIBS=%s' % on_off('+shared') + ]) + return args -- cgit v1.2.3-60-g2f50