распараллелить Linux под Orca

вопросы строения молекул и квантовой химии
ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

распараллелить Linux под Orca

Сообщение ruderal » Чт июн 07, 2012 12:21 pm

Помогите пжлст распараллелить на 4 ядра. Каков алгоритм действий?
особенно интересует установка MPI

Аватара пользователя
alien308
Сообщения: 553
Зарегистрирован: Пт окт 23, 2009 8:53 pm

Re: распараллелить Linux под Orca

Сообщение alien308 » Чт июн 07, 2012 3:03 pm

У меня Debian. Насколько помню OpenMPI поставил из дистрибутива. Дальше строго по описанию орки. Если у вас Debian то наверное смогу ответить на конкретные вопросы что не получается.

ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

Re: распараллелить Linux под Orca

Сообщение ruderal » Чт июн 07, 2012 3:17 pm

нет, Ubuntu

ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

Re: распараллелить Linux под Orca

Сообщение ruderal » Чт июн 07, 2012 3:44 pm

первые проблемы начинаются с запуска на одном ядре. пишу в командной строке:
nohup orca file.txt>& file.out & - как в мануале
в оутпуте:
nohup: ignoring input
nohup: failed to run command `orca': No such file or directory
справедливости ради надо сказать с убунтой у меня не очень.

Аватара пользователя
alien308
Сообщения: 553
Зарегистрирован: Пт окт 23, 2009 8:53 pm

Re: распараллелить Linux под Orca

Сообщение alien308 » Чт июн 07, 2012 5:43 pm

Вот вот. Освойте сначала на одном ядре :)
1. Попробуйте без nohup и сообщите как ругается.
nohup нужен для больших многопользовательских систем. На персоналке это излишество. Его функциональность -- запущенная программа продолжает работать, даже если пользователь её запустивший вышел из системы.
2. Ubuntа сделана на основе Debian. В большинстве случаев советы годятся для обеих систем :)

ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

Re: распараллелить Linux под Orca

Сообщение ruderal » Чт июн 07, 2012 7:27 pm

на данный момент доходит до строчки:
Your calculation uses the libint2 library for the computation of 2-el integrals
For citations please refer to: http://libint.valeyev.net
а затем:
ERROR: expect a '$', '!', '%', '*' or '[' in the input
то есть сама орка запускается, а с инпутом проблемы?
кстати, такая же ошибка была и в винде последний раз, когда делал расчет.

ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

Re: распараллелить Linux под Orca

Сообщение ruderal » Чт июн 07, 2012 7:49 pm

запустил расчет после того, как убрал комментарии из начала инпута.
но так и не понял, почему orca вдруг стала ругаться на # в начале строки

Аватара пользователя
alien308
Сообщения: 553
Зарегистрирован: Пт окт 23, 2009 8:53 pm

Re: распараллелить Linux под Orca

Сообщение alien308 » Пт июн 08, 2012 10:09 am

Возможно при копировании попали непечатные символы. При копировании из pdf файлов через буфер обмена такое бывает.

ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

Re: распараллелить Linux под Orca

Сообщение ruderal » Пт июн 08, 2012 11:38 am

alien308 писал(а):Возможно при копировании попали непечатные символы. При копировании из pdf файлов через буфер обмена такое бывает.
с коммандной строкой вроде бы разобрался. запускать на одном ядре научился.
как теперь распараллелить с openmpi?
в какую директорию его поместить, что писать в командной строке?

Аватара пользователя
alien308
Сообщения: 553
Зарегистрирован: Пт окт 23, 2009 8:53 pm

Re: распараллелить Linux под Orca

Сообщение alien308 » Пт июн 08, 2012 12:59 pm

Завтра буду на работе, посмотрю как сделано.

Аватара пользователя
EvgeniX
Сообщения: 2780
Зарегистрирован: Пт апр 27, 2007 5:32 am

Re: распараллелить Linux под Orca

Сообщение EvgeniX » Пт июн 08, 2012 1:06 pm

Устанавливаем OpenMPI в /usr/local/bin/openmpi или другое место.
Устанавливаем ORCA 2.9 в /usr/local/qchem64l/orca2.9.1 или другое место.
Создаём файл задачи ORCA с именем /research/calc.in иди с другим именем.

Запуск ORCA 2.9 в параллельном режиме:

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

export ORCA=/usr/local/qchem64l/orca2.9.1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/bin/openmpi/lib
export PATH=$PATH:/usr/local/qchem64l/orca2.9.1:/usr/local/bin/openmpi/bin
mpirun /usr/local/qchem64l/orca2.9.1/orca /research/calc.in > /research/calc.out
В файл calc.in добавляем вверху

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

%pal nprocs 2 end
для распараллеливания на 2 ядрах процессора.

Файл расчёта сохраняется в /research/calc.out

Аватара пользователя
alien308
Сообщения: 553
Зарегистрирован: Пт окт 23, 2009 8:53 pm

Re: распараллелить Linux под Orca

Сообщение alien308 » Пт июн 08, 2012 2:52 pm

У меня так:
Для запуска орки использую коротенький скрипт:

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

export ORCA=/home/user01/bin/orca_x86_64_exe_r2360
export PATH=$PATH:$ORCA
$ORCA/orca ne.inp > ne1-1-out.txt
Первые две строки задают переменные окружения, необходимые для работы. При работе с MPI необходимо задавать полные пути для запускаемых программ, что скрипт и делает. /home/user01/bin/orca_x86_64_exe_r2360 -- директория, где находится файл orca, у вас она другая, соответственно исправьте. Не забудьте установить скрипту права на выполнение.

Входной файл ne.inp:

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

! PAL2

%paras R = 9.0, 12.0, 5
       end
! RHF QZVP CCSD(T)

%scf
TolE        1e-12
TolRMSP     1e-9
TolMaxP     1e-9
TolErr      1e-9
TolG        1e-10
TolX        1e-7
end

* xyz 0 1
  Ne  0 0 0
  Ne  0 0 {R}
*
В первой строке задаётся число процессоров. Для четырёх соответственно будет "! PAL4".

Удалите временные файлы перед повторными запусками или если они не нужны то можно сразу после расчёта. Я делаю тоже скриптом:

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

rm *.prop
rm *.ges
rm *.gbw 
rm *.tmp
Установка openmpi если по аналогии с Debian что-то вроде:

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

sudo apt-get install openmpi-bin openmpi-common openmpi-doc
Я использую менеджер пакетов apt по простой причине -- для него есть хорошее описание по русски. Если вы используете другой то используете свой. Следует пользоваться одним менеджером пакетов, а то они могут запутаться. Народ ещё рекомендует aptitude http://habrahabr.ru/post/74506/

По вопросам Linux, в частности Ubuntu, есть форумы http://unixforum.org http://linuxforum.ru

Удачи!

ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

Re: распараллелить Linux под Orca

Сообщение ruderal » Пт июн 08, 2012 5:08 pm

огромное всем спасибо.
вроде бы openmpi установил.
запускаю по схеме:

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

export ORCA=/usr/local/qchem64l/orca2.9.1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/bin/openmpi/lib
export PATH=$PATH:/usr/local/qchem64l/orca2.9.1:/usr/local/bin/openmpi/bin
mpirun /usr/local/qchem64l/orca2.9.1/orca /research/calc.in > /research/calc.out
получаю ошибку:
[ubuntu:17502] [[17928,1],0] ORTE_ERROR_LOG: A message is attempting to be sent to a process whose contact information is unknown in file ../../../../../../orte/mca/rml/oob/rml_oob_send.c at line 105
[ubuntu:17502] [[17928,1],0] could not get route to [[INVALID],INVALID]
[ubuntu:17502] [[17928,1],0] ORTE_ERROR_LOG: A message is attempting to be sent to a process whose contact information is unknown in file ../../../../../orte/mca/plm/base/plm_base_proxy.c at line 86

Аватара пользователя
alien308
Сообщения: 553
Зарегистрирован: Пт окт 23, 2009 8:53 pm

Re: распараллелить Linux под Orca

Сообщение alien308 » Сб июн 09, 2012 5:32 am

1. Как я понял вы установили openmpi из исходных текстов. Возможно openmpi у вас уже было установлено в системе и двое разных openmpi конфликтуют.
Удалить программу установленную из исходников как правило можно запустив
make uninstall из той же директории, где запускали configure, make, make install. Подробнее смотрите файл readme и прочие файлы с документацией по инсталляции.
2. Возможно вы взяли слишком новую или слишком старую версию openmpi и у неё разногласия с компилятором, ядром или оркой.

Попробуйте под openmpi запустить не орку, а что то другое. Например

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

mpirun  -np 4 hostname  
Должно 4 раза вывестись имя вашей машины.
Если будет ошибка, значит дело в openmpi.

ruderal
Сообщения: 91
Зарегистрирован: Пн авг 22, 2011 5:03 pm

Re: распараллелить Linux под Orca

Сообщение ruderal » Сб июн 09, 2012 12:31 pm

спасибо большое за советы. все работает

Аватара пользователя
Shorku
Сообщения: 1075
Зарегистрирован: Вт дек 13, 2011 2:17 pm

Re: распараллелить Linux под Orca

Сообщение Shorku » Пн июл 09, 2012 12:24 am

На всякий случай быстрый и простой способ все запустить (точно работает под большинством версий убунты):

2. Вызываем менеджер пакетов, устанавливаем OpenMPI (чаще версия предлагаемого софта вполне достаточна)
3. Качаем ORCA отсюда http://www.thch.uni-bonn.de/tc/orca/ (требуется регистрация, занимающая минут пять от силы)
4. Распаковываем архив
5. Открываем домашнюю папку, в менюшке Вид просим показать невидимые файлы
6. В файл .bashrc копируем следующие строки:

ORCA=/home/oleg/orca/:$ORCA
PATH=$PATH:$ORCA
export PATH ORCA

(путь к программе, разумеется, нужно поставить свой)
7. Ну а дальше по мануалу можно составить входной файл, скажем MyTask.inp, и запустить в терминале задачу командой nohup /home/oleg/orca/orca MyTask.inp >&MyTask.out&
(если расчет распараллеленный, то приходится указывать полный путь к программе, иначе она не найдет файлы подпрограмм)
Make quantum chemistry, not war

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

Re: распараллелить Linux под Orca

Сообщение Гесс » Вт мар 05, 2013 7:53 pm

Господа, дабы не плодить темы, спрошу тут:
Есть сервер. На сервере есть стоит OpenMpi 1.6.3 (ставился не мной, не в моей папке, путей к нему я далее не указываю, это не ниже чем 1.4.4 который рекомендовался для орки 2.9)
Поставил ORCA. Скрипт запуска в общих чертах (выкинут кусок с созданием дополнительной папки, переходом в нее, вытягиванием из нее аутпута, удалением папки) выглядит как
#! /bin/bash -l
#PBS -q workq
#PBS -N Nevazhno
#PBS -l nodes=1:ppn=16
#PBS walltime=1:00:00
#PBS -j oe
/home/Myname/Prog/orca_2_9_1_linux_x86-64/orca Myfile.inp >> Myfile.out
Сам инпут не содержит указаний на число процов, а пбсник не содержит указаний на OpenMpi.
В результате задача ранится на одном проце.

Собственно вопрос: и где я опять дурак?
Мануал Орки читал, непомогло.

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: распараллелить Linux под Orca

Сообщение alxyppv » Вт мар 05, 2013 8:36 pm

а почему "инпут не содержит указаний на число процов"? или так надо при использовании этого протокола?
А.П.

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

Re: распараллелить Linux под Orca

Сообщение Гесс » Ср мар 06, 2013 12:34 am

Мда, нашел, действительно "решается" добавлением в инпут "%pal nprocs 16 end"
Теперь вылетает с
ORCA finished by error termination in ORCA_GTOInt
Это должно лечиться через http://www.qchem.ru/f/kvantovo-khimiche ... =printpage
ORCA=/opt/q/orca/:$ORCA
PATH=$PATH:$ORCA
export PATH ORCA
в .bashrc
Но как то я пока в этих строках не отдупляюсь. :235: :vis:

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

Re: распараллелить Linux под Orca

Сообщение amge » Ср мар 06, 2013 11:58 am

Гесс писал(а):Но как то я пока в этих строках не отдупляюсь. :235: :vis:
О! Выяснил значение "не отдупляюсь". Пришлось спрашивать у гугла. Были сложности, т.к. это словосочетание чаще всего встречалось в окружении не менее загадочных слов, но, вроде, по контексту больше всего подходит "не понимаю".

А в этих строках все просто. Задаются переменные окружения, чтобы система знала, в каких папках искать экзешники orca. Эти строки нужно просто поместить в конец файла .bashrc (он в домашней директории каждого юзера, начинается с точки, поэтому команда ls его не показывает, если этого файла нет в домашней директории, то создать новый). Естественно, вместо /opt/q/orca/ указать полный путь к папке, где orca находится.

Ответить

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

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

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