PARALLEL.RU

Дискуссионный клуб по параллельным вычислениям
Текущее время: 21 июл 19 16:04

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: US-GAMESS on skif & lomonosov
СообщениеДобавлено: 19 июл 11 2:18 
Не в сети

Зарегистрирован: 15 май 07 12:13
Сообщения: 8
Откуда: МГУ
Я полагаю, эта проблема волнует не только меня, поэтому я продолжу переписку здесь.

Цитата:
> Второй вопрос касается GAMESS-US. Он продолжает запускаться на вдвое
> меньшем количестве процессоров, поскольку запускает еще по одному
> следящему процессу на каждый вычислительный процесс. Получается, что
> половина процессоров простаивает. Мамонов Пётр списывался с Вами по этой
> же проблеме на СКИФе, но, насколько я знаю, вы так ни к чему и не пришли.

Можно запускать задачу вручную, используя опцию -as script. В этом
случае запускается обычный скрипт и mpirun_rsh надо запускать
самостоятельно, сформировав нужный machinefile по переменным FILE и NP.

> Каким образом можно попробовать запустить гамесс чтобы было по два
> mpi-нода на ядро? Может быть, на ЛОМОНОСОВе это удастся решить.
>
Пока я затрудняюсь сказать как это надо делать на Ломоносове.


У меня пока маловато скиллов, чтобы адекватно воспринять ответ Сергея.

1. Где я могу узнать, как писать скрипт для -as script. В мане cleo-submit я не нашел отсыла?
2. Где я могу узнать, как работает mpirun_rsh?

_________________
За КАЛИМДОР!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: US-GAMESS on skif & lomonosov
СообщениеДобавлено: 20 июл 11 11:06 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
-as script работает также как по умолчанию работают PBS/Slurm/и т.п. системы. Т.е. при старте задачи на головной машине запускается указанный скрипт. В скрипте доступны переменные NP (равно переданному аргументу из -np) и FILE - имя файла со списком узлов. Дальше уже скрипт сам решает что и как запускать.

Если при компиляции использовался mvapich, то запускать в скрипте надо команду mpirun_rsh:
Код:
usage: mpirun_rsh [-v] [-rsh|-ssh] [-paramfile=pfile] [-debug] -[tv] [-xterm] [-show] [-legacy] [-use_xlauncher][xlauncher-width W] -np N (-hostfile hfile | h1 h2 ... hN) a.out args
Where:
        v          => Show version and exit
        rsh        => to use rsh for connecting
        ssh        => to use ssh for connecting
        paramfile  => file containing run-time MVICH parameters
        debug      => run each process under the control of gdb
        tv         => run each process under the control of totalview
        xterm      => run remote processes under xterm
        show       => show command for remote execution but dont run it
        legacy     => use old startup method (1 ssh/process)
        np         => specify the number of processes
        h1 h2...   => names of hosts where processes should run
or      hostfile   => name of file contining hosts, one per line
        a.out      => name of MPI binary
        args       => arguments for MPI binary

Стандартный запуск: mpirun_rsh -np $NP -hostfile $FILE задача аргументы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: US-GAMESS on skif & lomonosov
СообщениеДобавлено: 21 июл 11 14:11 
Не в сети

Зарегистрирован: 15 май 07 12:13
Сообщения: 8
Откуда: МГУ
То есть я должен сформировать machinefile со списком нодов, которых будет N/8 штук, и запустить на нем гамесс в N*16 потоков и он сам раскидает по 2 потока на ядро? Или это как-то тоже специально нужно указывать?

_________________
За КАЛИМДОР!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: US-GAMESS on skif & lomonosov
СообщениеДобавлено: 22 июл 11 14:25 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
comcon1 писал(а):
То есть я должен сформировать machinefile со списком нодов, которых будет N/8 штук, и запустить на нем гамесс в N*16 потоков и он сам раскидает по 2 потока на ядро? Или это как-то тоже специально нужно указывать?

Нет. Если у machinefile будет N/8, то процессов должно быть не более N/8. В machinefile одна строка = имя узла = один процесс. Число строк = np.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: US-GAMESS on skif & lomonosov
СообщениеДобавлено: 27 июл 11 13:21 
Не в сети

Зарегистрирован: 15 май 07 12:13
Сообщения: 8
Откуда: МГУ
Пока ясно, разбираемся.

Вопрос в эту же тему, потому что в тему) Решение обратной задачи)

Допустим, мне нужно для гамеса больше памяти чем даётся на одно ядро. Могу ли я сделать следующее: запустить задачу на 8 ядрах на двух узлах, так, чтобы по 4 ядра использовалось на каждом узле и соответственно больше памяти будет приходиться на ядро.

то есть я составляю машинфайл
node1
node1
node1
node1
node2
node2
node2
node2

и память автоматически будет доступна большая? или надо где-то указать? и надо как-нибудь заблочить оставшиеся неиспользуемые ядра на узлах или они сами заблочатся?

_________________
За КАЛИМДОР!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: US-GAMESS on skif & lomonosov
СообщениеДобавлено: 27 июл 11 20:04 
Не в сети

Зарегистрирован: 11 дек 02 19:37
Сообщения: 872
Откуда: НИВЦ МГУ
comcon1 писал(а):
Допустим, мне нужно для гамеса больше памяти чем даётся на одно ядро. Могу ли я сделать следующее: запустить задачу на 8 ядрах на двух узлах, так, чтобы по 4 ядра использовалось на каждом узле и соответственно больше памяти будет приходиться на ядро.

Тут всё проще - укажите ключ -t ppn=4 команде mpirun и на узел будет запущено по 4 процесса.

Цитата:
и память автоматически будет доступна большая? или надо где-то указать? и надо как-нибудь заблочить оставшиеся неиспользуемые ядра на узлах или они сами заблочатся?

Память общая - и один процесс может отхватить всё, а остальным ничего не достанется :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: US-GAMESS on skif & lomonosov
СообщениеДобавлено: 28 июл 11 13:51 
Не в сети

Зарегистрирован: 15 май 07 12:13
Сообщения: 8
Откуда: МГУ
mpirun -np 6 -t ppn=1 -q bigmem -maxtime 500 /home/nesterenko/local/FF/firefly.mvapich -r -f -p -stdext \
-i /home/nesterenko/qm/beh2o2/singlepoint/mp4.inp \
-o /home/nesterenko/qm/beh2o2/singlepoint/mp4.out \
-t /home/nesterenko/qm/beh2o2/singlepoint/scr/m4 \
-ex /home/nesterenko/local/FF

из реп-а видно, что запустился он так, как ожидалось:
Nodes : node-00-03:1,node-00-04:1,node-00-05:1,node-00-06:1,node-00-07:1,node-00-08:1

Но firefly все равно пишет:
460000000 WORDS OF MEMORY UNAVAILABLE

460 мегаслов это вообще 3,5 гига и должно выделяться, исходя из заявленых в bigmem лимитах, и без ppn=1. А тут и с ppn=1 не выделяется.

_________________
За КАЛИМДОР!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB