Open nmilosev opened 3 years ago
Za pokretanje joba na slurm-u na axiom klasteru treba imati sbatch fajl npr. graspe.sbatch
koji definiše kako se pokreće task. Sve se radi sa pristupnog node-a Na primer:
#!/bin/bash
#SBATCH --job-name=graspe <-- ime job-a vidljivo svima
#SBATCH --partition=cuda <-- slurm particija, ako treba GPU onda "cuda", za CPU intensive taskove "all"
#SBATCH --nodes=1 <-- broj node-ova za izvršavanje
#SBATCH --cpus-per-task=12 <-- broj jezgara koje da se rezervišu, maksimum je 12, n17 ima 6
#SBATCH --nodelist=n17 <-- ako hoću jedan (ili više, odvojeno zarezom) node-ova
#SBATCH --time=24:00:00 #the maximum walltime in format h:m:s <-- maksimalno vreme izvršavanja
#SBATCH --output slurm.%J.out # STDOUT <-- output fajl, %J će biti slurm job id
#SBATCH --error slurm.%J.err # STDERR <-- error output fajl, %J će biti slurm job id
#SBATCH --export=ALL <-- koje env. varijable da se proslede, najbolje je uvek ALL
srun /home/milosevicn/miniconda3/envs/graspe/bin/python preprocess-distrib.py <-- glavni red kako se pokreće skripta, putanje su relativne, znači ne moraju biti apsolutne ako se job stavi u queue iz tekućeg foldera, jedino treba navesti apsolutnu putanju do python interpretera da bi se koristio željeni conda env.
Korisne komande:
squeue <-- pregled šta se trenutno izvršava
sbatch graspe.sbatch <-- slanje joba za izvršavanje, ispiše job ID
scancel job_id <-- otkaže task
Primer za n17, graspe da se pokrene:
#!/bin/bash
#SBATCH --job-name=graspe
#SBATCH --partition=cuda
#SBATCH --nodes=1
#SBATCH --cpus-per-task=6
#SBATCH --nodelist=n17
#SBATCH --time=24:00:00 #the maximum walltime in format h:m:s
#SBATCH --output slurm.%J.out # STDOUT
#SBATCH --error slurm.%J.err # STDERR
#SBATCH --export=ALL
srun /home/milosevicn/miniconda3/envs/graspe/bin/python src/graspe
Ovo pokrenem iz root foldera projekta sa sbatch graspe.sbatch
i pratim šta se dešava sa squeue
.
Gensim se buni ako je 4.x verzija, za sada ostaviti na 3.8.3!