我在 Julia 中进行了一些计算,并注意到它的运行速度明显比 numpy慢(大约25倍!)。
然后我意识到 Julia 只在我的 PC 上使用了总共96 个CPU 线程(48 个物理内核)中的8 个线程,而 numpy 似乎在使用超过70 个线程时没有问题。
与运行朱莉娅$julia --thread 96 说法并不能使即使任何区别julia> Threads.nthreads()的回报96。
此外,对结果有点失望的是,我怀疑 Julia 使用所有 96 个线程仍然可能无法与 numpy 的速度相匹配。
这是朱莉娅代码。我简单地测量与时间julia> @time calc_fid(mat_a, mat_b)这给了我90秒的平均水平。
using Statistics
using LinearAlgebra
function calc(A::Array{Float32,2}, B::Array{Float32,2})
?_A = mean(A, dims=2)
?_B = mean(B, dims=2)
?_A = cov(A, dims=2)
?_B = cov(B, dims=2)
ssdiff = sum((?_A - ?_B).^2)
covmean = …Run Code Online (Sandbox Code Playgroud)