Запуск раcчета в gaussian на Linux (скрипт)

вопросы строения молекул и квантовой химии
Ответить
Rupreht
Сообщения: 369
Зарегистрирован: Пт сен 12, 2008 9:34 pm

Запуск раcчета в gaussian на Linux (скрипт)

Сообщение Rupreht » Вт июл 16, 2019 9:34 am

Друзья, подскажите, как дополнять очередь расчета в гауссиане. Использую для запуска вот такой скрипт (взятый когда то на этом ресурсе))

Код: Выделить всё

#!/bin/sh
# ------------------------------------------------
PROGRAM_PATH="/home/server/calc/g09"
PROGRAM_EXEC="g09"
CALC_PATH="/home/server/calc/research"
TEMPORARY_PATH="/home/server/calc/tmp"
INPUT_EXTENTION=".gjf"
OUTPUT_EXTENTION=".log"
# ------------------------------------------------

clear
echo "Scheduler of qc-calculations by UQCS (http://www.qchem.ru), 2008-2010"
echo

GAUSS_EXEDIR=$PROGRAM_PATH
GAUSS_SCRDIR=$TEMPORARY_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GAUSS_EXEDIR
export GAUSS_EXEDIR GAUSS_SCRDIR LD_LIBRARY_PATH

cd $CALC_PATH
for INPUT_FILE in *${INPUT_EXTENTION}; do
    OUTPUT_FILE=${INPUT_FILE%${INPUT_EXTENTION}}${OUTPUT_EXTENTION}

    echo
    echo [`date "+%Y-%m-%d, %H:%M:%S"`] "Starting for \"$INPUT_FILE\""

    if [ -e $OUTPUT_FILE ];
    then
        echo "#Error:" $OUTPUT_FILE "exist!"
    else
        $PROGRAM_PATH/$PROGRAM_EXEC $CALC_PATH/$INPUT_FILE
        bzip2 $INPUT_FILE $OUTPUT_FILE
        echo "[`date "+%Y-%m-%d, %H:%M:%S"`] Calculation complete!"
        sleep 1
    fi
done
Но если уже в процессе расчета дозакинуть gjf файлы в папку и запустить скрипт заново, то выдает ошибку. Или нужно просто закинуть и скрипт сам подхватит их в порядке очередности?

Да и пробовал аналогичный скрипт для G16, но так ничего и не получилось. Все разрешения, пути выставил, но запуск не идет, этот скрипт подходит для g16?

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение Гесс » Вт июл 16, 2019 9:49 am

Rupreht писал(а):
Вт июл 16, 2019 9:34 am
Но если уже в процессе расчета дозакинуть gjf файлы в папку и запустить скрипт заново, то выдает ошибку. Или нужно просто закинуть и скрипт сам подхватит их в порядке очередности?

Да и пробовал аналогичный скрипт для G16, но так ничего и не получилось. Все разрешения, пути выставил, но запуск не идет, этот скрипт подходит для g16?
Мне неочевидно в каком порядке скрипт перебирает файлы. Если в алфавитном и до имени новых файлов скрипт еще не дошел - то должен подхватить.
А какую ошибку выдает скрипт? #Error:" имяфайла "exist! ? Так это нормально, он долден это выдать для всех файлов которые уже посчитаны и считать необработанные ранее.
Если чтото другое то он конфликтует с ранеезапущенной версией.
Да, скрипт универсален и при замене
PROGRAM_PATH="/home/server/calc/g09"
PROGRAM_EXEC="g09"
на правильные адреса должен работать и с g16 и с любым другим софтом.

Rupreht
Сообщения: 369
Зарегистрирован: Пт сен 12, 2008 9:34 pm

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение Rupreht » Вт июл 16, 2019 2:37 pm

Ошибка выглядит так:
Изображение

Аватара пользователя
surius
Сообщения: 1485
Зарегистрирован: Пт сен 21, 2007 11:20 am

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение surius » Вт июл 16, 2019 2:41 pm

Rupreht писал(а):
Вт июл 16, 2019 2:37 pm
Ошибка выглядит так:
Изображение
В моих руках это происходит когда заказанное количество ядер/памяти Гауссиану, в интпуте, больше чем выделенное в системе кластера
"Bite my shiny metal ass"
Bender

Rupreht
Сообщения: 369
Зарегистрирован: Пт сен 12, 2008 9:34 pm

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение Rupreht » Вт июл 16, 2019 2:52 pm

