Как использовать sbatch с SLURM и make-файлом?

Я пытаюсь отправить пакетные задания в SLURM, но продолжаю получать JobState=FAILED Reason=NonZeroExitCode. Я могу скомпилировать и запустить код на обычном g ++, но мне нужно использовать SLURM для школьных заданий. Я думал, что запускаю их правильно, и получил неприятный грамм от корневого каталога, говорящий мне прекратить выполнение сценариев на узле входа в систему. Любая помощь будет оценена. Вот мой командный файл и мой Makefile:

#!/bin/bash
#SBATCH -N1 -n1 --mem-per-cpu=100m -t00:05:00
echo "#SBATCH -N1 -n1 --mem-per-cpu=100m -t00:05:00 --qos=test"
cd /home/<username>/AFS/cse_430/Project1/Parallel/
module load gcc/4.9.1
make clean
make all
echo "Running single threaded code..."
./run "SeqCA(57;4,10).txt"
echo "Done experiment. Check log.txt"

Makefile:

EXEC=run    # name of executable is run
CC=g++      # compile with g++
CFLAGS=-std=c++11 -fopenmp -c -Wall 

all: $(EXEC)

$(EXEC): main.o threeSeq.o fourSeq.o fiveSeq.o
    $(CC) -fopenmp -o $(EXEC) main.o threeSeq.o fourSeq.o fiveSeq.o 

main.o: main.cpp
    $(CC) $(CFLAGS) main.cpp

threeSeq.o: threeSeq.cpp threeSeq.hpp
    $(CC) $(CFLAGS) threeSeq.cpp

fourSeq.o: fourSeq.cpp fourSeq.hpp
    $(CC) $(CFLAGS) fourSeq.cpp

fiveSeq.o: fiveSeq.cpp fiveSeq.hpp
    $(CC) $(CFLAGS) fiveSeq.cpp

clean: 
    rm -f *.o
    rm -f $(EXEC)
    rm -f *log.txt

person Johnny    schedule 30.09.2014    source источник


Ответы (1)


Вы должны отправлять свои вакансии с помощью: sbatch jobscript.sh

Также проверьте файлы вывода из slurm, чтобы проверить наличие ошибок при выполнении задания. По умолчанию slurm хранит stdout и err в файле slurm-.out.

person Carles Fenoy    schedule 30.09.2014
comment
Вот что странно ... там написано, что есть выходной файл slurm, но его не существует. Мой сценарий выше называется job2.sh, и я отправляю его с помощью sbatch job2.sh. Моя программа принимает входной файл и вычисляет на нем данные. Может быть, это вызывает проблему? Я видел примеры сценариев, и мой выглядит правильно. - person Johnny; 30.09.2014
comment
Откуда вы отправляете свою работу? какой ты путь? Путь должен быть доступен с любого вычислительного узла, чтобы slurm мог создать выходной файл. - person Carles Fenoy; 30.09.2014
comment
Путь находится в папке, которая у меня есть на сервере: hphn1.a2c2.asu.edu/home/?username›/AFS/cse_430/Project1/ - person Johnny; 30.09.2014
comment
Если путь доступен со всех узлов, все выглядит нормально. Вы видите задание в очереди, когда отправляете его? Попробуйте указать выходной файл с флагом -o - person Carles Fenoy; 30.09.2014
comment
Я вижу, что он поставлен в очередь, но обычно он просто терпит неудачу, когда я звоню scontrol show job <job number> - person Johnny; 30.09.2014
comment
Как мне указать выходной файл с флагом -o? - person Johnny; 30.09.2014
comment
Вам следует посмотреть справочную страницу sbatch, просто указав -o FILENAME - person Carles Fenoy; 30.09.2014