Yggdrasil icon indicating copy to clipboard operation
Yggdrasil copied to clipboard

request: libflame

Open ChrisRackauckas opened this issue 2 years ago • 5 comments

BLIS does not export a full LAPACK (see https://github.com/JuliaLinearAlgebra/BLIS.jl/issues/3), but is supposed to be a part of flame https://github.com/flame/libflame. In LinearSolve.jl, I don't need (or want) libblastrampoline wrappers on here anyways, so if the jll exists it would be immediately useful to a large community and would finish (https://github.com/SciML/LinearSolve.jl/pull/431).

ChrisRackauckas avatar Nov 12 '23 12:11 ChrisRackauckas

libflame on its own is probably doable, but I am not sure it can fully be integrated into an LBT-based switching system on its own. According to the manual, the lapack2flame compatibility layer only exports the following image

imciner2 avatar Nov 12 '23 14:11 imciner2

--enable-lapack2flame provides a LAPACK 3.11 compatibility layer. Note also this recent commit that updates on this work: https://github.com/flame/libflame/commit/74b56a226bf976be9a89e810b2c7bd0789c6d2f9

jd-foster avatar Nov 15 '23 12:11 jd-foster

Does FLAME provide a complete compatiblity with LAPACK? It would be nice to include it in Ygg.

ViralBShah avatar Jan 29 '24 16:01 ViralBShah

Does FLAME provide a complete compatiblity with LAPACK? It would be nice to include it in Ygg.

I actually just saw some discussion on this that happened in the BLIS discord server recently, and apparently, libflame is ABI compatible with LAPACK 3.11 when it is built using --enable-lapack, but is not ABI compatible using their older f2c LAPACK wrapper layer.

So I think we can get a LAPACK version of libflame into Ygg.

imciner2 avatar Jan 29 '24 20:01 imciner2

And might also then transparently work with LBT. What fun!

ViralBShah avatar Jan 29 '24 21:01 ViralBShah

Any movement on this?

ChrisRackauckas avatar Feb 02 '25 19:02 ChrisRackauckas

The initial script in https://github.com/JuliaPackaging/Yggdrasil/pull/8671 was working on all the platforms except for macOS - on there is was somehow creating a dylib that had absolutely no functions at all. No one could figure out exactly what was happening, and so it just kind of stalled.

imciner2 avatar Feb 02 '25 23:02 imciner2

That's fine since you almost certainly want to use Apple accelerate on that platform anyways, so if it's a no op there then it's fine

ChrisRackauckas avatar Feb 02 '25 23:02 ChrisRackauckas

The libflame build script is merged now.

imciner2 avatar Jul 30 '25 09:07 imciner2