[mephi-hpc] Установка программ

Мария Шутикова shutikova_maria at mail.ru
Wed Feb 6 15:39:12 MSK 2019


Здравствуйте!
Спасибо большое за ответ!
Файлы .o и .e для STDOUT и STDERR, cгенерированные менеджером ресурсов Torque, для запусков тестовой задачи pool/4/mishutikova/W_444/W444.fdf с nodes=1:ppn=32 и OMP_NUM_THREADS=4 и OMP_NUM_THREADS=32, остались в pool/4/mishutikova
Сейчас запустила задачу с OMP_NUM_THREADS=1.

>Среда,  6 февраля 2019, 12:58 +03:00 от anikeev <anikeev at ut.mephi.ru>:
>
>On Wed, 2019-02-06 at 11:35 +0300, Мария Шутикова wrote:
>> Здравствуйте!
>Добрый день!
>
>> Подскажите, пожалуйста!
>> Я запускаю задачу с помощью скрипта, аналогичного тому, который Вы
>> мне подсказали, а именно:
>> 
>> #!/bin/sh
>> 
>> #PBS -l nodes=1:ppn=32,walltime=4320:00:00
>> 
>> #print the time and date
>> date
>> 
>> #run simulation
>> cd /mnt/pool/4/mishutikova/W_444
>> OMP_NUM_THREADS=8 /mnt/pool/4/mishutikova/siesta-4.1-b4/Obj/siesta <
>> W444.fdf | tee W444.out
>> 
>> #print the time and date again
>> date
>> 
>> Основная проблема в том, что задача считается где-то час, а потом
>> замирает, и все. В выходном файле от нее больше ничего не появляется,
>> при этом в файле ошибок ничего нет. А когда заходишь посмотреть
>> статус задачи, выясняется, что задачи уже нет, хотя время еще не
>> прошло. Со значениями  nodes=1:ppn=1 и OMP_NUM_THREADS=1 такого вроде
>> бы пока не происходит...
>
>Для начала нужно посмотреть выходные файлы задачи. Имеются ввиду файлы
>.o и .e для STDOUT и STDERR, генерируемые менеджером ресурсов Torque, а
>не .out, генерируемый Вашей программой. У Вас остались эти файлы? Где
>можно их посмотреть (какая директория на кластере)? Прикладывать к
>письму их не надо - они могут быть большими.
>
>Параметр OMP_NUM_THREADS не имеет смысла указывать больше параметра
>ppn. Параметр ppn указывает, сколько потоков Вашей задаче будет
>выделено на узле. OMP_NUM_THREADS указывает, сколько из этих потоков Вы
>будете на самом деле использовать. Для OpenMP-задач параметр nodes
>всегда 1. Если Вы стараетесь подобрать максимальное допустимое число
>потоков не вызывающее переполнение памяти, всегда используйте ppn=32,
>чтобы получать полный вычислительный узел. Подбирайте параметр
>OMP_NUM_THREADS.
>
>> Читаю литературу об OpenMP и пробую разобраться. Но самостоятельно
>> понять что происходит и в какую сторону двигаться, чтобы подобрать
>> оптимальные ресурсы для вычислений что-то пока не вышло... В самом
>> входном файле к SIESTA ошибок нет. Я, конечно, буду разбираться
>> дальше, но, может быть, Вы подскажете что-то, ведь у Вас больше
>> опыта? В выходном файле выдает такие строчки:
>
>Вот здесь хорошие лекции по OpenMP:
>
>https://computing.llnl.gov/tutorials/openMP/
>
>Если речь идет об OpenMP, то строится диаграмма прироста
>производительности от количества потоков. Нужно подготовить тестовую
>задачу, запустить её с использованием (OMP_NUM_THREADS) 1, 2, 4, 8, 16,
>32 ядер и записать время исполнения задачи. Если программе перестаёт
>хватать оперативной памяти (ошибка OOM kill в .e файле), то, очевидно,
>больше ядер на одном узле использовать нельзя. Для успешных запусков
>строиться график времени исполнения от числа ядер. Падение времени
>будет медленнее линейной зависимости, то есть параллельные задачи
>потребляют больше процессорочасов, но считаются быстрее. Далее,
>принимается административное решение об оптимальном количестве потоков
>исходя из уравновешивания потерь процессорочасов на синхронизации
>параллельных задач и потерь человекочасов на ожидание окончания
>расчета. 
>
>Ваша программа не использует MPI, но на всякий случай:
>
>Для MPI метод аналогичен, кроме того, что там есть два параметра
>оптимизации - количество использованных узлов и количество
>использованных потоков (MPI) на узле. Для уменьшения количества
>тестовых запусков можно шагать через степень: 1, 4, 16.
>
>Для Hybrid-MPI (MPI+OpenMP) практически всегда правильным решением
>будет использование одного MPI потока на узел, так что эта задача тоже
>двухпараметрическая: количество узлов и количество OpenMP потоков на
>узел.
>
>Иерархия Hybrid-MPI:
>
>task -> MPI node0 -> MPI node0 thread0 -> OpenMP thread 0.0.0
>                                       -> OpenMP thread 0.0.1
>                  -> MPI node0 thread1 -> OpenMP thread 0.1.0
>                                       -> OpenMP thread 0.1.1
>     -> MPI node1 -> MPI node1 thread0 -> OpenMP thread 1.0.0
>                                       -> OpenMP thread 1.0.1
>                  -> MPI node1 thread1 -> OpenMP thread 1.1.0
>                                       -> OpenMP thread 1.1.1
>
>P.S. Пишите, пожалуйста, на официальные почтовые ящики. Для приватной
>переписки (письма видят только администраторы) можно писать на hpc-priv
>ate at ut.mephi.ru. Для публичной переписки можно писать на  hpc at lists.ut.m
>ephi.ru. Письма, отправленные на личную почту могут теряться.
>
>> Siesta Version : v4.1-b4
>> Architecture : unknown
>> Compiler version: GNU Fortran (Debian 4.9.2-10+deb8u1) 4.9.2
>> Compiler flags : gfortran -O2 -fPIC -ftree-vectorize -fopenmp
>> PP flags : -DFC_HAVE_ABORT -DSIESTA__DIAG_2STAGE -DSIESTA__MRRR
>> Libraries : libsiestaLAPACK.a libsiestaBLAS.a -fopenmp
>> -L/opt/openblas/lib -lopenblas -LL/opt/openblas/lib -lopenblas
>> SERIAL version
>> * Running in serial mode
>> * Running 8 OpenMP threads.
>> * Running 8 processes.
>> * OpenMP version 201307
>> * OpenMP NOT bound (please bind threads!)
>> * OpenMP runtime schedule DYNAMIC, chunks 1
>> ** OpenMP runtime schedule DYNAMIC, chunks 16
>> 
>> 
>> Четверг, 15 ноября 2018, 20:15 +03:00 от anikeev < anikeev at ut.mephi.ru
>> >:
>> 
>> On Thu, 2018-11-15 at 14:29 +0300, anikeev wrote:
>> > On Tue, 2018-11-13 at 11:28 +0300, anikeev wrote:
>> > > On Mon, 2018-11-12 at 18:20 +0300, Мария Шутикова wrote:
>> > > > Здравствуйте!
>> > > 
>> > > Добрый день!
>>>> > Здравствуйте!
>>>> > > > Для моей научно-исследовательской деятельности стала необходима
>> > > > программа квантово-механических расчетов
>> > > > SIESTA. https://launchpad.net/siesta 
>> > > > Не могли бы Вы установить ее, если это возможно?
>> > > 
>> > > Данная программа отсутствует в репозиториях Debian и Gentoo. Её
>> > > нужно
>> > > собирать из исходного кода. Попробуйте пока собрать её
>> > > самостоятельно.
>> > > Я постараюсь посмотреть её при возможности.
>>>> > Я подготовил версию Siesta. Для экономии оперативной памяти, она
>> > собрана с поддержкой OpenMP и без поддержки MPI (для использования
>> > любого числа ядер одной вычислительной ноды).
>>>> > Программа расположена в директории:
>>>> > /mnt/pool/4/anikeev/siesta-4.1-b4/
>>>> > Тестовая задача расположена в директории:
>>>> > /mnt/pool/4/anikeev/h2o
>>>> > Для использования Вам нужно скопировать программу в свою директорию
>> и
>> > исправить пути в скрипте запуска.
>>>> > Обратите внимание, что для использования OpenMP не нужно
>> пользоваться
>> > командой mpirun, но нужно задавать переменную окружения
>> > OMP_NUM_THREADS. Пример стартового скрипта:
>>>> >  anikeev at master.cherenkov /mnt/pool/4/anikeev/h2o $ cat start.sh 
>> > #!/bin/sh
>>>> > #PBS -N ExampleJob
>> > #PBS -l nodes=1:ppn=32,walltime=4320:00:00
>>>> > #print the time and date
>> > date
>>>> > #run simulation
>> > cd /mnt/pool/4/anikeev/h2o
>> > OMP_NUM_THREADS=32 /mnt/pool/4/anikeev/siesta-4.1-b4/Obj/siesta <
>> > h2o.fdf > h2o.out
>>>> > #print the time and date again
>> > date
>> P.S. Если Вам всё равно не будет хватать оперативной памяти,
>> попробуйте
>> запрашивать в скрипте PBS весь узел целиком, но запускать программу
>> не
>> на всех вычислительных ядрах. Например, так:
>> 
>> #!/bin/sh
>> 
>> #PBS -l nodes=1:ppn=32,walltime=4320:00:00
>> 
>> #print the time and date
>> date
>> 
>> #run simulation
>> cd /mnt/pool/4/anikeev/h2o
>> OMP_NUM_THREADS=8 /mnt/pool/4/anikeev/siesta-4.1-b4/Obj/siesta <
>> h2o.fdf | tee h2o.out
>> 
>> #print the time and date again
>> date
>> 
>> Допустимое количество ядер на ноде предстоит определить
>> экспериментальным путём.
>> 
>> > > > _______________________________________________
>> > > > hpc mailing list
>> > > >  hpc at lists.mephi.ru
>> > > >  https://lists.mephi.ru/listinfo/hpc
>> -- 
>> С уважением,
>> инженер отдела Unix-технологий МИФИ,
>> Аникеев Артём.
>> Тел.: 8
>> (495) 788-56-99, доб. 8998
>> 
>> 
>-- 
>С уважением,
>инженер отдела Unix-технологий МИФИ,
>Аникеев Артём.
>Тел.: 8
>(495) 788-56-99, доб. 8998


-- 
Мария Шутикова
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mephi.ru/pipermail/hpc/attachments/20190206/177484b5/attachment-0001.html>


More information about the hpc mailing list