【发布时间】:2019-10-07 04:52:03
【问题描述】:
我有一个想要在多个节点上执行的 R 脚本。我展示了我的 slurm 代码的循环:
编辑
#!/bin/bash
#SBATCH -o job-%A_task.out
#SBATCH --job-name=paral_cor
#SBATCH --partition=normal
#SBATCH --time=1-00:00:00
#SBATCH --mem=124G #I want to use 124Go / node
#SBATCH --cpus-per-task=32 #and 32CPUs / node
#SBATCH --exclude=hpcsmp01
module load gcc/8.1.0 openblas/0.3.3 R
OUTPUT="$HOME"/PROJET_M2/data/$(date +"%Y%m%d")_parallel_nodes_test
mkdir -p "$OUTPUT"
export FILENAME=~/PROJET_M2/bin/RHO_COR.R
echo "Start job :"`date`
for i in $(seq 100)
do
srun Rscript my_scrit.R --subset $i
done
echo "Stop job :"`date`
我基本上执行这个
sbatch my_script.sh
这是我的 R 代码中出现--subset $i 的循环:
res <- foreach(i = opt$subset) %dopar% { #without argument, that gives
G1 <- split[[combs[i,1]]] i=seq_len(nrow(combs))
G2 <- split[[combs[i,2]]] combs is a vector with several
dat.i <- cbind(data[,G1], data[,G2]) rows, according to my input
rho.i <- cor_rho(dat.i) file
}
我想在多个节点上执行i 的不同值。此代码仅在一个节点上执行。在多个节点上运行此代码是否有问题?
谢谢
【问题讨论】:
-
你能给我们看完整的 SLURM 脚本吗?您如何将其发送到队列?
-
您是否还希望我向您展示我的 R 代码循环,其中出现了参数
subset?