[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