Requested changes related to mumps compilation (#4614)
* * add mpii* wrappers for use with intel compilers * in mumps package, scotch is compiled without metis option when ptscotch variant is selected. This removes confusion over which metis.h to use * for intel mkl, add SPACK_COMPILER_EXTRA_RPATHS ending in 'intel64' * scotch lib requires libz when compression is turned on. This caused a link issue on some Ubuntu distributions (not redhat). Change Scotch package to add -lz when needed * * intel-mkl append to SPACK_COMPILER_EXTRA_RPATHS rather than setting * use more concise method to obtain libz libraries for scotch * remove changes to intel mpi * remove commented out depends_on * fix flake8 errors
This commit is contained in:
parent
e5c665600c
commit
6550aeeafc
@ -142,6 +142,8 @@ def install(self, spec, prefix):
|
||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||
# set up MKLROOT for everyone using MKL package
|
||||
spack_env.set('MKLROOT', self.prefix)
|
||||
spack_env.append_path('SPACK_COMPILER_EXTRA_RPATHS',
|
||||
join_path(self.prefix.lib, 'intel64'))
|
||||
|
||||
def setup_environment(self, spack_env, run_env):
|
||||
run_env.set('MKLROOT', self.prefix)
|
||||
|
@ -61,7 +61,7 @@ class Mumps(Package):
|
||||
variant('shared', default=True, description='Build shared libraries')
|
||||
|
||||
depends_on('scotch + esmumps', when='~ptscotch+scotch')
|
||||
depends_on('scotch + esmumps + mpi', when='+ptscotch')
|
||||
depends_on('scotch + esmumps ~ metis + mpi', when='+ptscotch')
|
||||
depends_on('metis@5:', when='+metis')
|
||||
depends_on('parmetis', when="+parmetis")
|
||||
depends_on('blas')
|
||||
@ -160,7 +160,7 @@ def write_makefile_inc(self):
|
||||
'FC = {0}'.format(self.spec['mpi'].mpifc),
|
||||
"SCALAP = %s" % scalapack.ld_flags,
|
||||
"MUMPS_TYPE = par"])
|
||||
if (self.spec.satisfies('%xl_r' or '%xl')) and self.spec.satisfies('^spectrum-mpi'): # noqa
|
||||
if (self.spec.satisfies('%xl_r' or '%xl')) and self.spec.satisfies('^spectrum-mpi'): # noqa
|
||||
makefile_conf.extend(
|
||||
['FL = {0}'.format(self.spec['mpi'].mpicc)])
|
||||
else:
|
||||
|
@ -81,6 +81,7 @@ def libs(self):
|
||||
|
||||
shared = '+shared' in self.spec
|
||||
libraries = ['libscotch', 'libscotcherr']
|
||||
zlibs = []
|
||||
|
||||
if '+mpi' in self.spec:
|
||||
libraries = ['libptscotch', 'libptscotcherr'] + libraries
|
||||
@ -89,9 +90,13 @@ def libs(self):
|
||||
elif '~mpi+esmumps' in self.spec:
|
||||
libraries = ['libesmumps'] + libraries
|
||||
|
||||
return find_libraries(
|
||||
scotchlibs = find_libraries(
|
||||
libraries, root=self.prefix, recurse=True, shared=shared
|
||||
)
|
||||
if '+compression' in self.spec:
|
||||
zlibs = self.spec['zlib'].libs
|
||||
|
||||
return scotchlibs + zlibs
|
||||
|
||||
def patch(self):
|
||||
self.configure()
|
||||
|
Loading…
Reference in New Issue
Block a user