小编Kim*_*Kim的帖子

Julia 没有使用所有可用的 CPU 线程

我在 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)

performance benchmarking multithreading numpy julia

4
推荐指数
1
解决办法
53
查看次数

标签 统计

benchmarking ×1

julia ×1

multithreading ×1

numpy ×1

performance ×1