easybuild-easyblocks
easybuild-easyblocks copied to clipboard
Should set `BLA_VENDOR` in CMakeMake easyblock if BLAS is in the toolchain
The logic for this is already used in https://github.com/easybuilders/easybuild-easyblocks/blob/develop/easybuild/easyblocks/s/superlu.py#L66
This logic is outdated though and should be updated to include FlexiBLAS and OpenBLAS (if the CMake version is recent enough)
See https://cmake.org/cmake/help/latest/module/FindBLAS.html .
Looks like it's not that trivial for imkl...
I think in the case of MKL we could accept that we can't do it, but in the other cases we should set it to force picking up the right library
Actually one way to address would be to use Intel10_64_dyn and let MKL decide what to do at runtime. This would probably mean changes in how we link to MKL though (which is already being used at JSC I think).
this would also help in less clean systems where the wrong BLAS/LAPACK are picked up, was just bitten by that, this helped:
if get_software_root("flexiblas"):
self.cfg.update('configopts', '-DBLA_VENDOR=FlexiBLAS')
seems innocuous enough?
@migueldiascosta It would make sense, but we should definitely broadly test a change like that.