-
Notifications
You must be signed in to change notification settings - Fork 38
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
Reuse OpenBLAS installation from Julia distribution #16
Comments
Although it looks like the name mangling we do on 64-bit platforms makes it impossible for PETSc to understand. For reference, the Ubuntu packages needed are installed by PETSc's |
@jedbrown, would PETSc be open to a patch to use a BLAS library with mangled names? In particular, Julia compiles BLAS with a 64-bit integer interface (instead of the default 32-bit integer API), and to avoid conflicts with other BLAS libraries (when libraries using a 32-bit BLAS are loaded) we rename both the the library (to It would be nice to be able to compile PETSc to use the 64-bit BLAS as well, and similarly to link the mangled symbols. This looks easy to do, since |
(See also OpenMathLib/OpenBLAS#646) |
Yes, we can add this to PETSc. It'll be a good reason for us to clean up those macros somewhat (because I don't want a combinatorial expansion of that nasty code), but it doesn't look like much effort. Are your 64-bit conventions common or specific to Julia?
|
They are specific to Julia. As far as we can tell, there are no common ABI conventions for the 64-bit BLAS, and the situation is something of a mess. (See the linked OpenBLAS discussion and also JuliaLang/julia#4923.) Basically you should support adding an arbitrary suffix/prefix to the BLAS and LAPACK symbols, maybe as |
Correction: the |
And now that |
I've started a PETSc PR: https://bitbucket.org/petsc/petsc/pull-requests/394 |
Currently,
PETSc.jl
fails to build PETSc on a Linux system without a BLAS package installed at the system level.Instead, it would be preferable to reuse the OpenBLAS or MKL BLAS installation that comes with Julia, especially if Julia is built from source.
It looks like the relevant
./configure
options areThe text was updated successfully, but these errors were encountered: