اجرای 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 را عیبیابی کنید.
شروع سریع¶
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
دستورهای اصلی¶
| دستور | کاربرد |
|---|---|
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 را بررسی کنید.