
Multiple-precision matrix-vector multiplication on graphics processing units
Author(s) -
Konstantin Isupov,
Владимир Сергеевич Князьков
Publication year - 2020
Publication title -
programmnye sistemy: teoriâ i priloženiâ
Language(s) - Russian
Resource type - Journals
ISSN - 2079-3316
DOI - 10.25209/2079-3316-2020-11-3-33-59
Subject(s) - cuda , computer science , graphics , multiplication (music) , graphics processing unit , general purpose computing on graphics processing units , matrix multiplication , parallel computing , computer graphics (images) , computational science , matrix (chemical analysis) , mathematics , physics , materials science , combinatorics , quantum mechanics , quantum , composite material
Мы рассматриваем параллельную реализацию матрично/векторного умножения (GEMV, уровень 2 BLAS) для графических процессоров (GPU) с использованием арифметики многократной точности на основе системы остаточных классов. В нашей реализации GEMV покомпонентные операции с многоразрядными векторами и матрицами разбиваются на части, каждая из которых выполняется отдельным CUDA ядром. Это исключает ветвление логики исполнения и позволяет добиться более полного использования ресурсов GPU. Эффективная структура данных для хранения многоразрядных массивов обеспечивает объединение доступов параллельных потоков к глобальной памяти GPU в транзакции. Для предложенной реализации GEMV выполнен анализ ошибок округления и получены оценки точности. Представлены экспериментальные результаты, показывающие высокую эффективность разработанной реализации по сравнению с существующими программными пакетами многократной точности для GPU.