我最近在 Julia 中转移了我的代码。我想知道如何在命令行中执行 Julia 代码?
我知道 Julia 代码可以通过运行一次来编译。
但问题是我需要对集群上的模拟模型进行参数扫描,我只能使用命令行,而不能使用 REPL。
在集群上运行模拟复制的最佳实践是什么?
只需使用命令行调用您的脚本:
julia myscript.jl
但问题是我需要对集群上的模拟模型进行参数扫描,而我只能使用命令行。
我认为使用 Julia 的内置并行性是最简单的。pmap
通常可以达到目的。如果您正在求解微分方程,DifferentialEquations.jl 有一个函数可以跨集群并行化您的问题 http://diffeq.sciml.ai/latest/features/monte_carlo.html,及其内部实现uses pmap https://github.com/JuliaDiffEq/DiffEqMonteCarlo.jl/blob/master/src/DiffEqMonteCarlo.jl#L43。这也可以为如何处理其他问题提供很好的参考。
然后您所要做的就是调用 Julia,这样它就可以访问所有内核。您可以通过传入机器文件轻松地做到这一点:
julia myscript.jl --machinefile the_machine_file
每当您创建批处理作业时都会生成机器文件(对于某些集群,有时需要启用 MPI 才能显示机器文件)。有关更多信息,请参阅这篇博文 http://www.stochasticlifestyle.com/multi-node-parallelism-in-julia-on-an-hpc/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)