alexal1 / MPI-Gauss-Seidel

Parallel computing with MPI. Iterative method of solving linear systems of equations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Распараллеливание метода Гаусса-Зейделя средствами MPI

Моё решение задачи с компьютерного практикума, 4 курс МГУ. Метод Гаусса-Зейделя предназначен для решения систем линейных алгебраических уравнений, причем точность решения задается числом eps (например 0.001). С каждой итерацией точность решения увеличивается, пока не достигнет eps. При этом каждый раз на экран выводится номер итерации и невзяка (разница между прошлым и новым решением по норме).

Особенность этой задачи — распараллеленное решение. Вычисления разбиваются поровну между процессами, количество которых вы задаете самостоятельно.


Установка MPI в Ubuntu:

sudo apt-get install mpich2

Компиляция и запуск программы:

mpicc seidel_mpi.c -o seidel -lm
mpirun -np 2 ./seidel

-lm подключает математические функции, -np 2 означает запуск с 2 параллельными процессами.
Программа попросит вас ввести n (размер матрицы) и eps (точность).

В файле gauss-seidel.doc полный текст задания, hello_world.c — проверка работы MPI, ppr04.pdf — годная методичка.

About

Parallel computing with MPI. Iterative method of solving linear systems of equations.


Languages

Language:C 100.0%