EISSN 2310-6018
Язык: ru

МОДЕЛИРОВАНИЕ, ОПТИМИЗАЦИЯ И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ИСПОЛЬЗОВАНИЕ ОДНОВРЕМЕННОЙ МНОГОПОТОЧНОСТИ В ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ АЛГОРИТМАХ (2024)

Технология одновременной многопоточности считается малоприменимой в программах, занимающихся интенсивными вычислениями, в частности, при умножении матриц - одной из основных операций машинного обучения. Целью данной работы является определение границ применимости этого типа многопоточности к интенсивным вычислениям на примере блочного матричного умножения. В работе выделен ряд характеристик кода умножения матриц и архитектуры процессора, влияющих на эффективность использования одновременной многопоточности. Предложен способ определения наличия структурных ограничений процессора при исполнении более чем одного потока и их количественной оценки. Рассмотрено влияние используемого примитива синхронизации и его особенности применительно к одновременной многопоточности. Рассмотрен существующий алгоритм разделения матриц на блоки, предложено изменение размеров блоков и параметров циклов для лучшей утилизации вычислительных модулей ядра процессора двумя потоками. Создана модель оценки производительности выполнения идентичного кода двумя потоками на одном физическом ядре. Создан критерий определения возможности оптимизации кода с интенсивными вычислениями с помощью этого типа многопоточности. Показано, что разделение вычислений между логическими потоками с использованием общего кэша L1 оправдано как минимум на одной из распространенных архитектур процессоров.

Тип: Статья
Автор (ы): Буевич Е. А.
Ключевые фразы: ОДНОВРЕМЕННАЯ МНОГОПОТОЧНОСТЬ, УМНОЖЕНИЕ МАТРИЦ, ИНТЕНСИВНЫЕ ВЫЧИСЛЕНИЯ, МИКРОЯДРО, BLAS, BLIS, синхронизация, ИЕРАРХИЯ КЭША, СПИНЛОК

Идентификаторы и классификаторы

УДК
519.6. Вычислительная математика, численный анализ и программирование (машинная математика)
eLIBRARY ID
67919961
Текстовый фрагмент статьи