RUS  ENG
Полная версия
ЖУРНАЛЫ // Вестник Южно-Уральского государственного университета. Серия «Вычислительная математика и информатика» // Архив

Вестн. ЮУрГУ. Сер. Выч. матем. информ., 2018, том 7, выпуск 3, страницы 65–82 (Mi vyurv195)

Вычислительная математика

Параллельный алгоритм вычисления матрицы Евклидовых расстояний для многоядерного процессора Intel Xeon Phi поколения Knights Landing

Т. В. Речкалов, М. Л. Цымблер

Южно-Уральский государственный университет (454080 Челябинск, пр. им. В.И. Ленина, д. 76)

Аннотация: Вычисление матрицы Евклидовых расстояний требуется в широком спектре задач, связанных с интеллектуальным анализом данных. В настоящее время большое количество параллельных алгоритмов решения этой задачи реализовано для графических процессоров. Однако данные разработки не могут быть просто перенесены на многоядерные системы архитектуры Intel Many Integrated Core. В статье предлагается параллельный алгоритм вычисления матрицы Евклидовых расстояний на многоядерном процессоре Intel Xeon Phi поколения Knights Landing для случая, когда входные данные могут быть размещены в оперативной памяти. Данный алгоритм использует блочно-ориентированную схему организации вычислений, которая позволяет эффективно использовать возможности векторизации вычислений Intel Xeon Phi. В алгоритме применена нетривиальная компоновка данных в оперативной памяти для уменьшения количества кэш-промахов процессора во время вычислений. Эксперименты на реальных и синтетических наборах данных показали, что предложенный алгоритм хорошо масштабируется и опережает аналоги в случае прямоугольных матриц с данными малой размерности.

Ключевые слова: матрица Евклидовых расстояний, компоновка данных в памяти, векторизация вычислений.

УДК: 004.272.25, 004.421, 004.032.24

Поступила в редакцию: 06.05.2018

DOI: 10.14529/cmse180305



Реферативные базы данных:


© МИАН, 2024