获取Julia中的CPU个核数
Obtain the number of CPU cores in Julia
我想获取 Julia 中可用的内核数。目前我正在做以下事情:
using PyCall
@pyimport psutil
nCores = psutil.cpu_count()
这会调用一个 Python 函数。但是,我想使用一些 Julia 程序。怎么做到的?
我不是 100% 确定这一点,但是 CPU_CORES
returns 我机器上的(超线程)核心数量(OSX 10.9.5 和 Julia 0.3 .5),即使我以串行模式启动 Julia。我一直在使用 nworkers()
和 nprocs()
检查可用内核的数量。在没有 -p
的情况下启动 Julia,将此 returns 1 标记为两者。
当我开始 julia 时 julia -p 4
julia> nprocs()
5
julia> nworkers()
4
在这两种情况下 CPU_CORES
returns 8.
我不了解 Julia,但 Python 中的 "psutil.cpu_count(logical=False)" 给出了物理 CPU 的数量(超线程的不计算在内)。
在最新版本的 Julia 中,您可以使用 Sys.CPU_CORES
(而不是某些答案中提到的 Base.CPU_CORES
)。在 0.6.
上测试
Sys.CPU_CORES
在 Julia 1.0.0 中是未定义的(至少,运行 在 macbook 上——我认为这不会有什么不同)。相反,使用 Sys.CPU_THREADS
.
Sys.CPU_CORES
未在 Julia v1.1.0 中定义。然而,下面的工作。
length(Sys.cpu_info())
根据documentation,“可用核心数”可以通过JULIA_NUM_THREADS
环境变量来限制。
要查看 Julia 可用的线程数,请使用
Threads.nthreads()
我想获取 Julia 中可用的内核数。目前我正在做以下事情:
using PyCall
@pyimport psutil
nCores = psutil.cpu_count()
这会调用一个 Python 函数。但是,我想使用一些 Julia 程序。怎么做到的?
我不是 100% 确定这一点,但是 CPU_CORES
returns 我机器上的(超线程)核心数量(OSX 10.9.5 和 Julia 0.3 .5),即使我以串行模式启动 Julia。我一直在使用 nworkers()
和 nprocs()
检查可用内核的数量。在没有 -p
的情况下启动 Julia,将此 returns 1 标记为两者。
当我开始 julia 时 julia -p 4
julia> nprocs()
5
julia> nworkers()
4
在这两种情况下 CPU_CORES
returns 8.
我不了解 Julia,但 Python 中的 "psutil.cpu_count(logical=False)" 给出了物理 CPU 的数量(超线程的不计算在内)。
在最新版本的 Julia 中,您可以使用 Sys.CPU_CORES
(而不是某些答案中提到的 Base.CPU_CORES
)。在 0.6.
Sys.CPU_CORES
在 Julia 1.0.0 中是未定义的(至少,运行 在 macbook 上——我认为这不会有什么不同)。相反,使用 Sys.CPU_THREADS
.
Sys.CPU_CORES
未在 Julia v1.1.0 中定义。然而,下面的工作。
length(Sys.cpu_info())
根据documentation,“可用核心数”可以通过JULIA_NUM_THREADS
环境变量来限制。
要查看 Julia 可用的线程数,请使用
Threads.nthreads()