-
Notifications
You must be signed in to change notification settings - Fork 283
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
use DCPU_BASELINE=DETECT
for OpenCV when default optarch compiler option is used
#2954
use DCPU_BASELINE=DETECT
for OpenCV when default optarch compiler option is used
#2954
Conversation
easybuild/easyblocks/o/opencv.py
Outdated
if ( | ||
not optarch | ||
or (get_software_root('GCC') and (optarch == 'march=native' or optarch.get('GCC') == 'march=native')) | ||
or (get_software_root('intel-compilers') and (optarch == 'xHost' or optarch.get('Intel') == 'xHost')) |
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.
Ideally we don't hardcode march=native
and xHost
here, since those values may change.
We should check whether we can extract the default from framework (and if not maybe we need to introduce a constant in framework so the default can be easily obtained without hardcoding)
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.
And note that a manually set optarch may well be something more than march=native/xHost so a simple == doesn't suffice
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.
@boegel @akesandgren done in 7310de7
easybuild/easyblocks/o/opencv.py
Outdated
or (isinstance(optarch, str) and optimal_arch_option in optarch) | ||
or (isinstance(optarch, dict) and ( | ||
(get_software_root('GCC') and optimal_arch_option in optarch.get('GCC', '')) | ||
or (get_software_root('intel-compilers') and optimal_arch_option in optarch.get('Intel', '')) |
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.
for intel
< 2021a
we would need to look for iccifort
instead of intel-compilers
?
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.
done in eb0ee64
Test report by @smoors Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
Test report by @migueldiascosta Overview of tested easyconfigs (in order)
Build succeeded for 6 out of 6 (6 easyconfigs in total) |
Test report by @migueldiascosta Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 0 out of 1 (1 easyconfigs in total) |
@smoors Hmm, I was hoping this would work with EasyBuild is configured with |
Test report by @smoors Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
DCPU_BASELINE=DETECT
for OpenCV when default optarch compiler option is used
(created using
eb --new-pr
)sets
-DCPU_BASELINE=DETECT
also ifmarch=native
(default for GCC)xHost
(default for intel)avoids build failure for example with GCC and
--optarch='Intel:march=core-avx2;GCC:march=native'