**Установка PRADIOS для работы в Shared memory parallel processing (SMP) режиме для Debian/Ubuntu20.04/Astra linux** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. **Установка пререквизитов (g++-11, gcc-11, gfortran)** Для корректной работы PRADIS в системе должны быть установлены g++-11, gcc-11, gfortran 2. **Установка PRADIOS** - Помещаем архив PRADIOS.tar.gz и скрипт PRADIOS_INSTALL.sh в директорию, в которую хотим установить PRADIOS Например, в /home/username/PRADIOS, где /home/username - домашняя папка пользователя - Запускаем скрипт распаковки архива и создания переменных среды .. code-block:: bash $ ./PRADIOS_INSTALL.sh Обязательно, после работы установщика перезапускаем терминал, например, командой .. code-block:: bash $ bash 3. **Запуск на расчёт** - Переходим в директорию /PRADIOS/exec в которую была установлена программа запуска .. code-block:: bash $ cd ./PRADIOS/exec - Вводим в терминале команду для запуска расчета .. code-block:: bash $ ./PRADIOS SMP [файл_расчета] Пример: .. code-block:: bash $ ./PRADIOS SMP DBEND_44 Имя файла расчёта должно иметь формат: [ROOTNAME]\_[RUNNUMBER].rad где: | ROOTNAME имя набора данных | RUNNUMBER номер прогона состоящий из 4 цифр, | Например DBEND_44_0000.rad DBEND_44_0001.rad 4. **Принцип работы** .. |image1| Рисунок 1 – схема работы ** ** **ЗАПУСК С MPI и OpenMPI** ~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. **Установка пререквизитов (g++-11, gcc-11, gfortran)** Для корректной работы PRADIS в системе должны быть установлены g++-11, gcc-11, gfotran 2. **Установка PRADIOS** - Помещаем архив PRADIOS.tar.gz и скрипт PRADIOS_INSTALL.sh в директорию, в которую хотим установить PRADIOS Например, /home/username/PRADIOS, где /home/username - домашняя папка пользователя. В случае установки PRADIOS на вычислительном кластере, требуется поместить проект в директорую, доступ к которое есть у всех узлов кластера (подробнее в инструкции по установке OpenMPI). - Запускаем скрипт распаковки архива и создания переменных среды .. code-block:: bash $ ./PRADIOS_INSTALL.sh Обязательно, после работы установщика перезапускаем терминал, например, командой .. code-block:: bash $ bash В ходе установки предполагается, что OpenMPI установлен в директорию **/opt/openmpi** 3. **Запуск PRADIOS с P MPI-процессами и N потоками** - Вводим в терминале команду задающую количество потоков на ядро $ export OMP_NUM_THREADS=[N] ПРИМЕР: .. code-block:: bash $ export OMP_NUM_THREADS=2 - Переходим в директорию /PRADIOS/exec в которую была установлена программа запуска - Вводим в терминале команду для запуска расчета .. code-block:: bash $ ./PRADIOS [input mod] [input file] [number of process] [number of threads] Или .. code-block:: bash $ ./PRADIOS [input mod] [input file] [number of process] [number of threads] [дополнительные ключи] ПРИМЕР: .. code-block:: bash $ ./PRADIOS MPI DBEND_44 2 2 файл_расчёта должен иметь формат: [ROOTNAME]\_[RUNNUMBER].rad где: | ROOTNAME имя набора данных | RUNNUMBER номер прогона состоящий из 4 цифр DBEND_44_0000.rad DBEND_44_0001.rad 4. **Запуск PRADIOS с P MPI-процессами и N потоками на вычислительном кластере** - Вводим в терминале команду задающую количество потоков на ядро $ export OMP_NUM_THREADS=[N] ПРИМЕР: .. code-block:: bash $ export OMP_NUM_THREADS=2 - Установка PRADIOS должна быть в общую папку (подробнее см. п. 2) - Переходим в директорию /PRADIOS/exec в которую была установлена программа запуска - Создаем machinefile содержащий данные хоста .. code-block:: bash $ nano machinefile Пример содержания .. code-block:: bash 10.1.20.1:1 10.1.20.2:1 [ip адрес машины]:[число ядер выделенных под расчет] - Вводим в терминале команду для запуска расчета .. code-block:: bash $ ./PRADIOS [input mod] [input file] [number of process] [number of threads][подключаем узлы кластера] ПРИМЕР: $ ./PRADIOS MPI DBEND_44 2 2 --hostfile machinefile |image2| Рисунок 2 – схема работы на кластере 5. **Принцип работы** .. |image3| Рисунок 3 – схема работы **Команды для конвертации выходных данных после работы программы в VTK(визуализация симуляции)** ================================================================================================ Вводим в терминале команду .. code-block:: bash ./anim_to_vtk_linux64_gf [Deck Rootname]A001 > [Deck Rootname]_001.vtk ./anim_to_vtk_linux64_gf [Deck Rootname]A002 > [Deck Rootname]_002.vtk ... ./anim_to_vtk_linux64_gf [Deck Rootname]A002 > [Deck Rootname]_002.vtk **Команды для конвертации выходных файлов после работы программы в time history** ================================================================================= Вводим в терминале команду .. code-block:: bash ./th_to_csv [TimeHistory_File] .. |image1| image:: ./media/image1.jpeg :width: 5.688in :height: 3.0549in .. |image2| image:: ./media/image2.jpeg :width: 6.49653in :height: 3.65303in .. |image3| image:: ./media/image1.jpeg :width: 5.49527in :height: 2.768in