[mephi-hpc] Проблема при попытке установки ПО

anikeev at ut.mephi.ru anikeev at ut.mephi.ru
Mon Jul 15 15:31:51 MSK 2024


Павел Кулямин писал 2024-07-10 15:37:

Здравствуйте!

1)

>> [tensor:19431] *** An error occurred in MPI_Win_allocate_shared

Похоже, у DFTB+ частично сломана система сборки cmake - она всегда 
линкует приложение с библиотекой MPICH, даже если требуется OpenMPI. 
Простой способ исправить - работать с MPICH. Правильный способ - завести 
тикет в багтрекере разработчика DFTB+.

Сборка с MPICH:

rm -rf build
mkdir build
cd build/
FC=mpifort.mpich CC=mpicc.mpich cmake -DWITH_OMP=N -DWITH_MPI=Y 
-DSCALAPACK_LIBRARY=scalapack-mpich 
-DCMAKE_INSTALL_PREFIX=/mnt/pool/4/anikeev/dftbplus ../
make
make install

Ваш тест запускается:

anikeev at cherenkov.cherenkov /mnt/pool/4/anikeev/testDFTB $ 
../dftbplus/bin/dftb+ | tail

--------------------------------------------------------------------------------
DFTB+ running times                          cpu [s]             wall 
clock [s]
--------------------------------------------------------------------------------
SCC                                    +       0.07 ( 75.6%)       0.05 
( 71.2%)
Post-SCC processing                    +       0.02 ( 21.2%)       0.02 
( 24.7%)
--------------------------------------------------------------------------------
Missing                                +       0.00 (  3.2%)       0.00 
(  4.1%)
Total                                  =       0.09 (100.0%)       0.07 
(100.0%)
--------------------------------------------------------------------------------

anikeev at cherenkov.cherenkov /mnt/pool/4/anikeev/testDFTB $ mpirun.mpich 
../dftbplus/bin/dftb+ | tail

--------------------------------------------------------------------------------
DFTB+ running times                          cpu [s]             wall 
clock [s]
--------------------------------------------------------------------------------
SCC                                    +       0.19 ( 86.8%)       0.17 
( 86.7%)
Post-SCC processing                    +       0.03 ( 11.6%)       0.02 
( 11.3%)
--------------------------------------------------------------------------------
Missing                                +       0.00 (  1.6%)       0.00 
(  2.1%)
Total                                  =       0.22 (100.0%)       0.19 
(100.0%)
--------------------------------------------------------------------------------

N.B. Не стоит прикладывать файлы к письму при обращении в поддержку по 
кластерам, достаточно просто отсваить их на кластерной файловой системе 
и указать в пиьсме путь.

2)

>> WARNING!
>> -> Insufficient atoms for this number of MPI processors
>> ERROR!
>> -> Processor grid (1 x 2) too big (> 1 x 1)

Параллельная версия DFTB+ не автоматическая, настройки параллельного 
выполнения нужно делать во входном файле [1].

Кроме того, Ваша задача мала. Сокрее всего, у неё будет плохая кривая 
масштабирования. Не забудьте замерить кривую мастабирования перед 
прикладными параллельными рассчетами, как указано в руководстве 
пользователя [2]. Напоминаю, что эффективность параллельного выполнения 
должны быть не ниже 50% от эффективности последовательной версии.

[1] 
https://mailman.zfn.uni-bremen.de/pipermail/dftb-plus-user/2022/003873.html
[2] https://ut.mephi.ru/pdf/projects/hpc/userguide.pdf

P.S. Прошу прощения за задержку с ответом, был в отпуске.


