Аннотация:
Мы рассматриваем параллельную реализацию матрично-векторного умножения (GEMV, уровень 2 BLAS) для графических процессоров
(GPU) с использованием арифметики многократной точности на основе
системы остаточных классов. В нашей реализации GEMV покомпонентные
операции с многоразрядными векторами и матрицами разбиваются на части,
каждая из которых выполняется отдельным CUDA ядром. Это исключает
ветвление логики исполнения и позволяет добиться более полного использования ресурсов GPU. Эффективная структура данных для хранения
многоразрядных массивов обеспечивает объединение доступов параллельных
потоков к глобальной памяти GPU в транзакции. Для предложенной реализации GEMV выполнен анализ ошибок округления и получены оценки точности.
Представлены экспериментальные результаты, показывающие высокую
эффективность разработанной реализации по сравнению с существующими
программными пакетами многократной точности для GPU.
Ключевые слова и фразы:
вычисления высокой точности, BLAS, GEMV, параллельные алгоритмы, CUDA, GPU, система остаточных классов.