libblastrampoline icon indicating copy to clipboard operation
libblastrampoline copied to clipboard

Add tests with reference BLAS and LAPACK

Open amontoison opened this issue 1 year ago • 2 comments

I have the following tests that are not working:

@testset "Vanilla ReferenceBLAS_jll (ILP64)" begin
    run_all_tests("blas", reverse(ReferenceBLAS_jll.LIBPATH_list), :ILP64, "", tests = [dgemm, sdot])
end

@testset "LBT -> ReferenceBLAS_jll / LAPACK_jll (ILP64)" begin
    libdirs = unique(vcat(lbt_dir, ReferenceBLAS_jll.LIBPATH_list..., LAPACK_jll.LIBPATH_list..., CompilerSupportLibraries_jll.LIBPATH_list...))
    run_all_tests(blastrampoline_link_name(), libdirs, :ILP64, string(ReferenceBLAS_jll.libblas_path, ";", LAPACK_jll.liblapack_path); tests = [dgemm, dpstrf, sgesv, sdot])
end

I commented them.

I suspect that it's because they are already installed. We should maybe modify the name and soname of the ILP64 libraries of ReferenceBLAS_jll.jl and LAPACK_jll.jl : libblas.so and liblapack.so -> libblas64.so and liblapack64.so.

amontoison avatar Jun 09 '24 01:06 amontoison

The failure on armv7l is silly; it's because we use Julia v1.7 (the last released version on armv7l) but LAPACK32_jll says it needs Julia v1.9+, presumably because it relies on some newer libblastrampoline versions.

The failures on windows look real however.

staticfloat avatar Jul 31 '24 17:07 staticfloat

The odd thing is that adding ReferenceBLAS tests is failing the regular OpenBLAS tests. So presumably, there is some issues with symbols being messed up.

I wonder if we can run these as tests in separate processes, and only load one set of BLAS/LAPACK in each process. Presumably we should also separate MKL to keep it all clean.

ViralBShah avatar Jun 15 '25 20:06 ViralBShah

The exit code on windows apparently suggests that it is a DLL not found error.

ViralBShah avatar Nov 08 '25 02:11 ViralBShah