-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make Amber easyblock aware of FlexiBLAS #2720
make Amber easyblock aware of FlexiBLAS #2720
Conversation
# note: for Amber 20, a patch is required to fix the CMake scripts so they're aware of FlexiBLAS: | ||
# - cmake/patched-cmake-modules/FindBLASFixed.cmake | ||
# - cmake/patched-cmake-modules/FindLAPACKFixed.cmake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this code is traversed for Amber 19 too, don't we need a version check here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be harmless as is: if you're using a toolchain that includes FlexiBLAS, you'll use -DBLA_VENDOR=FlexiBLAS
, which will cause a clear configuration error if the patches are not included (they most likely also work with Amber 19, I didn't check).
The patch is available in fwautele/easybuild-easyconfigs#1, so it should become part of easybuilders/easybuild-easyconfigs#14386 soon (the patch for Amber
20 is exactly the same as for AmberTools 21).
If you're using a toolchain that doesn't include FlexiBLAS but does include OpenBLAS, you'll use -DBLA_VENDOR=OpenBLAS
, which is what the CMake script does automatically already (we're just making that explicit now and taking control).
For other toolchains, we don't specify -DBLA_VENDOR
and we leave it up to the CMake scripts to figure out which BLAS/LAPACK to use, which is also what happens without these changes.
Long story short: none of the existing easyconfigs should be "hurt" by the changes being made here...
easybuild/easyblocks/a/amber.py
Outdated
if mklroot: | ||
env.setvar('MKL_HOME', os.getenv('MKLROOT')) | ||
elif openblasroot: | ||
elif flexiblas_root or openblas_root: | ||
lapack = os.getenv('LIBLAPACK') | ||
if lapack is None: | ||
raise EasyBuildError("LIBLAPACK (from OpenBLAS) not found in environment.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we change this error to mention the correct BLAS? i.e. FlexiBLAS or OpenBLAS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ping @boegel
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@akesandgren fixed in effecb7
… not defined when using OpenBLAS or FlexiBLAS
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Going in, thanks @boegel! |
(created using
eb --new-pr
)