Участница:Larisayaryzheva/Программная реализация метода сопряжённых градиентов: различия между версиями
| Строка 2: | Строка 2: | ||
== Локальность данных и вычислений == | == Локальность данных и вычислений == | ||
== Масштабируемость алгоритма и его реализации == | == Масштабируемость алгоритма и его реализации == | ||
Исследование масштабируемости реализации метода сопряжённых градиентов проводилось на суперкомпьютере "Ломоносов-2" для задач размерности <math> N \in \{2000, 5000\} | Исследование масштабируемости реализации метода сопряжённых градиентов проводилось на суперкомпьютере "Ломоносов-2" для задач размерности <math> N \in \{2000, 5000\}.</math> | ||
Число процессов изменялось в диапазоне <math>P \in \{ 1, 2, 4, 8, 16, 32, 48, 56\}</math>. | Число процессов изменялось в диапазоне <math>P \in \{ 1, 2, 4, 8, 16, 32, 48, 56\}</math>. | ||
Версия от 16:50, 8 декабря 2025
Ссылки
Локальность данных и вычислений
Масштабируемость алгоритма и его реализации
Исследование масштабируемости реализации метода сопряжённых градиентов проводилось на суперкомпьютере "Ломоносов-2" для задач размерности [math]\displaystyle{ N \in \{2000, 5000\}. }[/math]
Число процессов изменялось в диапазоне [math]\displaystyle{ P \in \{ 1, 2, 4, 8, 16, 32, 48, 56\} }[/math].
На рис.1 представлен график зависимости времени работы алгоритма [math]\displaystyle{ T(N,P) }[/math] от числа процессов и размеров матрицы. По результатам при увеличении числа процессов с 1 до 8 время уменьшается почти линейно, что соответствует сильной масштабируемости реализации. При увеличении числа процессов с 16 до 56 время уменьшается не так эффективно, а начиная с [math]\displaystyle{ P = 48 }[/math] (в случае [math]\displaystyle{ N=5000 }[/math]) время работы алгоритма начинает возрастать. Это связано с тем, что накладные расходы на коммуникации и глобальные редукции начинают преобладать над вычислительной работой на каждом процессе.
На рис.2 показана эффективность [math]\displaystyle{ E(N,P) }[/math] в зависимости от числа процессов и размеров матрицы. Эффективность для [math]\displaystyle{ N=2000 }[/math] снижается медленнее, чем для [math]\displaystyle{ N=5000 }[/math]. Это объясняется меньшим объемом вычислений на процесс и более ранним влиянием задержек на коммуникацию.