Julia中的并行处理会引发错误

时间:2020-09-28 19:04:14

标签: parallel-processing julia

我的理解是,基本Julia安装中默认包括并行化。

但是,当我尝试使用它时,出现错误,提示未定义函数和宏。例如:

nprocs()

引发错误:

ERROR: UndefVarError: nprocs not defined
Stacktrace:
 [1] top-level scope at none:0

在任何Julia文档中都找不到任何提及要使用这些功能的软件包。我在这里想念东西吗?

我正在JuliaPro / Atom IDE中使用Julia版本1.0.5

2 个答案:

答案 0 :(得分:2)

我知道了。我将把这个问题留给其他任何有此问题的人。

解决方案是使用以下命令导入分布式软件包:

using Distributed

为什么我不知道的文档中没有包含此内容。

答案 1 :(得分:1)

一旦您知道需要使用nproc,就会有几个选项可以找到它的定义位置。

通过搜索文档可以帮助:https://docs.julialang.org/en/v1/search/?q=nprocs

在不离开Julia REPL的情况下,甚至在会话中导入nprocs之前,您都可以使用apropos来查找有关它的更多信息,并确定导入{{1 }}程序包:

Distributed

使用apropos的另一种方法是通过help REPL mode

julia> apropos("nprocs")
Distributed.nprocs
Distributed.addprocs
Distributed.nworkers

以前的选项在julia> # type `?` when the cursor is right after the prompt to enter help REPL mode # note the use of double quotes to trigger "apropos" instead of a regular help query help?> "nprocs" Distributed.nprocs Distributed.addprocs Distributed.nworkers 的情况下效果很好,因为它是标准库的一部分。 JuliaHub是另一个选项,它允许在整个Julia生态系统中更广泛地寻找事物。例如,在JuliaHub的“文档搜索”工具中搜索nprocs还会返回相关结果:https://juliahub.com/ui/Documentation?q=nprocs