@everywhere和相对路径

时间:2017-04-25 00:17:08

标签: parallel-processing julia

按照我最近的一个问题(Parallel processing: @everywhere, distributions and types)后建议的方向工作,我尝试使用@everywhere设置一个模块,其类型取决于包。

然而,这产生了一个不同的问题 - 正如我在meta中所建议的那样创建了一个新帖子。假设我有以下模块(在test.jl中):

@everywhere module test
    using Distributions

    type TypeDistrib{T <: Float64}
        d::Distributions.Normal{T}
    end

    include('./folder1/fun1.jl');
    export TypeDistrib, fun1
end

其中fun1是一个函数(在fun1.jl中)和一个简单的脚本(在script.jl中):

include("./testdir/test.jl");
using test

另外,我们假设这些文件存储如下:

-> example/
   -  script.jl
   -> testdir/
      -  test.jl
      -> folder1/
         -  fun1.jl

当我使用示例作为我的工作目录而没有@everywhere运行它时,它没有任何错误。如果我用@everywhere运行它,它说文件fun1.jl不存在。

我注意到当我使用@everywhere时,相对路径与我的工作目录相关联,而不是与存储模块的目录相关联。我错过了什么吗?您能否澄清我应该如何使用@everywhere正确设置相对路径 - 或者更常见的是我的设置不准确?

0 个答案:

没有答案