--- Begin Message ---
Subject: |
Julia is very slow |
Date: |
Fri, 09 Jun 2023 23:42:00 +0200 |
User-agent: |
mu4e 1.10.2; emacs 29.0.91 |
Hi guix,
I just noticed that the following line
julia -e 'using Pkg; Pkg.add("BenchmarkTools"); using BenchmarkTools; N =
1000; A = rand(N, N); B = rand(N, N); @btime $A*$B'
gives around 530 ms in my laptop when using guix provided julia. Same
behavior when running within a guix container.
This very same code, using the binary one may download from the julia
site gives 15 ms.
I’m using here an up to date guix. As a reference, julia binary
provided by archlinux takes also 15 ms.
Thanks,
Cayetano Santos
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#63986: Julia is very slow |
Date: |
Thu, 28 Sep 2023 14:41:39 +0300 |
On Wed, Sep 20, 2023 at 05:57:30PM +0200, Simon Tournier wrote:
> Hi Efraim,
>
> Applying the patch is done in v3 of #66030.
>
> https://issues.guix.gnu.org/issue/66030
>
> and QA processed all.
>
> https://qa.guix.gnu.org/issue/66030/
>
> It is almost good except one strong annoyance [1]@
>
> --8<---------------cut here---------------start------------->8---
> Singular value decomposition | 57 57 5.0s
> Hermitian: Error During Test at
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/test/rectfullpacked.jl:12
> Got exception outside of a @test
> could not load symbol "dsfrk_64_":
>
> /gnu/store/h5mgc7ar7a05f9rwrd1makhzays5wd3s-julia-1.8.3/bin/../lib/julia/liblapack.so:
> undefined symbol: dsfrk_64_
> Stacktrace:
> [1] sfrk!(transr::Char, uplo::Char, trans::Char, alpha::Float64,
> A::Matrix{Float64}, beta::Float64, C::Vector{Float64})
> @ GenericLinearAlgebra.LAPACK2
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/src/lapack.jl:523
> [2] Ac_mul_A_RFP(A::Matrix{Float64}, uplo::Symbol)
> @ GenericLinearAlgebra
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/src/rectfullpacked.jl:77
> [3] macro expansion
> @
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/test/rectfullpacked.jl:13
> [inlined]
> [4] macro expansion
> @
> /gnu/store/h5mgc7ar7a05f9rwrd1makhzays5wd3s-julia-1.8.3/share/julia/stdlib/v1.8/Test/src/Test.jl:1360
> [inlined]
> [5] macro expansion
> @
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/test/rectfullpacked.jl:13
> [inlined]
> [6] macro expansion
> @
> /gnu/store/h5mgc7ar7a05f9rwrd1makhzays5wd3s-julia-1.8.3/share/julia/stdlib/v1.8/Test/src/Test.jl:1436
> [inlined]
> [7] macro expansion
> @
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/test/rectfullpacked.jl:7
> [inlined]
> [8] macro expansion
> @
> /gnu/store/h5mgc7ar7a05f9rwrd1makhzays5wd3s-julia-1.8.3/share/julia/stdlib/v1.8/Test/src/Test.jl:1360
> [inlined]
> [9] top-level scope
> @
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/test/rectfullpacked.jl:7
> [10] include(fname::String)
> @ Base.MainInclude ./client.jl:476
> [11] top-level scope
> @
> /gnu/store/zkx6p7kz3m5k5w5iy0l1d09b2n8b0ib3-julia-genericlinearalgebra-0.2.5/share/julia/loadpath/GenericLinearAlgebra/test/runtests.jl:10
> [12] include(mod::Module, _path::String)
> @ Base ./Base.jl:419
> [13] exec_options(opts::Base.JLOptions)
> @ Base ./client.jl:303
> [14] _start()
> @ Base ./client.jl:522
> --8<---------------cut here---------------end--------------->8---
>
> Any idea? I have no idea and it is blocking the merge because ~20
> packages are then broken. Well, if we have no idea, I will push the fix
> for “Julia is slow” and we will fix later these ~20 failures. WDYT?
This one was easy, I just upgraded it to 0.3.0. Then I had to adjust
julia-bandedmatrices and julia-arraylayouts and everything looks good.
Except for julia-optim.
I spent a few hours trying to get Julia to use accept '64' instead of
'64_' for SYMBOLSUFFIX and even packaged a newer version of lapack but I
wasn't able to force the issue. Ultimately any other julia packages
need to use libblastrampoline to determine whether to use openblas or
lapack.
Patches pushed, issue closed. I even tested the original reproducer from
the first email.
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature
--- End Message ---