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()