На этом шаге мы рассмотрим особенности использования метода сопряженных градиентов.
При разработке параллельного варианта метода сопряженных градиентов для решения систем линейных уравнений в первую очередь следует учесть, что выполнение итераций метода осуществляется последовательно и, тем самым, наиболее целесообразный подход состоит в распараллеливании вычислений, реализуемых в ходе выполнения итераций.
Основные вычисления, выполняемые в соответствии с методом, состоят в умножении матрицы A на вектора x и d, и, как результат, при организации параллельных вычислений можно использовать результаты, полученные в примере 1.
Дополнительные вычисления, имеющие меньший порядок сложности, представляют собой различные операции обработки векторов (скалярное произведение, сложение и вычитание). Организация таких вычислений должна быть согласована с выбранным параллельным способом выполнения операция умножения матрицы на вектор. Общие же рекомендации могут состоять в следующем - при малом размере векторов можно применить дублирование векторов между процессорами, при большом порядке решаемой системы линейных уравнений более целесообразно осуществлять блочное разделение векторов.
На следующем шаге мы рассмотрим анализ эффективности алгоритма Гаусса.