blas_lapack: add multithreading variant consistent in all implementations. (#5340)

* blas_lapack: add multithreading variant

* elemental: update

* intel-mkl: extend to macOS

* rename multithreading to threads

* intel-mkl: avoid long lines

* intel-mkl: make one install error a conflict

* openblas: fix a minor bug in the test
This commit is contained in:
Denis Davydov
2017-09-23 22:27:42 +02:00
committed by Todd Gamblin
parent bf2f96ce78
commit 7f84de52a0
5 changed files with 67 additions and 22 deletions

View File

@@ -54,7 +54,13 @@ class Atlas(Package):
url='http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2')
variant('shared', default=True, description='Builds shared library')
variant('pthread', default=False, description='Use multithreaded libraries')
variant(
'threads', default='none',
description='Multithreading support',
values=('pthreads', 'none'),
multi=False
)
provides('blas')
provides('lapack')
@@ -118,7 +124,7 @@ def libs(self):
# libsatlas.[so,dylib,dll ] contains all serial APIs (serial lapack,
# serial BLAS), and all ATLAS symbols needed to support them. Whereas
# libtatlas.[so,dylib,dll ] is parallel (multithreaded) version.
is_threaded = '+pthread' in self.spec
is_threaded = self.spec.satisfies('threads=pthreads')
if '+shared' in self.spec:
to_find = ['libtatlas'] if is_threaded else ['libsatlas']
shared = True