From 795d8d7a033cb711f5914b0da7587ab55edb0f39 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Fri, 20 Oct 2023 07:26:06 +0200 Subject: [PATCH] fix parallel peakflop usage (#51757) This is required now once Distributed is not in the sysimage. Fixes https://github.com/JuliaLang/julia/issues/51756 --- stdlib/LinearAlgebra/src/LinearAlgebra.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stdlib/LinearAlgebra/src/LinearAlgebra.jl b/stdlib/LinearAlgebra/src/LinearAlgebra.jl index ca95214b1bbd1..b372ef26a46d4 100644 --- a/stdlib/LinearAlgebra/src/LinearAlgebra.jl +++ b/stdlib/LinearAlgebra/src/LinearAlgebra.jl @@ -619,7 +619,9 @@ function peakflops(n::Integer=4096; eltype::DataType=Float64, ntrials::Integer=3 if parallel let Distributed = Base.require(Base.PkgId( Base.UUID((0x8ba89e20_285c_5b6f, 0x9357_94700520ee1b)), "Distributed")) - return sum(Distributed.pmap(peakflops, fill(n, Distributed.nworkers()))) + nworkers = @invokelatest Distributed.nworkers() + results = @invokelatest Distributed.pmap(peakflops, fill(n, nworkers)) + return sum(results) end else return 2*Float64(n)^3 / minimum(t)