JuliaのMPIバインドをABCIで動かせるか確認。
Juliaにはマルチノード対応があるが、それとは全く別の枠組みで、ただのメッセージパッシングライブラリが動くだけ。
.bashrcに以下を追記。
module load julia
module load openmpi/3.1.6
でjuliaを起動して、
import Pkg
Pkg.add("MPI")
ENV["JULIA_MPI_BINARY"]="system"
Pkg.build("MPI")
Pkt.add するとどうもMPIを独自にダウンロードしているようなので、システムのMPIを使わせるために
下の2行が必要らしい。
こんなふうにバッチファイルを書いて、
#!/bin/bash
#$ -l rt_F=2
#$ -cwd
source /etc/profile.d/modules.sh
module load julia
module load openmpi/3.1.6
mpiexec -n 2 -N 1 julia hello.jl
qsub -g XXXX test.sh
とかで起動。
ちなみにABCIではノード専有の rt_F以外の構成ではマルチノードジョブが動かない。なんでやねん。