#!/bin/bash
#SBATCH --job-name=bert-train
#SBATCH --output=logs/%x-%j.out
#SBATCH --partition=gpu
#SBATCH --gres=gpu:1
#SBATCH --cpus-per-task=4
#SBATCH --mem=32G
#SBATCH --time=04:00:00
 
echo "Running on $(hostname)"
source ~/venv/bin/activate
python train.py --epochs 10 --batch-size 64
 

🔍 Объяснение ключевых параметров:

ПараметрЗначение
#!/bin/bashУказывает, что скрипт исполняется в bash
#SBATCH --job-name=bert-trainИмя задачи, отображается в squeue, логах и UI
#SBATCH --output=logs/%x-%j.outПуть к файлу вывода stdout/stderr (%x — имя, %j — job ID)
#SBATCH --partition=gpuВыбор очереди, в которой запускать (например, GPU-ноды)
#SBATCH --gres=gpu:1Запрос 1 GPU (generic resource)
#SBATCH --cpus-per-task=4Кол-во CPU на задачу (важно при многопоточности)
#SBATCH --mem=32GЗапрашиваемая память
#SBATCH --time=04:00:00Максимальное время выполнения — 4 часа

🚀 Поведение скрипта:

  • Задача попадёт в очередь gpu

  • Как только освободится GPU-нода — начнётся выполнение

  • Все логи пойдут в logs/bert-train-<jobid>.out

  • После завершения — SLURM освободит ресурсы