【问题标题】:Finding the maximum number of cores available for processing查找可用于处理的最大内核数
【发布时间】:2019-04-06 18:31:53
【问题描述】:

我已经用已知数量的核心实例化了一个会话。一旦会话开始,可以利用所需的数量。例如,如果我用 12 个内核实例化会话,我可以使用以下命令请求其中的 8 个:

using Distributed
addprocs(8)

Julia 1.1.0 中是否有命令知道数字12,即可用内核的最大数量?

【问题讨论】:

标签: parallel-processing julia


【解决方案1】:

逻辑核心数在Sys.CPU_THREADS中给出。

【讨论】:

  • 在我有权访问的服务器上,我最多可以访问x 个核心。但是,我已经申请了y (y x) 核心。当我发出命令Sys.CPU_THREADS 时,我得到x,而我期望得到的是y。所以,我正在寻找一个神奇的命令来给我这个y :-)。如果我能对我的问题更有帮助,请告诉我,谢谢!
  • @SchlatorBorgenson 所以你想知道你的代码中的8 而不是12 不像你在问题中描述的那样?
  • 也许github.com/m-j-w/CpuId.jlgithub.com/JuliaParallel/Hwloc.jl 会满足您的需求?或者您只是在寻找nprocsnworker 函数?
  • 当我给 Sys.CPU_THREADS 时,我得到一个类似 60 的数字(这是节点上可用的内核总数)。我使用分配 12 个核心的请求开始了一个会话,我可以通过发出命令 addprocs(8) 来选择使用 8 个核心。在发出 addprocs(8) 之前,nworkers() 返回 1,在发出 addprocs(8) 之后,它返回 8。但是,我找不到返回 12 的函数,这是我开始会话的数字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
相关资源
最近更新 更多