R và SLURM server
September 19, 2017 by Kinh Nguyen
R “Job”
Với lệnh R bình thường, cấu trúc cơ bản là:
#!/bin/sh
srun R CMD BATCH ./script.R
Đương nhiên cần cấu hình cho SLURM như số máy, cấu hình máy, số CPUs, số jobs,…, nhưng sẽ riêng biệt cho từng server.
Array job cho R
sarray là cách chạy loop cho R trên SLURM, với biến $SLURM_ARRAYID. Cấu hình SLURM với SARRAY:
#!/bin/sh
#SARRAY --range=1-10
srun R CMD BATCH ./script.R
Rồi trong R dùng Sys.getenv() để lấy biến số
slurm_arrayid <- Sys.getenv('SLURM_ARRAYID') # characters type
n <- as.numeric(slurm_arrayid)
hoặc nếu muốn, cài thêm gói Slurm và dùng lệnh
library('Slurm')
arrayid <- slurm.arrayid()
hoặc để lấy task id từ SLURM_ARRAY_TASK_ID dùng lệnh
taskid <- slurm.array_task_id()