在群集上运行Julia代码

时间:2015-01-09 00:17:17

标签: bash cluster-computing executable julia

我的目标是使用.pbs文件(和qsub

在集群上运行一些Julia编码的模拟(不涉及复杂的并行处理)

我知道从Bash运行.jl文件的两种方法。第一个是

/path/to/julia myscript.jl

第二个是

exec '/Applications/bla/bla/julia/bin/julia'
include("myscript.jl")

这是我的.pbs文件。我无法测试它是否有效,因为我还不知道Julia应用程序存储在集群中的哪个位置。

#!/bin/bash
#PBS -l procs=1
#PBS -l walltime=240:00:00
#PBS -N Name
#PBS -m ea
#PBS -M name@something.com
#PBS -l pmem=1000mb
#PBS -t 1-3
echo "Starting run at: `date`"
exec '/Applications/bla/bla/julia/bin/julia'
include("myscript.jl")
echo "Job finished with exit code $? at: `date`"

你觉得这样吗?或者我应该以某种方式从我的.jl中创建一个.exec?

1 个答案:

答案 0 :(得分:1)

您希望直接执行Julia,并将.jl程序文件作为参数。

类似的东西:

echo "Starting run at: `date`"
/Applications/bla/bla/julia/bin/julia myscript.jl
echo "Job finished with exit code $? at: `date`"

PBS将捕获标准并将其放入文件中,例如.pbs.o ####(类似于.pbs.e ####中的标准错误)。

您可能会发现脚本运行时“当前工作目录”所在的问题。有些集群设置为'cd'你到/ tmp / filesystem,或者只是把你放在你的主目录中,而不是你提交脚本的地方。

在这种情况下,简单的解决方案是使用Julia脚本的完整路径,但这使得重用PBS提交脚本变得困难。

/Applications/bla/bla/julia/bin/julia ~/mydirectory/myscript.jl