پرش به محتویات

اجرای Job با Slurm

Slurm مدیر صف و منابع محاسباتی کلاستر است. این صفحه شروع سریع است و صفحات تکمیلی، جزئیات بیشتری درباره منابع، مثال‌ها، پایش و خطاها ارائه می‌کنند.

مفاهیم Slurm

CPU، RAM، زمان، Partition و Job ID را بهتر بشناسید.

نمونه Jobها

نمونه‌های آماده برای Python، venv، Thread و Array Job را ببینید.

پایش Job

با squeue، sacct، scontrol و فایل‌های خروجی کار کنید.

رفع خطا

خطاهایی مثل TIMEOUT، OUT_OF_MEMORY و Permission denied را عیب‌یابی کنید.

شروع سریع

mkdir -p ~/projects/slurm-quickstart/logs
cd ~/projects/slurm-quickstart
cat > hello.slurm <<'SLURM_JOB'
#!/bin/bash
#SBATCH --job-name=hello-hpc
#SBATCH --partition=normal
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --mem=1G
#SBATCH --time=00:05:00
#SBATCH --output=logs/hello-%j.out
#SBATCH --error=logs/hello-%j.err

echo "Hello from IASBS HPC"
echo "HOST=$(hostname)"
echo "USER=$(whoami)"
date
SLURM_JOB
sbatch hello.slurm
squeue -u $USER
cat logs/hello-*.out
cat logs/hello-*.err

دستورهای اصلی

دستور کاربرد
sinfo مشاهده وضعیت پارتیشن‌ها و نودها
squeue -u $USER مشاهده Jobهای خودتان
sbatch file.slurm ارسال Job
scancel JOBID لغو Job
sacct -u $USER --starttime today مشاهده سابقه Jobهای امروز
scontrol show job JOBID مشاهده جزئیات یک Job

وضعیت‌های رایج

وضعیت معنی
PENDING در صف انتظار
RUNNING در حال اجرا
COMPLETED پایان موفق
FAILED پایان با خطا
CANCELLED لغوشده
TIMEOUT زمان مجاز تمام شده
OUT_OF_MEMORY حافظه کافی نبوده

مسیر یادگیری پیشنهادی

اول همین نمونه ساده را اجرا کنید. بعد صفحه «نمونه Jobهای واقعی» را بخوانید و نمونه Python یا Array Job را بررسی کنید.