> + NRNU MEPhI HPC discussion list <hpc at lists.mephi.ru>
> 
> С уважением, Кулямин П.А.
> 
> Аспирант 3 курса НИЯУ МИФИ
> 
> Кафедра № 67 "Физика конденсированных
> сред"
> 
> Научный руководитель: Маслов М.М.
> 
> Тел:8-905-582-00-63
> 
> сб, 6 июл. 2024 г. в 02:56, Павел Кулямин
> <dryes20115 at gmail.com>:
> 
>> Добрый день!
>> 
>> Я установил dftb+ согласно вашим
>> рекомендациям, а именно:
>> 
>> wget
>> https://github.com/dftbplus/dftbplus/archive/refs/tags/24.1.tar.gz
>> 
>> tar -xzf 24.1.tar.gz
>> cd dftbplus-24.1
>> mkdir build
>> cd build
>> FC=gfortran CC=gcc cmake -DWITH_OMP=N -DWITH_MPI=Y
>> -DSCALAPACK_LIBRARY=scalapack-openmpi
>> -DCMAKE_INSTALL_PREFIX=/mnt/pool/6/pakuliamin/dftbplus-24.1_mpirun
>> -B_build ../
>> cmake --build _build -- -j
>> 
>> cmake --install _build
>> cd /mnt/pool/6/pakuliamin/dftbplus-24.1_mpirun/bin
>> 
>> Далее в эту папку я положил файл
>> dftb_in.hsd (во вложении) и папку slakos с
>> псевдопотенциалами,  также во
>> вложении.
>> 
>> Далее запустил тестовый расчет
>> командой:
>> ./dftb+
>> 
>> Получил следующую ошибку (полный
>> вывод во вложении):
>> 
> --------------------------------------------------------------------------------
>> 
>> ***  Geometry step: 0
>> 
>> [tensor:19431] *** An error occurred in MPI_Win_allocate_shared
>> [tensor:19431] *** reported by process [26673153,0]
>> [tensor:19431] *** on communicator MPI COMMUNICATOR 3 SPLIT_TYPE
>> FROM 0
>> [tensor:19431] *** MPI_ERR_INTERN: internal error
>> [tensor:19431] *** MPI_ERRORS_ARE_FATAL (processes in this
>> communicator will now abort,
>> [tensor:19431] ***    and potentially your MPI job)
>> 
>> В случае запуска с использованием
>> openmpi:
>> 
>> mpirun -np 1 dftb+
>> 
>> Результат аналогичный.
>> 
>> mpirun -np 2 dftb+
>> 
>> Полный результат во вложении:
>> 
>> WARNING!
>> -> Insufficient atoms for this number of MPI processors
>> ERROR!
>> -> Processor grid (1 x 2) too big (> 1 x 1)
>> 
> --------------------------------------------------------------------------
>> MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
>> with errorcode 1.
>> 
>> NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
>> You may or may not see output from other processes, depending on
>> exactly when Open MPI kills them.
>> 
> --------------------------------------------------------------------------
>> [tensor:19791] 1 more process has sent help message help-mpi-api.txt
>> / mpi-abort
>> [tensor:19791] Set MCA parameter "orte_base_help_aggregate" to 0 to
>> see all help / error messages
>> 
>> Подскажите пожалуйста, в чем я мог
>> ошибиться?
>> 
>> Если я правильно понимаю, то проблема
>> в том что процесс обращается не в то
>> место в памяти.
>> 
>> Приложенный скрипт удавалось
>> запустить при запуске на локальной
>> машине.
>> 
>> С уважением, Кулямин П.А.
>> 
>> Аспирант 3 курса НИЯУ МИФИ
>> 
>> Кафедра № 67 "Физика конденсированных
>> сред"
>> 
>> Научный руководитель: Маслов М.М.
>> 
>> Тел:8-905-582-00-63
>> 
>> пн, 27 мая 2024 г. в 15:59, <anikeev at ut.mephi.ru>:
>> 
>>> Павел Кулямин писал 2024-05-25 00:07:
>>>> Добрый день!
>>> 
>>> Здравствуйте!
>>> 
>>>> При попытке установить ПО dftb+ на
>>>> кластере tensor возникает следующая
>>>> ошибка:
>>>> 
>>>> 1)  git clone https://github.com/dftbplus/dftbplus.git
>>>> 2) Изменил в файле :
>>>> 
>>>> Следующие строчки:
>>>> 
>>>> option(WITH_OMP "Whether OpenMP thread parallisation should be
>>>> enabled" FALSE)
>>>> 
>>>> option(WITH_MPI "Whether DFTB+ should support MPI-parallelism"
>>> TRUE)
>>>> 
>>>> 3) FC=gfortran CC=gcc cmake
>>>> -DCMAKE_INSTALL_PREFIX=/mnt/pool/6/pakuliamin/dft-bplus/dftbplus
>>> -B
>>>> _build .
>>>> 
>>>> Получил следующую ошибку:
>>>> 
>>>> CMake Error at
>>>> /usr/lib/cmake/scalapack-2.2.1.mpich/scalapack-targets.cmake:93
>>>> (message):
>>>> The imported target "scalapack" references the file
>>>> 
>>>> "/usr/lib/libscalapack-mpich.so.2.2.1"
>>>> 
>>>> but this file does not exist.  Possible reasons include:
>>>> 
>>>> * The file was deleted, renamed, or moved to another location.
>>>> 
>>>> * An install or uninstall procedure did not complete
>>> successfully.
>>>> 
>>>> * The installation package was faulty and contained
>>>> 
>>>> 
>>> "/usr/lib/cmake/scalapack-2.2.1.mpich/scalapack-targets.cmake"
>>>> 
>>>> but not all the files it references.
>>>> 
>>>> Call Stack (most recent call first):
>>>> /usr/lib/cmake/scalapack-2.2.1.mpich/scalapack-config.cmake:2
>>>> (include)
>>>> cmake/Modules/FindCustomScalapack.cmake:88 (find_package)
>>>> CMakeLists.txt:203 (find_package)
>>>> 
>>>> Подскажите как решить данную
>>>> проблему? Возможно я в чем то
>>> ошибаюсь?
>>> 
>>> 1) Для практических расчетов следует
>>> стараться использовать стабильные
>>> релизы. Последний стабильный релиз -
>>> 24.1
>>> 
>>> wget
>>> https://github.com/dftbplus/dftbplus/archive/refs/tags/24.1.tar.gz
>>> 
>>> 2) Не стоит сразу править
>>> конфигурационные файлы cmake или autotools
>>> 
>>> вручную - сначала стоит попробовать
>>> воспользоваться штатными
>>> инструментами настройки (через
>>> параметры командной строки).
>>> Править
>>> файлы стоит либо по указанию
>>> руководства пользователя
>>> приложения, либо
>>> при попытке исправить заведомо
>>> нерабочую систему сборки.
>>> 
>>> 3) Как написано в руководстве
>>> пользователя [1], по-умолчанию в
>>> кластерах
>>> используется реализация OpenMPI
>>> библиотеки MPI. Приложение dftbplus
>>> по-умолчанию пытается использовать
>>> реализацию MPICH библиотеки MPI.
>>> Поменять умолчание dftbplus можно так:
>>> 
>>> FC=gfortran CC=gcc cmake -DWITH_OMP=N -DWITH_MPI=Y
>>> -DSCALAPACK_LIBRARY=scalapack-openmpi
>>> -DCMAKE_INSTALL_PREFIX=/mnt/pool/5/anikeev/dftbplus -B _build ../
>>> 
>>> Если Вы хотите использовать MPICH,
>>> нужно подменить вызовы mpicc на
>>> mpicc.mpich, mpirun на mpirun.mpich и т.д.
>>> (подробнее в руководстве
>>> пользователя [1]).
>>> 
>>> 4) Обратите внимание, что для
>>> приложения заявлена поддержка GPU.
>>> Расчеты
>>> на GPU могут оказаться более
>>> эффективными.
>>> 
>>> [1] https://ut.mephi.ru/pdf/projects/hpc/userguide.pdf
>>> 
>>>> С уважением, Кулямин П.А.
>>>> 
>>>> Аспирант 3 курса НИЯУ МИФИ
>>>> 
>>>> Кафедра № 67 "Физика
>>> конденсированных
>>>> сред"
>>>> 
>>>> Научный руководитель: Маслов М.М.
>>>> 
>>>> Тел:8-905-582-00-63
>>>> _______________________________________________
>>>> hpc mailing list
>>>> hpc at lists.mephi.ru
>>>> https://lists.mephi.ru/listinfo/hpc
>>> 
>>> --
>>> С уважением,
>>> ведущий инженер отдела
>>> UNIX-технологий НИЯУ МИФИ,
>>> к.ф.-м.н.,
>>> Аникеев Артем.
>>> e-mail: anikeev at ut.mephi.ru
>>> тел.: 8 (495) 788-56-99, доб. 8998

--
С уважением,
ведущий инженер отдела UNIX-технологий НИЯУ МИФИ,
к.ф.-м.н.,
Аникеев Артем.
e-mail: anikeev at ut.mephi.ru
тел.: 8 (495) 788-56-99, доб. 8998



More information about the hpc mailing list