-
Notifications
You must be signed in to change notification settings - Fork 304
Open
Labels
Milestone
Description
if you build a single-threaded version of AOCL-BLAS (which is not the default in EasyBuild), library blis.so is created (the multithreaded version is blis-mt.so).
this conflicts with the blis.so lib in BLIS if both AOCL-BLAS and BLIS are (build)dependencies of FlexiBLAS, and the specific library that will be used depends on the ordering of the 2 deps.
we can fix this by adapting both the blis.py and flexiblas.py easyblocks:
- in blis.py:
def configure_step(self):
"""Custom configopts."""
self.threading_suffix = ''
if self.toolchain.options.get('openmp', None):
self.threading_suffix = '-mt'
self.cfg.update('configopts', '--enable-threading=openmp')
...
...
def build_step(self):
if self.name == 'AOCL-BLAS':
self.cfg.update('buildopts', f'LIBBLIS=libaocl-blas{self.threading_suffix}')
self.cfg.update('buildopts', f'AOCLLIB=aocl-blas{self.threading_suffix}')
super().build_step()- in flexiblas.py:
...
elif blas_lib == 'AOCL_mt':
configopts[key] = 'aocl-blas-mt'
...