Skip to content

Commit

Permalink
Merge pull request #2 from boegel/imkl_fftw_mpi_fix
Browse files Browse the repository at this point in the history
fixes for intelfftw.py
  • Loading branch information
Balázs Hajgató committed Aug 1, 2014
2 parents 271d40e + 606322a commit 051bdf2
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions easybuild/toolchains/fft/intelfftw.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ def _set_fftw_variables(self):
if self.options['usempi']:
# add cluster interface
if LooseVersion(imklver) >= LooseVersion("11.1"):
fftw_libs.append("fftw3x_cdft%s%s" % (bitsuff, compsuff, picsuff))
fftw_libs.append("fftw3x_cdft%s%s" % (bitsuff, picsuff))
else:
if LooseVersion(imklver) >= LooseVersion("11.0.2"):
fftw_libs.append("fftw3x_cdft%s%s" % (bitsuff, picsuff))
Expand All @@ -86,7 +86,10 @@ def _set_fftw_variables(self):
# so make sure libraries are there before FFT_LIB is set
imklroot = get_software_root(self.FFT_MODULE_NAME[0])
fft_lib_dirs = [os.path.join(imklroot, d) for d in self.FFT_LIB_DIR]
if all([any([os.path.exists(os.path.join(d, "lib%s.a" % lib)) for d in fft_lib_dirs]) for lib in fftw_libs]):
# filter out gfortran from list of FFTW libraries to check for, since it's not provided by imkl
check_fftw_libs = [lib for lib in fftw_libs if lib != 'gfortran']
fftw_lib_exists = lambda x: any([os.path.exists(os.path.join(d, "lib%s.a" % x)) for d in fft_lib_dirs])
if all([fftw_lib_exists(lib) for lib in check_fftw_libs]):
self.FFT_LIB = fftw_libs
else:
msg = "Not all FFTW interface libraries %s are found in %s, can't set FFT_LIB." % (fftw_libs, fft_lib_dirs)
Expand Down

0 comments on commit 051bdf2

Please sign in to comment.