[mephi-hpc] Geant4 и MPI
anikeev
anikeev at ut.mephi.ru
Mon Sep 7 11:57:26 MSK 2020
On Fri, 2020-09-04 at 17:14 +0000, Ибрагимов Ренат Фаридович wrote:
> Добрый день.
Здравствуйте!
> Обнаружил, что скорость вычислений для проектов Geant4 на кластерах
> Unicluster и Basov не чувствительна к увеличению количества
> подключаемых к расчету узлов. Проекты, на которых проводилась
> проверка, написаны с учетом возможности работы в многопоточном режиме
> (G4MultiThreading). При этом замечено, что ускорение вычислений
> происходит только при увеличении числа подключаемых процессоров в
> пределах одного узла (одного нода). Добавление второго и более нодов
> не приводит к повышению скорости расчетов.
> Правильно ли я понимаю, что для полноценного использования
> возможностей нескольких вычислительных узлов (нодов), проект в Geant4
> должен быть написан с учетом MPI?
> Пришел к этому выводу в процессе поиска информации в интернете. Вот
> примерно похожий случай, упоминаемый на форуме Geant4:
> https://geant4-forum.web.cern.ch/t/multithreading-isnt-effective-after-some-numbers-of-cores/1699
Это объяснено в разделе 4.5.2 официального руководства пользователя, а
именно:
Параллелизм на общей памяти (многоядерные процессоры и
многопроцессорные серверы) можно реализовать при помощи технологий
OpenMP (или POSIX threads - "pthreads", или fork/join вручную) и MPI.
OpenMP позволяет экономить память, MPI может показать большую
производительность на NUMA системах.
Стандартным де-факто инструментом параллелизма на раздельной памяти
(узлы вычислительной сети) является MPI. Существуют различные
реализации MPI (OpenMPI, MPICH...).
Учебные материалы по параллельному программированию находятся здесь:
https://it.mephi.ru/hpc/materials
> Если это так, то возникает дополнительный вопрос/просьба. В наборе
> стандартных примеров Geant4 присутствуют примеры, описывающие
> принципы создания проектов, направленных на работу в параллельных
> вычислениях (с помощью MPI), однако у меня не удалось осуществить
> сборку данных базовых примеров (собирал пример, расположенный по
> адресу /usr/share/Geant4-
> 10.3.0/examples/extended/parallel/MPI/examples/exMPI01 и получил
> при сборке следующую ошибку:
> CMake Error at CMakeLists.txt:30 (find_package):
> By not providing "FindG4mpi.cmake" in CMAKE_MODULE_PATH this
> project has
> asked CMake to find a package configuration file provided by
> "G4mpi", but
> CMake did not find one.
>
> Could not find a package configuration file provided by "G4mpi"
> with any of
> the following names:
>
> G4mpiConfig.cmake
> g4mpi-config.cmake
>
> Add the installation prefix of "G4mpi" to CMAKE_PREFIX_PATH or set
> "G4mpi_DIR" to a directory containing one of the above files. If
> "G4mpi"
> provides a separate development package or SDK, be sure it has been
> installed.
>
> -- Configuring incomplete, errors occurred!
>
> Не уверен, что правильно понимаю, но из README файлов к MPI примерам
> следует, что нужно установить библиотеку G4mpi в директорию, в
> которую был установлен Geant4.
На кластерах МИФИ системные пакеты устанавливаются в той конфигурации,
в какой они поставляются из дистрибутива, поскольку желаемые
конфигурации различных пользователей конфликтуют друг с другом.
При необходимости использования нестандартной конфигурации, приложение
следует собирать из исходного кода в директории пользователя. Обратите
внимание на раздел 4.4 официального руководства пользователя.
Обратите внимание, что на кластерах unicluster и basov будет
обновляться программное обеспечение, что потребует переборки
пользовательских приложений.
Попробуйте собрать свежий Geant4 с поддержкой G4mpi в своей директории
на файловом хранилище. Включение поддержки G4mpi не сводится к
копированию файлов и должно быть выполнено по официальному руководству
пользователя для приложения (пример для версии 4.10):
http://www.apc.univ-paris7.fr/~franco/g4doxy4.10/html/md___volumes__work_geant_geant4_810_800_8p01_examples_extended_parallel__m_p_i__r_e_a_d_m_e.html
Обращайтесь при появлении вопросов или затруднений.
> Заранее спасибо за ответ.
> --
> тел.: +7 999 718 97 00; дополнительный e-mail: ibragimrf at gmail.com
>
> С уважением, инженер НИЯУ МИФИ, Ибрагимов Ренат Фаридович.
>
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc
--
С уважением,
инженер отдела Unix-технологий МИФИ,
Аникеев Артём.
Тел.: 8
(495) 788-56-99, доб. 8998
More information about the hpc
mailing list