تفاوت JupyterLab و Slurm¶
JupyterLab و Slurm هر دو برای کار با سامانه HPC مهم هستند، اما کاربرد آنها یکسان نیست.
JupyterLab مناسب چه کاری است؟¶
- آموزش و یادگیری
- تست سریع کد
- نوشتن Notebook
- بررسی داده
- رسم نمودار
- آمادهسازی فایلهای Job
Slurm مناسب چه کاری است؟¶
- اجرای چندساعته یا چندروزه
- پردازش داده بزرگ
- اجرای چند ورودی
- اجرای کدهای نهایی
- ثبت خروجی و خطا
- استفاده منصفانه از منابع کلاستر
جدول تصمیمگیری¶
| سؤال | پیشنهاد |
|---|---|
| فقط تست کوتاه دارم | JupyterLab |
| چند نمودار و تحلیل تعاملی دارم | JupyterLab |
| اجرای کد بیشتر از چند دقیقه طول میکشد | Slurm |
| برنامه حافظه زیادی مصرف میکند | Slurm |
| میخواهم شب تا صبح اجرا شود | Slurm |
| چندین پارامتر دارم | Slurm Array Job |
گردش کار پیشنهادی¶
- در JupyterLab کد را کوچک تست کنید.
- کد اصلی را به فایل Python یا MATLAB تبدیل کنید.
- فایل
.slurmبسازید. - با داده کوچک تست بگیرید.
- Job اصلی را ارسال کنید.
- خروجیها را بررسی کنید.
نمونه اجرای Script نهایی¶
mkdir -p logs results
cat > run-final.slurm <<'SLURM_JOB'
#!/bin/bash
#SBATCH --job-name=final-analysis
#SBATCH --partition=normal
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=4
#SBATCH --mem=8G
#SBATCH --time=04:00:00
#SBATCH --output=logs/final-%j.out
#SBATCH --error=logs/final-%j.err
cd ~/projects/my-project
python3 scripts/final-analysis.py
SLURM_JOB
sbatch run-final.slurm
نکته کلیدی
JupyterLab را برای آمادهسازی و تحلیل تعاملی استفاده کنید؛ Slurm را برای اجرای اصلی و سنگین.