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

راهنمای Environment Modules

Environment Modules روشی برای بارگذاری نرم‌افزارها و نسخه‌های مختلف در کلاستر است. با Module می‌توانید بدون تغییر دائمی سیستم، محیط کاری خود را برای یک نرم‌افزار خاص آماده کنید.

بررسی وجود دستور module

which module
module --version

مشاهده ماژول‌های موجود

module avail

گاهی خروجی زیاد است. برای جستجوی یک نرم‌افزار:

module avail 2>&1 | grep -i NAME

به جای NAME نام نرم‌افزار را قرار دهید.

بارگذاری یک ماژول

module load MODULE_NAME

مثال فرضی:

module load gcc

مشاهده ماژول‌های فعال

module list

حذف یک ماژول از محیط

module unload MODULE_NAME

پاک کردن همه ماژول‌ها

module purge

استفاده از module داخل Slurm

اگر برنامه شما به ماژول خاصی نیاز دارد، همان دستور module load را داخل فایل Slurm هم بنویسید.

cat > run-with-module.slurm <<'SLURM_JOB'
#!/bin/bash
#SBATCH --job-name=module-demo
#SBATCH --partition=normal
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=2
#SBATCH --mem=4G
#SBATCH --time=00:30:00
#SBATCH --output=logs/module-%j.out
#SBATCH --error=logs/module-%j.err

module purge
module load MODULE_NAME

which MODULE_COMMAND
MODULE_COMMAND --version
SLURM_JOB

نکات مهم

نکته توضیح
module avail نرم‌افزارهای قابل بارگذاری را نشان می‌دهد
module load نرم‌افزار را به محیط فعلی اضافه می‌کند
module list ماژول‌های فعال فعلی را نشان می‌دهد
module purge محیط را از ماژول‌های بارگذاری‌شده پاک می‌کند
داخل Slurm باید ماژول‌ها را دوباره در Job بارگذاری کنید

تفاوت Terminal و Job

اگر در Terminal یک ماژول را Load کنید، الزاماً داخل Job شما فعال نیست. برای اطمینان، دستورهای module load را داخل فایل .slurm هم قرار دهید.