[mephi-hpc] HA: HA: HA: Quantum espresso parallel
Васильев Олег Станиславович
OSVasilyev at mephi.ru
Fri Sep 2 14:26:11 MSK 2016
>Для решения проблемы с Segfault я бы посоветовал собрать программу с аргументом компилятора "-ggdb3"
у меня там -O3, его убирать?
С Уважением,
Олег С. Васильев
каф. №78 НИЯУ МИФИ
________________________________________
От: hpc [hpc-bounces at lists.mephi.ru] от имени anikeev [anikeev at ut.mephi.ru]
Отправлено: 2 сентября 2016 г. 11:57
Кому: NRNU MEPhI HPC discussion list
Тема: Re: [mephi-hpc] HA: HA: Quantum espresso parallel
On Thu, 2016-09-01 at 23:26 +0300, Васильев Олег Станиславович wrote:
Добрый день!
> Понял, спасибо. Сегодня с доступом все в порядке, поэтому могу
> описать ситуацию более конкретно. Почистил пока папку, потом
> пересоберу на басове, но со сборкой тоже есть вопросы, так что пока
> чтобы хоть немного разобраться, провел еще несколько тестов.
> скрипт выглядит так:
> #!/bin/sh
> #
> #PBS -l nodes=4:ppn=8,walltime=48:00:00
>
> . ~/espresso-5.4.0/test
>
> mpirun -np 4 pw.x <test.in >test.out
У Вас в скрипте пару проблем. Для начала, аргумент -np у mpirun - это
количество потоков, а не нод. У Вас запрашивается 4 ноды по 8 потоков,
то есть 4*8=32 потока. Во-вторых, это значение по умолчанию заполняет
менеджер ресурсов torque через переменные окружения при запуске, так
что в штатных случаях её заполнять не нужно. Для примера я из под
Вашего пользователя собрал и запустил MPI тест от Ливерморской
Национальной Лаборатории:
osvasilyev at master.unicluster ~/espresso-5.4.0/test/mpi_test $ cat
start.sh
#!/bin/sh
#
#This is an example script example.sh
#
#These commands set up the Grid Environment for your job:
#PBS -N ExampleJob
#PBS -l nodes=3:ppn=8,walltime=1:00:00
#PBS -M anikeev_aa at mail.ru
#print the time and date
date
#run simulation
mpirun /home/osvasilyev/espresso-5.4.0/test/mpi_test/a.out
#print the time and date again
date
osvasilyev at master.unicluster ~/espresso-5.4.0/test/mpi_test $ cat
mpi_hello_world.c
#include <mpi.h>
#include <stdio.h>
int main(int argc, char** argv) {
// Initialize the MPI environment
MPI_Init(NULL, NULL);
// Get the number of processes
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
// Get the rank of the process
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
// Get the name of the processor
char processor_name[MPI_MAX_PROCESSOR_NAME];
int name_len;
MPI_Get_processor_name(processor_name, &name_len);
// Print off a hello world message
printf("Hello world from processor %s, rank %d"
" out of %d processors\n",
processor_name, world_rank, world_size);
// Finalize the MPI environment.
MPI_Finalize();
}
osvasilyev at master.unicluster ~/espresso-5.4.0/test/mpi_test $ cat
ExampleJob.o41704
Fri Sep 2 11:28:26 MSK 2016
Hello world from processor n13.unicluster.campus.mephi.ru, rank 1 out
of 24 processors
Hello world from processor n13.unicluster.campus.mephi.ru, rank 5 out
of 24 processors
Hello world from processor n13.unicluster.campus.mephi.ru, rank 3 out
of 24 processors
Hello world from processor n13.unicluster.campus.mephi.ru, rank 6 out
of 24 processors
Hello world from processor n13.unicluster.campus.mephi.ru, rank 0 out
of 24 processors
Hello world from processor n13.unicluster.campus.mephi.ru, rank 2 out
of 24 processors
Hello world from processor n13.unicluster.campus.mephi.ru, rank 4 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 17 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 21 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 8 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 9 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 16 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 10 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 18 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 12 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 19 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 14 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 20 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 15 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 23 out
of 24 processors
Hello world from processor n13.unicluster.campus.mephi.ru, rank 7 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 11 out
of 24 processors
Hello world from processor n10.unicluster.campus.mephi.ru, rank 22 out
of 24 processors
Hello world from processor n12.unicluster.campus.mephi.ru, rank 13 out
of 24 processors
Fri Sep 2 11:28:27 MSK 2016
Как видно, с количеством потоков и подхватом переменных окружения
проблем нет.
Ещё была проблема в команде ".", которую не воспринимал sh. Возможно,
Вы пользуетесь другой командной оболочкой, но на узлах запускается sh,
как и указано Вами в Sha Bang (заглавие скрипта #!/bin/sh). Лучше
использовать обычный "cd". Я из под Вашего пользователя написал
работающий скрипт:
osvasilyev at master.unicluster ~/espresso-5.4.0/test $ cat
test_by_anikeev.sh
#!/bin/sh
#
#PBS -l nodes=1:ppn=4,walltime=48:00:00
cd ~/espresso-5.4.0/test
mpirun pw.x <test.in >test.out
Который не приводит к проблемам с директориями:
osvasilyev at master.unicluster ~/espresso-5.4.0/test $ cat
test_by_anikeev.sh.e41701
osvasilyev at master.unicluster ~/espresso-5.4.0/test $
Кроме того, я не обнаружил проблем с количеством потоков (в скрипте
есть команда mpirun, но нет её аргумента -np):
osvasilyev at master.unicluster ~/espresso-5.4.0/test $ cat test.out
Program PWSCF v.5.4.0 starts on 2Sep2016 at 11:43:35
This program is part of the open-source Quantum ESPRESSO suite
for quantum simulation of materials; please cite
"P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502
(2009);
URL http://www.quantum-espresso.org",
in publications or presentations arising from this work. More
details at
http://www.quantum-espresso.org/quote
Parallel version (MPI), running on 4 processors
R & G space division: proc/nbgrp/npool/nimage = 4
При количестве потоков более 4 дейсвтительно возникает Segfault даже на
одной ноде:
osvasilyev at master.unicluster ~/espresso-5.4.0/test $ cat
test_by_anikeev.sh.e41705
Program received signal SIGSEGV: Segmentation fault - invalid memory
reference.
Backtrace for this error:
#0 0x7FBDA271FBF7
#1 0x7FBDA27201FE
#2 0x7FBDA1A245AF
#3 0x7FBD97586110
#4 0x7FBDA5B4200D
#5 0x7FBDA5B4231D
---------------------------------------------------------------------
-----
mpirun noticed that process rank 6 with PID 20201 on node
n13.unicluster.campus.mephi.ru exited on signal 11 (Segmentation
fault).
---------------------------------------------------------------------
-----
Для решения проблемы с Segfault я бы посоветовал собрать программу с
аргументом компилятора "-ggdb3" и запустить её с отладчиками gdb и
valgrind. Это позволит узнать больше о проблеме. Вот здесь можно
посмотреть пример использования gdb вместе с mpirun:
https://stackoverflow.com/questions/329259/how-do-i-debug-an-mpi-progra
m
> в test.in пишу разные задачи, и с каждой из задач такая картина.
> Когда запрашиваю nodes=4:ppn=8, а в параметрах mpirun не пишу np (как
> в инструкции), аут выдает, что вычисление идет на 1 процессоре. Если
> указывать -np, вычисление идет на соответствующем количестве
> процессоров. При nodes=4, np 4 проходит нормально, при большем
> количестве возникает segmentation fault, при этом аут не выдает
> ошибки, просто прекращается запись. прикрепляю собранные логи. папки,
> в которой лежат тесты и скрипт: osvasilyev at master.unicluster
> ~/espresso-5.4.0/test, osvasilyev at master.unicluster ~/espresso-
> 5.4.0/13
>
> С Уважением,
> Олег С. Васильев
> каф. №78 НИЯУ МИФИ
> ________________________________________
> От: hpc [hpc-bounces at lists.mephi.ru] от имени anikeev [anikeev at ut.mep
> hi.ru]
> Отправлено: 1 сентября 2016 г. 11:53
> Кому: NRNU MEPhI HPC discussion list
> Тема: Re: [mephi-hpc] HA: Quantum espresso parallel
>
> On Wed, 2016-08-31 at 18:07 +0300, anikeev wrote:
> Добрый день!
>
> Вы исчерпали дисковую квоту /home (/dev/sda2) на master.unicluster:
>
> osvasilyev at master.unicluster ~ $ quota -u
> Disk quotas for user osvasilyev (uid 1113):
> Filesystem blocks quota limit grace files quota lim
> it
> grace
> /dev/sda2 2139512* 2000000
> 192.168.137.101:/home
> 57268 2000000
>
> Нужно перенести часть данных на хранилища /mnt/pool/{1..4}/osvasilyev
> или забрать с кластера. Пока диск де будет очищен, сохранять новые
> данные будет невозможно (grace период в неделю так же исчерпан), что
> затрудняет дальнейшую диагностику.
>
> Перенесите, пожалуйста, свои данные. Либо, разрешите мне перенести на
> хранилище Вашу директорию:
>
> osvasilyev at master.unicluster ~ $ mv espresso-5.4.0/
> /mnt/pool/1/osvasilyev/
>
> >
> > On Wed, 2016-08-31 at 17:55 +0300, Васильев Олег Станиславович
> > wrote:
> >
> > Не вижу Ваших попыток подключения. Узнайте, пожалуйста, свой
> > внешний
> > IP
> > адресс. Можно, например, узнать здесь:
> >
> > https://2ip.ru/
> >
> > Можно прислать лог подключения, выводимый командой
> >
> > ssh -vvv osvasilyev at hpc.mephi.ru
> >
> > >
> > >
> > > сегодня не получается войти на кластер, ни по ssh из командной
> > > строки, ни по fish используя менеджeр krusader. скрипт как помню
> > > здесь home/espresso-5.4.0/test.sh
> > >
> > > С Уважением,
> > > Олег С. Васильев
> > > каф. №78 НИЯУ МИФИ
> > > ________________________________________
> > > От: hpc [hpc-bounces at lists.mephi.ru] от имени anikeev [anikeev at ut
> > > .m
> > > ep
> > > hi.ru]
> > > Отправлено: 31 августа 2016 г. 17:33
> > > Кому: hpc at lists.ut.mephi.ru
> > > Тема: Re: [mephi-hpc] Quantum espresso parallel
> > >
> > > Добрый вечер!
> > >
> > > Сообщите, пожалуйста, номер Вашей задачи и путь до скрипта
> > > запуска,
> > > чтобы я мог её воспроизвести. Не могу найти в логах.
> > >
> > > On Wed, 2016-08-31 at 16:32 +0300, Васильев Олег Станиславович
> > > wrote:
> > > >
> > > >
> > > >
> > > > osvasilyev
> > > --
> > > С уважением,
> > > аспирант кафедры 4 МИФИ,
> > > инженер отдела Unix-технологий,
> > > Аник
> > > еев Артём.
> > > Тел.: 8 (495) 788-56-99, доб. 8998
> > > _______________________________________________
> > > hpc mailing list
> > > hpc at lists.mephi.ru
> > > https://lists.mephi.ru/listinfo/hpc
> > > _______________________________________________
> > > hpc mailing list
> > > hpc at lists.mephi.ru
> > > https://lists.mephi.ru/listinfo/hpc
> --
> С уважением,
> аспирант кафедры 4 МИФИ,
> инженер отдела Unix-технологий,
> Аник
> еев Артём.
> Тел.: 8 (495) 788-56-99, доб. 8998
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc
--
С уважением,
аспирант кафедры 4 МИФИ,
инженер отдела Unix-технологий,
Аник
еев Артём.
Тел.: 8 (495) 788-56-99, доб. 8998
_______________________________________________
hpc mailing list
hpc at lists.mephi.ru
https://lists.mephi.ru/listinfo/hpc
More information about the hpc
mailing list