Ну у меня прописано 31 ядро в gjf из 32. Возможно когда при одном рабочем расчете пытаюсь запустить ещё один файл в расчет он как раз и заявляет, что нет ядер для расчета. Т.е. не ставит в очередь, а прерывает с ошибкой и архивирует лог с gjf. Т.е. далее расчет уже не пойдет, не подхватит. Может надо просто бросить в папку и он по окончании первого расчета будет искать необработанные gjf?

Аватара пользователя
amge
Сообщения: 2021
Зарегистрирован: Вт июл 31, 2007 11:42 am

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение amge » Ср июл 17, 2019 2:53 pm

Rupreht писал(а):
Вт июл 16, 2019 2:52 pm
Может надо просто бросить в папку и он по окончании первого расчета будет искать необработанные gjf?
Нет, так не получится. Скрипт обрабатывает только те инпуты, которые были на момент запуска скрипта. А повторный запуск скрипта, когда прежний еще не завершился, приведет к запуску еще одного гауссиана, который будет драться за ресурсы с уже считающим. Возможно, ошибка - это результат той драки.

Если у вас кластер, то неужели на нем не стоит какой-нибудь продвинутый шедулер типа PBS, который все нормально разрулит?

Rupreht
Сообщения: 369
Зарегистрирован: Пт сен 12, 2008 9:34 pm

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение Rupreht » Ср июл 17, 2019 11:31 pm

amge писал(а):
Ср июл 17, 2019 2:53 pm


Если у вас кластер, то неужели на нем не стоит какой-нибудь продвинутый шедулер типа PBS, который все нормально разрулит?
Нет, это не кластер, это простой AMD Ryzen™ Threadripper™ 1950X+64Гб оперативной памяти. Как в таком случае разрулить?

Аватара пользователя
amge
Сообщения: 2021
Зарегистрирован: Вт июл 31, 2007 11:42 am

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение amge » Чт июл 18, 2019 8:16 am

Самое правильное, конечно, это поставить какую-нибудь PBS. Но это сложно, нужно быть опытным сисадмином. У меня, например, не получилось.

В принципе, у меня есть скрипт, который делает примерно то, что вы хотите (см. steps -h). Я им, правда, не пользуюсь, т.к. везде, где считаю, есть PBS. Я в этот скрипт добавил поддержку гауссиана, но не проверял, т.к. гауссианом не считаю. Скрипт прикладываю. Он подразумевает, что есть запускалка гауссиана, в которой прописано нужное окружение типа PATH и LD_LIBRARY_PATH (такая запускалка, насколько я понимаю, есть в комплекте гауссиана).
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
amge
Сообщения: 2021
Зарегистрирован: Вт июл 31, 2007 11:42 am

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение amge » Чт июл 18, 2019 2:09 pm

Нашел у себя в залежах какой-то гауссиан и проверил скрипт. Работает.
Обновил его у себя на сайте.

Rupreht
Сообщения: 369
Зарегистрирован: Пт сен 12, 2008 9:34 pm

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение Rupreht » Чт июл 18, 2019 11:47 pm

Спасибо, попробую.

Аватара пользователя
surius
Сообщения: 1485
Зарегистрирован: Пт сен 21, 2007 11:20 am

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение surius » Пт июл 26, 2019 2:55 pm

amge писал(а):Самое правильное, конечно, это поставить какую-нибудь PBS. Но это сложно, нужно быть опытным сисадмином. У меня, например, не получилось.
Целиком и полностью присоединяюсь к данному предложению. Кроме того, не PBS единым живы. Есть еще SLURM, из супер расхожего и наверное пяток других менее навороченных. Но заметного опыта администрирования *NIX машин они потребуют так или иначе, зато потом бед знать не будете.

А еще, в качестве секции "мысли в слух" можно было бы попробовать в ваш скрипт добавить еще один цикл со счетчиком, который бы проверял количество ядер и памяти которое уже запрощено в расчетах (просто просматривая инпуты) и следующий запускал/не запускал по if/elseif. Сумбурно написал, но надеюсь идея понятна.
"Bite my shiny metal ass"
Bender

Аватара пользователя
Гесс
Сообщения: 13063
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Запуск раcчета в gaussian на Linux (скрипт)

Сообщение Гесс » Пт июл 26, 2019 3:02 pm

У меня были в разных местах PBS, SLURM, MOAB
Список можно посмотреть https://en.wikipedia.org/wiki/Job_sched ... C_clusters и https://en.wikipedia.org/wiki/Compariso ... nformation

Ответить

Вернуться в «квантовая химия и моделирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 19 гостей