[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