我有一个带有模拟功能的Julia源文件,我想在多个处理器上并行运行。
addprocs(1)
using Autoreload
arequire("testp.jl")
testresults = pmap(testp,[100,100])
* change code *
areload()
testresults = pmap(testp,[100,100])
根据docs,include
或using
不会将模块内容放在所有进程的范围内,因此我必须使用require
并删除模块来自.jl文件的声明。我在Jupyter中进行测试,因此我经常在编辑器中更改功能代码,并希望在Jupyter中重新加载.jl文件。由于reload
函数不适用于非模块源文件,因此我必须使用包含arequire
和areload
的过时Autoreload包。它适用于单进程案例。但是,功能代码不会在具有2个或更多进程的任一处理器上重新加载。我正在使用Julia 0.4.3 x86_64。
如何在不重新启动内核的情况下重新加载代码?