https://github.com/ashenblade/adi-mpi
Соловьев Сергей Вадимович
https://github.com/ashenblade/adi-mpi
Last synced: about 2 months ago
JSON representation
Соловьев Сергей Вадимович
- Host: GitHub
- URL: https://github.com/ashenblade/adi-mpi
- Owner: ashenBlade
- License: mit
- Created: 2022-09-11T05:12:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-24T08:54:01.000Z (over 2 years ago)
- Last Synced: 2025-01-21T01:41:30.430Z (3 months ago)
- Language: C++
- Size: 47.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Решение задачи теплопроводности методом продольно-поперечной прогонки через MPI
## Описание
В данном репозитории представлен вариант решения задачи теплопроводности.
Метод решения - продольно-поперечная прогонка.
Также используется распараллеливание по процессам - по процессу на каждое направление.## Сборка
Для сборки используется CMake.
Расположение CMakeLists.txt - `src/CMakeLists.txt`
Для сборки требуется установленная библиотека MPI.
Следующие команды исполнять из директории `src`Собрать приложение можно командой:
```shell
mkdir cmake-build && cd cmake-build
cmake ..
```Также можно собрать с помощью компилятора MPI напрямую:
Windows
```shell
mpicxx.exe main.cpp -o adi.exe
```Linux
```shell
mpicxx main.cpp -o adi.exe
```## Запуск
Запуск производится из директории в которой создался исполняемый файл на предыдущем шаге.
```shell
mpiexec.exe -np 30 ./adi.exe
```## Дополнительно
Приложение выводит в `stdout` сетку температуры на текущем слое каждые 100 итераций.Шаг логирования и количество итераций можно изменить в исходном коде:
- `logStep` - шаг логирования
- `iterations` - количество итераций