スクリプトファイルからの相対パスを使用してすべてをロードするのが簡単であるため、include
ファイルをJuliaスクリプトに入れると、便利なBase.source_dir()
が見つかりました。これは、並列化されたコードでは正しく動作しません。我々が持っている場合たとえば、/Users/username/test/
でテストファイルは、次のコードで、test.jl
と呼ばれる:Juliaの二次作業者のソースディレクトリを取得するには?
@everywhere println(pwd())
@everywhere println(Base.source_dir())
、我々は我々が得るjulia -p 1 test/test.jl
を実行
/Users/username
From worker 2: /Users/username
/Users/username/test
From worker 2: nothing
include
別のファイルへの最も強力な方法であるものそれはtest
ディレクトリにもありますか?
合意。あなたのソリューションは多くの状況で機能するはずだから、タイトルを変更した。私が2週間でグーグルでグーグルで見つけたときにそれを見つけるのに役立つだろう。 – tlnagy
このポスト(http://stackoverflow.com/questions/27677399/julia-how-to-copy-data-to-another-processor-in-julia)も参照してください。同様の 'getfrom()'関数もあります。実際にタイトルを変更することをお勧めします。あなたの新しい人物は、基本的にもう一方の人物と重複しているかもしれません。 –
私は実際に '@eval @ everywhere'ソリューションがその投稿にたくさん好きです – tlnagy