-
Notifications
You must be signed in to change notification settings - Fork 712
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
OpenBLAS build a DYNAMIC_ARCH, instead of a tuned for the build host … #2066
OpenBLAS build a DYNAMIC_ARCH, instead of a tuned for the build host … #2066
Conversation
Automatic reply from Jenkins: Can I test this? |
Jenkins: ok to test |
Does this imply that From https://github.com/xianyi/OpenBLAS/wiki/faq:
Also, changing an existing easyconfig is probably not a good idea for something like this. Maybe we should have a separate easyconfig with an added versionsuffix? |
Easyconfigs unit test suite PASSed (see https://jenkins1.ugent.be/job/easybuild-easyconfigs-pr-builder/4770/console for more details). This pull request is now ready for review/testing. Please try and find someone who can tackle this; contact @boegel if you're not sure what to do. |
@boegel: +1 for a specific version suffix (maybe one per cpu feature? HASWELL/NEHALEM/... and one DYNAMIC) leaving the people choosing and/swapping the prefered version according to their compute node. I am not familiar enough with OpenBLAS and so far I have only used ATLAS and build-hosted tuned version. |
works for me :) I had to mass rebuild eb forcing the default optarch=march=native to optarch=mtune=intel to allow the haswell host build to run on our nehalem/sandy-bridge/haswell compute node |
ping? |
It would be nice to have a "generic" version which is able to use any target, at the expense of some storage space -> rpm (fpm packed) version will benefit of being able to run whatever the build host cpu is. |
Should this be in an EasyBlock? We could have an EasyBlock that sets the DYNAMIC_ARCH=1 if --optarch=GENERIC, or does nothing otherwise. |
@cfenoy That makes sense to me. |
@truatpasteurdotfr, this PR is being closed for the following reason(s): no activity for > 1 year. |
I just think it would be a nice feature to have, but I am not active enough in the project to push it further. Just do as you wish! Cheers. |
@truatpasteurdotfr this PR was closed as part of a semi-automatic clean up operation, of which one of the goals is precisely to surface the old/stale PRs for which there is still interest, so thank you very much for speaking up personally, I think there's nothing wrong with using DYNAMIC_ARCH in OpenBLAS (it's similar to what Intel MKL does, and we have no problem with that...), and I have used it myself, but it is only one of the possible site approaches to heterogeneous clusters (see also easybuilders/easybuild#448), typically used where there is only a few and minor architecture variants, since for many and major variants, sites will end up building for each arch for the sake of all the other software that doesn't use dynamic arch... @cfenoy's suggestion is feasible, as long as sites interested in this approach build OpenBLAS separately with optarch=GENERIC, since that would likely be too harsh, performance wise, for everything else, if set globally. The only alternative I see is to add a new EB option (boolean "dynarch"?) for using dynamic arch when available, and make the OpenBLAS easyblock (and eventually others with similar features?) check that new option... In either case, there should be no need to change the easyconfigs, we should follow up on this elsewhere... |
@migueldiascosta Maybe open a dedicated issue on it? |
avoid having a per cpu generation openblas version:
ref:
https://github.com/xianyi/OpenBLAS/wiki/faq#choose_target_dynamic
example of generated builds:
these were built with: