Аннотация:
В прямых методах решения больших разреженных систем линейных алгебраических уравнений применяется процедура переупорядочения строк и столбцов исходной матрицы. Целью данной процедуры является сокращение числа ненулевых элементов в процессе последующей численной факторизации. Нахождение перестановки, минимизирующей число ненулевых элементов в факторе, является NP-полной задачей. Для решения этой задачи применяются эвристические методы. Результаты применения данных методов могут быть оценены как с точки зрения качества получаемых перестановок (заполнение фактора матрицы после переупорядочения), так и с точки зрения временных затрат на построение перестановок. Многоуровневый метод вложенных сечений, показывающий достаточно хорошие результаты по обоим критериям, является одним из наиболее распространенных методов переупорядочения. Метод имеет определенные ресурсы внутреннего параллелизма, активно используемые в ряде реализаций (ParMETIS, mtMETIS, PT-SCOTCH, PMORSy). Вместе с тем, низкая арифметическая интенсивность, нерегулярный доступ к памяти, дисбаланс вычислительной нагрузки и необходимость поиска компромисса между временем работы и качеством перестановок мотивируют дальнейшие исследования метода.
В данной работе выполняется сравнение ряда алгоритмов, применяемых на разных этапах метода вложенных сечений, с точки зрения их влияния на заполнение фактора и время работы в параллельном случае. Реализация алгоритмов и эксперименты выполнены в рамках ранее разработанной параллельной библиотеки переупорядочения матриц PMORSy, опережающей аналоги на ряде матриц коллекции университета Флориды. В результате выполненной работы удалось выделить наиболее перспективную комбинацию алгоритмов и улучшить качество перестановок и время работы PMORSy.