我的理解是,基本Julia安装中默认包括并行化。
但是,当我尝试使用它时,出现错误,提示未定义函数和宏。例如:
nprocs()
引发错误:
ERROR: UndefVarError: nprocs not defined
Stacktrace:
[1] top-level scope at none:0
在任何Julia文档中都找不到任何提及要使用这些功能的软件包。我在这里想念东西吗?
我正在JuliaPro / Atom IDE中使用Julia版本1.0.5
答案 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