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

تفاوت JupyterLab و Slurm

JupyterLab و Slurm هر دو برای کار با سامانه HPC مهم هستند، اما کاربرد آن‌ها یکسان نیست.

JupyterLab مناسب چه کاری است؟

  • آموزش و یادگیری
  • تست سریع کد
  • نوشتن Notebook
  • بررسی داده
  • رسم نمودار
  • آماده‌سازی فایل‌های Job

Slurm مناسب چه کاری است؟

  • اجرای چندساعته یا چندروزه
  • پردازش داده بزرگ
  • اجرای چند ورودی
  • اجرای کدهای نهایی
  • ثبت خروجی و خطا
  • استفاده منصفانه از منابع کلاستر

جدول تصمیم‌گیری

سؤال پیشنهاد
فقط تست کوتاه دارم JupyterLab
چند نمودار و تحلیل تعاملی دارم JupyterLab
اجرای کد بیشتر از چند دقیقه طول می‌کشد Slurm
برنامه حافظه زیادی مصرف می‌کند Slurm
می‌خواهم شب تا صبح اجرا شود Slurm
چندین پارامتر دارم Slurm Array Job

گردش کار پیشنهادی

  1. در JupyterLab کد را کوچک تست کنید.
  2. کد اصلی را به فایل Python یا MATLAB تبدیل کنید.
  3. فایل .slurm بسازید.
  4. با داده کوچک تست بگیرید.
  5. Job اصلی را ارسال کنید.
  6. خروجی‌ها را بررسی کنید.

نمونه اجرای 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 را برای اجرای اصلی و سنگین.