-
Couldn't load subscription status.
- Fork 302
Fix for preserving headers and pc files from 64bit installations of OpenBLAS #3968
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
base: develop
Are you sure you want to change the base?
Conversation
|
@boegelbot please test @ jsc-zen3 |
|
Current structure of the installation of OpenBLAS with this PR symlinks
pkg-config
|
|
@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... - notification for comment with ID 3437368810 processed Message to humans: this is just bookkeeping information for me, |
|
since mkl uses cblas_64.h I think we should have that too |
@akesandgren Should we then keep the symbol suffix as EDIT: Atleast the |
|
Test report by @Crivella Overview of tested easyconfigs (in order)
Build succeeded for 2 out of 2 (2 easyconfigs in total) |
|
Test report by @boegelbot Overview of tested easyconfigs (in order)
Build succeeded for 2 out of 2 (2 easyconfigs in total) |
Not sure what the best result is, but I don't remember seeing 64_ anywhere previously until whomever mentioned it in the discussions. |
|
It is the default one since #2753 easybuild-easyblocks/easybuild/easyblocks/o/openblas.py Lines 34 to 35 in 2a7aad7
I also find what we are doing right now weird of having 3 builds instead of two |
Addresses issue described in
cblas.hinOpenBLASinstallations with 64bit support #3872Creates an
openblas[SUFFIX]subdir for include files and then symlinks all the headers with afilename[SUFFIX].hvariant.Also preserve the PC files for
pkgconfigfor all installations so thatpkg-config --libs openblas[SUFFIX]works for all variants that we createNOTE
I tried to preserve the current behavior of the EB, but i find it weird.
Right now for a 64bit enabled installation (the default) we actually run 3 build:
libopenblas.solibopenblas64.solibopenblas64_.soI am not a BLAS expert but if the 64bit non suffixed version can act as a drop-in replacement for the non 64bit variant i am not sure why the suffixes are needed.
On the other hand if the 64bit cannot be used as a replacement for the 32 than we want the suffixed version but not sure what is the use of the non-suffixed 64bit one.
Is this to allow to use both libraries at once in the same program (doing both 32 and 64 bit calls)?
cmake files
Currently we only get a
lib/cmake/OpenBLASConfig.cmakefile valid for the last build, and unless people start to implement a `find_package(openblas[SUFFIX]) in their cmake files i do not see a way to improve this.The only think that comes to mind would be to write a custom
OpenBLASConfig.cmakeexposing the different variants as components, but also that would become a behavior unique to EB.This is probably something that should be done upstream
TODO
cblas.h(the only one that i think changes)include "XXX.h"statements for it actually work as intended