Параллельные алгоритмы матричного умножения и матричной экспоненты, основанные на асинхронных обменах данными между несколькими графическими ускорителями, и их применение для решения нестационарного уравнения Шредингера тема диссертации и автореферата по ВАК РФ 00.00.00, кандидат наук Чой Е Рем
- Специальность ВАК РФ00.00.00
- Количество страниц 106
Оглавление диссертации кандидат наук Чой Е Рем
Введение
Глава 1. Обзор литературы
1.1 Матричная экспонента как универсальный метод решения Уравнения Шредингера
1.2 Методы умножения матриц
1.3 cuBLASXt
1.4 Технологии ГПУ программирования
1.4.1 CUDA
1.4.2 HIP
1.5 Аппаратное обеспечение
1.5.1 Процессоры и ГПУ
1.5.2 Шины связи
1.5.3 Тестовые плаформы
Глава 2. Использование асинхронных обменов данными в
алгоритме параллельного матричного умножения и
матричной экспоненты
2.1 Ядро разработанного алгоритма произведения матриц на нескольких графических ускорителях
2.2 Описание разработанного алгоритма
2.3 Разработка алгоритма
2.3.1 Структура алгоритма
2.3.2 Разложение под общий случай
2.4 Алгоритм матричной экспоненты
2.4.1 Вывод алгоритма
2.4.2 Переложение на комплексное пространство
2.4.3 Спектральное разложение
2.5 Выводы
Глава 3. Теоретическая модель производительности алгоритма
Стр.
3.1 Вывод модели нахождения оптимального варьируемого параметра
3.1.1 Время работы ядра СЕММ
3.1.2 Инструкции
3.1.3 Интенсивность
3.1.4 Общий случай
3.1.5 Время расчета ядра
3.1.6 Время работы алгоритма
3.1.7 Время передачи данных
3.1.8 Пропускная способность
3.1.9 Итоговая модель
3.2 Платформозависимые параметры для модели
3.2.1 Коэффициент интенсивности
3.2.2 Реальная вычислительная производительность
3.2.3 Реальная производительность каналов связи
3.3 Выводы
Глава 4. Работа параллельного алгоритма на разных
аппаратных платформах
4.1 Ожидаемый размер блоков для экспериментальных устройств
4.2 Экспериментальные результаты
4.2.1 Четыре У100, связанные ОТЫпк
4.2.2 Четыре СТХ1070 связанные РС1е
4.2.3 Восемь А100, связанные ОТЫпк
4.2.4 Четыре ИХ 6900 ХТ, связанные РС1е
4.3 Ограничения алгоритма СЕММ
4.3.1 Серверные и потребительские платформы
4.3.2 Работа с произвольными матрицами
4.4 Сравнение алгоритма матричной экспоненты с методом спектрального разложения
4.5 Выводы
Глава
5
5. Использование алгоритма для решения одномерного зависящего от времени уравнения Шредингера
Одномерная ТЭБЕ модель для иона молекулы Н+
75
Стр.
5.1.1 Описание модели
5.1.2 Некоторые моменты о вычислении матричного показателя
5.1.3 Сравнение с аналитическим решением
5.2 Вычислительный эксперимент
5.2.1 Анализ вычислительных экспериментов
5.2.2 Результаты
5.3 Выводы
Заключение
Список сокращений и условных обозначений
Словарь терминов
Список литературы
Рекомендованный список диссертаций по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Методы оптимизации выполнения тензорных операций на многоядерных процессорах2021 год, кандидат наук Гареев Роман Альбертович
Высокопроизводительные сопроцессоры для параллельной обработки данных в формате с плавающей точкой в системах цифровой обработки сигналов2013 год, кандидат технических наук Пантелеев, Алексей Юрьевич
Моделирование и анализ эффективности согласования численных методов решения сеточных уравнений с гетерогенной вычислительной средой2015 год, кандидат наук Логанова, Лилия Владимировна
Методы и алгоритмы повышения эффективности вычислительной системы с параллельной архитектурой на основе модулярных структур данных2015 год, кандидат наук Чернобровкин, Виталий Викторович
Методы и средства обработки больших разреженных неструктурированных матриц на реконфигурируемых вычислительных системах2024 год, кандидат наук Подопригора Александр Владимирович
Введение диссертации (часть автореферата) на тему «Параллельные алгоритмы матричного умножения и матричной экспоненты, основанные на асинхронных обменах данными между несколькими графическими ускорителями, и их применение для решения нестационарного уравнения Шредингера»
Введение
Развитие аппаратной базы суперкомпьютеров, в целом, опережает развитие параллельных алгоритмов, способных максимально эффективно решать задачи математического моделирования на новых типах вычислительного оборудования1. Одним из наиболее активно развивающихся типов высокопроизводительных серверов являются сервера с несколькими (4, 6, 8, 16) ГПУ-ускорителями, объединенными быстрыми каналами связи. Первый сервер такого типа DGX-1 c интерконнектом NVLink выпустила в 2016 году компания Nvidia, в настоящее время аналогичные сервера начинают выпускать компании AMD (с интерконнектом Infinity Fabric) и Intel (с интерконнектом Xe Link). Использование подобных серверов с несколькими ГПУ-ускорителями как единого вычислительного инструмента не является тривиальной задачей и требует разработки параллельных алгоритмов с оптимальной структурой обменов данными между ГПУ ускорителями. Подобная оптимальность может быть достигнута за счет наложения обменов данными и вычислений (принцип «overlapping computation and communication»). Актуальность диссертационной работы заключается в разработке подобных алгоритмов для матричного умножения и для расчета матричной экспоненты. Кроме того, в работе продемонстрировано, как на основе разработанных вычислительных алгоритмов можно использовать колоссальную вычислительную производительность серверов с несколькими ГПУ ускорителями для математического моделирования молекулярной динамики простейшего молекулярного иона H+ на основе решения нестационарного уравнения Шредингера в формулировке с минимальным числом упрощающих предположений, что открывает возможность моделирования в до сих недостаточно изученной области неадиабатической молекулярной динамики.
Постановка проблемы
Целью работы является разработка параллельного алгоритма произведения матриц и матричной экспоненты на нескольких графических ускорителях, использующих высокопроизводительные каналы связи асинхронным образом для достижения максимальной производительности, и его применение для решения нестационарного уравнения Шредингера.
1Schulthess, Thomas C. "Programming revisited."Nature Physics 11.5 (2015): 369-373.
Для достижения поставленной цели необходимо было решить следующие задачи:
1. Разработка асинхронной параллельной программы эффективного алгоритма матричного произведения, выполняющей расчет на нескольких графических ускорителях, и исследование производительности данной программы.
2. Построение теоретической модели нахождения оптимального размера блоков, при которой исполнение программы будет выполнено с наилучшей производительностью.
3. Разработка и исследование программы алгоритма матричной экспоненты на графических ускорителях на базе использования разработанного алгоритма матричного произведения.
4. Решение нестационарного уравнения Шредингера методом использования ресурсов графических ускорителей высокой вычислительной мощности и анализ поведения волновой функции в изменяющемся от времени потенциале для молекулярного иона H+.
Обзор литературы показывает, что первым опубликованным алгоритмом матричного умножения, в котором была реализован принцип асинхронных обменов данными между ГПУ для улучшения производительности был алгоритм BLASX, описанный в статье Wang et al2. Несколько позже появился программный фреймворк PaRSEC3, ориентированный на системы с процессорами IBM Power, имеющие быстрые каналы связи NVLink между ЦП и ГПУ, за счет чего задачу матричного умножения можно эффективно разделять между ЦП и ГПУ. Компания Nvidia предоставляет решение cuBLAS-XT с закрытым кодом для расчета матричного умножения одновременно на нескольких ГПУ и ЦП (именно cuBLAS-XT использован как референс в данной работе, и было показано, что предложенный алгоритм матричного умножения для нескольких ГПУ обеспечивает более высокую производительность). Одним из наиболее универсальных фреймворков для матричного умножения, объединяющим различные
2Wang, Linnan, et al. "Blasx: A high performance level-3 blas library for heterogeneous multi-gpu computing."Proceedings of the 2016 International Conference on Supercomputing. 2016.
3T. Herault, Y. Robert, G. Bosilca, and J. Dongarra, "Generic matrix multiplication for multi-gpu accelerated distributed-memory platforms over parsec," 2019 IEEE/ACM 10th Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems, pp. 33-41, 2019.
типы параллельных алгоритмов, является проект COSMA4. Методы разделения вычислений в COSMA основаны на оптимальных комбинациях размерностей матриц, количества процессоров и размеров памяти, при выборе которых за ключевую характеристику принимается оптимальность обеспечения операции чтения-записи за счет комбинаторной модели "красно-синей игры с галькой". В рамках проекта COSMA развивается проект Tiled-MM, представляющий собой наиболее близкий аналог алгоритма параллельного матричного умножения, предложенного в данной диссертационной работе (однако Tiled-MM был опубликован заметно позже первой статьи с результатами данной диссертации).
Алгоритм матричного произведения применяется в различных вычислительных задачах, например, в алгоритме расчета матричной экспоненты. Задача расчета матричной экспоненты является вычислительно очень сложной задачей, поэтому для ее решения применяются различного рода упрощения, связанные с особыми характеристиками матриц. С другой стороны, вычислительные мощности суперкомпьютеров возрастают в наше время достаточно интенсивно. В результате уже не является чем-то совершенно невозможным рассмотрение задачи расчета матричной экспоненты в самом общем случае. Вариантов методов нахождения матричной экспоненты достаточно много. Их можно разделить на следующие категории: представление в виде суммы ряда, решение дифференциальных уравнений, полиномиальные методы, различного вида матричные разложения (в том числе и спектральное) или методы разделения5'6. Как отмечают авторы процитированных обзоров, сложно сказать, который из представленных методов является "лучшим". В случае для нормальных матриц автоматически за счет свойств нормальности пропадают многие проблемы, но в произвольном случае требуется бороться с ошибками округления.
При решении нестационарного уравнения Шредингера (TDSE) требуется многочисленный расчет матричной экспоненты, что делает эту задачу сложной для рассмотрения в общем случае. Решения частных задач TDSE можно
4Kwasniewski, Grzegorz, et al. "Red-blue pebbling revisited: near optimal parallel matrixmatrix multiplication."Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. 2019.
5Moler, C., Van Loan, C.: Nineteen dubious ways to compute the exponential of a matrix. SIAM review 20(4), 801-836 (1978)
6Moler, C., Van Loan, C.: Nineteen dubious ways to compute the exponential of a matrix, twenty-five years later. SIAM review 45(1), 3-49 (2003)
найти в различных работах. Например, в работе Lugovskoy и Bray рассмотрено почти внезапное возмущение квантовой системы ультракоротким импульсом : аналитическая теория сопоставлена с численным решением TDSE. Различные сценарии ионизации He были рассмотрены путем численного решения одномерного TDSE в работе Yu и Madsen8'9. Неадиабатическая квантовая динамика молекулярных ионов H+ и HD+, возбуждаемых одиночными лазерными импульсами, линейно поляризованными вдоль оси молекулы, исследована в рамках трехмерной модели в работе Paramonov и др.10. Взаимодействие сильных лазерных полей с He, H+ и H2 было смоделировано на основе решения TDSE в работе Majorosi и др.11
Основные положения, выносимые на защиту:
1. Разработан алгоритм матричного умножения, использующий асинхронные обмены данными между несколькими графическими ускорителями в рамках одного сервера.
2. Построена теоретическая модель определения оптимального размера блока для предложенного алгоритма матричного умножения и выполнена ее проверка тестированием серверов с различной связью между графическими ускорителями.
3. Разработан алгоритм расчета матричной экспоненты, использующий несколько графических ускорителей, основанный на предложенном алгоритме матричного умножения.
4. Показано, что численное решение нестационарного одномерного уравнения Шредингера с использованием предложенного алгоритма расчета матричной экспоненты позволяет описывать неадиабатические переходы в моделях двухъядерных молекул с одним электроном.
7Lugovskoy, A., Bray, I.: Almost sudden perturbation of a quantum system with ultrashort electric pulses. Physical Review A 77(2), 023420 (2008)
8Yu, C., Madsen, L.B.: Sequential and nonsequential double ionization of helium by intense xuv laser pulses: Revealing ac stark shifts from joint energy spectra. Physical Review A 94(5), 053424 (2016)
9Yu, C., Madsen, L.B.: Above-threshold ionization of helium in the long-wavelength regime: Examining the single-active-electron approximation and the two-electron strong-field approximation. Physical Review A 95(6), 063407 (2017)
10Paramonov, G.K., Klamroth, T., Lu, H., Bandrauk, A.D.: Quantum dynamics, isotope effects, and power spectra of H+ and HD+ excited to the continuum by strong one-cycle laser pulses: Three-dimensional non-born-oppenheimer simulations. Physical Review A 98(6), 063431 (2018)
11Majorosi, S., Benedict, M.G., Bog'ar, F., Paragi, G., Czirj'ak, A.: Density-based one-dimensional model potentials for strong-field simulations in He, H+, and H2. Physical Review A 101(2), 023405 (2020)
Научная новизна: Разработан параллельный алгоритм матричного умножения для нескольких ГПУ, эффективность которого выше, чем у аналогов, входящих в стандартные библиотеки (cuBLASXt). Предложена аналитическая модель производительности данного алгоритма. Предсказательная сила модели проверена численными экспериментами на различных гибридных платформах. На основе разработанного алгоритма матричного умножения разработан алгоритм вычисления матричной экспоненты. С его помощью создана программа для решения зависящего от времени уравнения Шредингера и проведены расчеты молекулярного иона водорода. Показана возможность описания процесса неадиабатического перехода электронной подсистемы из основного в возбужденное состояние.
Методология и методы исследования. Применялись инструменты программирования (Nvidia CUDA SDK, AMD ROCm), методы оптимизации, отладчики (Nsight, rocprof), связанные с программированием методы для составления программ и внешние математические библиотеки. Модель оптимального регулируемого параметра алгоритма (размера блоков) была получена аналитически. Разностные методы были применены для построения алгоритма решения зависящего от времени уравнения Шредингера.
Апробация работы. Результаты работы были доложены на следующих конференциях.
1. Цифровая индустрия: состояние и перспективы развития 2020 (ЦИ-СП'2020), Россия, Челябинск, 17-19 ноября, 2020. Доклад «MatrixMatrix Multiplication Using Multiple GPUs Connected by Nvlink».
2. 20-я международная конференция и молодежная школа Математическое моделирование и суперкомпьютерные технологии (ММиСТ2020) в рамках Международных конгресса «Суперкомпьютерные дни в России», Нижегородский Государственный Университет им. Н.И. Лобачевского, Россия, Нижний Новгород, 23-25 ноября, 2020. Доклад «Алгоритм матричного умножения для нескольких GPU, объединенных высокоскоростными каналами связи».
3. 9-я международная конференция "Distributed Computing and Grid Technologies in Science and Education"(GRID'2021), Россия, Дубна, 5-9 июля, 2021. Доклад «Overlapping Computation and Communication in Matrix-Matrix Multiplication Algorithm for Multiple GPUs».
4. Международная конференция Параллельные вычислительные технологии (ПаВТ) 2022, Россия, Дубна, 29-31 марта, 2022. Доклад «The Tuning of Matrix-Matrix Multiplication Algorithm for Several GPUs Connected by Fast Communication Links».
5. Летняя школа «Extreme-scale big data analytics and scientific computing on heterogeneous platforms», Lake Como School of Advanced Studies, Como, Italy, 26-30 сентября, 2022. Доклад «Multi-GPU GEMM algorithm: maximizing efficiency on different platforms».
6. 22-я международная конференция и молодежная школа Математическое моделирование и суперкомпьютерные технологии (ММиСТ 2022), Нижегородский Государственный Университет им. Н.И. Лобачевского, Нижний Новгород, 14-17 ноября, 2022. Доклад «Multi-GPU GEMM algorithm performance analysis for Nvidia and AMD GPUs connected by NVLink and PCIe».
7. The Conference on Computational Physics (CCP2023) - 34th International Union of Pure and Applied Physics (IUPAP) Conference on Computational Physics, Kobe International Conference Center, Kobe, Japan, 4-8 августа, 2023. Доклад «Multi-GPU GEMM for 1D Time-Dependent Schrodinger Equation».
8. Международная конференция «Суперкомпьютерные дни в России 2023», Россия, Москва, 25-26 сентября, 2023. Доклад «GPU-accelerated matrix exponent for solving 1D time-dependent Schrodinger equation».
Личный вклад. Под взглядом научного руководителя на общую картину и структуру работы соискатель составил все приводимые алгоритмы и написал соответствующие программы. Соискатель провел вычислительные эксперименты на разных платформах, доступ к которым был обеспечен научным руководителем. С помощью руководителя были проанализированы результаты численных экспериментов, и совместно разработаны идеи для устранения уязвимостей и модификации программы в лучшую сторону, которые затем внедрялись в код соискателем. Соискатель лично делал все доклады на конференциях разных форматов. Соискателем обеспечивались данные, приводимых в публикациях, и были написаны основная часть первой статьи, и большая часть,
включая основную, остальных статей, которые затем подвергались осмотру и корректировке научным руководителем.
Публикации. Основные результаты по теме диссертации изложены в 4 печатных изданиях, 4 —в периодических научных журналах, индексируемых Web of Science и Scopus.
Публикации автора по теме диссертации
1. Choi, Y. R. Matrix-Matrix Multiplication Using Multiple GPUs Connected by NVLink [Текст] / Y. R. Choi, V. Nikolskiy, V. Stegailov // 2020 Global Smart Industry Conference (GloSIC). — IEEE. 2020. — С. 354—361.
2. Choi, Y. R. Multi-GPU GEMM Algorithm Performance Analysis for Nvidia and AMD GPUs Connected by NVLink and PCIe [Текст] / Y. R. Choi, V. Stegailov // Mathematical Modeling and Supercomputer Technologies: 22nd International Conference, MMST 2022, Nizhny Novgorod, Russia, November 14-17, 2022, Revised Selected Papers. — Springer. 2022. — С. 281—292.
3. Choi, Y. R. Tuning of a Matrix-Matrix Multiplication Algorithm for Several GPUs Connected by Fast Communication Links [Текст] / Y. R. Choi, V. Nikolskiy, V. Stegailov // International Conference on Parallel Computational Technologies. — Springer. 2022. — С. 158—171.
4. Choi, Y. R. GPU-Accelerated Matrix Exponent for Solving 1D Time-Dependent Schrodinger Equation [Текст] / Y. R. Choi, V. Stegailov // Supercomputing / под ред. V. Voevodin [и др.]. — Cham : Springer Nature Switzerland, 2023. — С. 100—113.
Объем и структура работы. Диссертация состоит из введения, трёх глав, заключения и двух приложений. Полный объём диссертации составляет 106 страниц, включая 27 рисунков и 3 таблицы. Список литературы содержит 86 наименований.
Глава 1. Обзор литературы
1.1 Матричная экспонента как универсальный метод решения
Уравнения Шредингера
Несмотря на значительный прогресс в понимании квантовых процессов, многие явления даже в таких простых системах, как молекулярный водород, до сих пор являются объектами активных экспериментальных и теоретических исследований, например. динамика аттосекундной фотоионизации H+ [1] и H2 [2]. Несмотря на простоту, модели электронного строения таких молекул все же содержат такие приближения, как, например, использование кулоновско-го потенциала мягкого ядра [3]. Описание неадиабатической электрон-ионной квантовой динамики этих молекул выходит за рамки возможностей аналитических решений зависящего от времени уравнение Шредингера (TDSE) и требует высокопроизводительных вычислительных методов.
Решение зависящего от времени уравнение Шредингера является довольно обширной задачей, которая изучается с разных сторон и предлагаются множество разных подходов и методологии. Ранее только простейшие случаи могли быть решены аналитически, однако, продолжаются исследования аналитического решения уравнения Шредингера. В недавней работе предлагаются решение нелинейного уравнения Шредингера (NLSE) [4] методами Бернулли Sub-ODE (BSODEM) [5] и ^-разложения (^-expansion method) [6].
В настоящий момент для решения уравнения общего вида приходится воспользоваться различными вычислительными методами, которые изучаются и разрабатываются под рассматриваемую частную задачу [7]. Их большое множество, как примеры можно привести стандартный метод Хартри-Фока (Hartree-Fock) [8], метод взаимодействия конфигурации (configuration interaction) и его модификации [9], метод связанного кластера (coupled-cluster) [10], разные методы на основе Монте Карло (Monte Carlo) [11] и прочее. В частности, поскольку электрон в атоме можно представить в виде волны, можно рассмотреть преобразование Фурье. Тогда преобладающим способом будет реализация быстрого преобразования Фурье (БПФ) [8; 12]. Однако, в этом случае возникают раз-
личные проблемы, связанные с БПФ, такие как покрытие пространства или точность расчета [12].
Актуальность задачи решения ТЭБЕ можно увидеть также при изучении задачи поляризации неводородных многоэлектронных атомов лазерными импульсами. Как пример, здесь прибегают также к методам Хартри-Фока для разработки теории зависимого от времени самосогласованного поля в ограниченном активном пространстве (ТВ-КЛЯЗСР) [13]. Есть более поздняя работа, в котором предлагается программный комплекс [14], вычисляющий проблему на основе Я-матричной парадигмы, делящий матрицу на два региона по особенностям структуры матрицы координат электронов [15].
В ряде работ авторы использовали упрощенное Ш-приближение с куло-новскими потенциалами с мягким ядром [16—19]. Этот тип электрон-ионных потенциалов используется в различных атомных моделях (см., например, недавнюю статью Тгиоп§ и др. [20]). Наиболее точная 3Э-модель молекулярного водорода, основанная на методе оператора экспоненциального расщепления [21], была использована Рагашопоу и др. [22].
Изучение задачи зависящего от времени уравнение Шредингера проводилось с разных сторон. Поскольку мы рассматриваем эволюцию изолированных систем во времени, подход конечно-разностной временной области (РЭТЭ) для решения ТЭБЕ кажется разумным выбором. Например, подход РЭТЭ был успешно применен для решения ТЭБЕ квантовых точек [8]. В выведенном решении методом конечных разностей мы можем увидеть необходимость поиска матричной экспоненты, например, случаи одномерного и двумерных ТЭБЕ в общем виде представлены в работе БеееггИ [23]. И помимо прочего РЭТЭ является подходящим методом для поиска энергии и волновых функции базовой и возбужденных состоянии [24].
В большинстве случаев из-за трудностей прямых вычислений обращалось внимание на разряженность и различные уникальные особенности матрицы Гамильтона [25] для упрощения задачи [26]. Одной из направлении исследования является развитие новых методологии упрощения и поиск новых способов решения матричных экспонент [27; 28].
Сложность вычисления матричной экспоненты по сути заключается в объеме требуемых расчетов и ограниченности вычислительных ресурсов. Как вариант ускорения вычисления не зависимого от времени уравнение Шрединге-ра для трехмерного случая были рассмотрены алгоритмы распараллеливания
на несколькие потоки процессора [29] или вычисления на графическом ускорителе [30]. Если же введем условие зависимости от времени, здесь появится необходимость перерасчета экспоненты на каждом временном шаге из-за изменения матрицы Гамильтониана от временного параметра с соответствующим ростом вычислительных нагрузок, поэтому целесообразно задействовать максимально возможную и в то же время оптимальную производительность вычислительной машины в расчетах. Прямой расчет матричной экспоненты потребует огромное число численных операции, но это позволит не обращать внимание на структуру генерируемой матрицы и универсально применять алгоритм для задач с разными условиями.
1.2 Методы умножения матриц
Разделение на блоки улучшает производительность алгоритмов умножения матриц для ЦП за счет использования кэш-памяти процессора (высоко оптимизированные алгоритмы ЦП доступны, например, в библиотеках Intel MKL, IBM ESSL и openBLAS). Обзоры основных алгоритмов можно найти в [31]. Эффективные алгоритмы умножения матриц для графических ускорителей требуют использования многопоточного параллелизма. Доступны высоко оптимизированные версии таких алгоритмов (например, cuBLAS из библиотеки Nvidia CUDA Toolkit и rocBLAS из фреймворка AMD ROCm).
Алгоритмы параллельного умножения матриц имеют довольно долгую историю развития. Например, после того, как был введен стандарт MPI, был опубликован масштабируемый универсальный алгоритм умножения матриц (SUMMA) для параллельного умножения матриц [32]. Система времени выполнения под названием SuperMatrix, которая распараллеливает матричные операции для симметричных многопроцессоров (архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессора сравнимой производительности подключаются единообразно к общей памяти и выполняют одни и те же функции) и/или многоядерных архитектур, была описана в [33]. SuperMatrix представила концепцию набора блоков для распределения работы между несколькими потоками. Были исследования, касающихся различных
моделей и структур параллельных алгоритмов GEMM [31; 34], а также часто наблюдались попытки переорганизации ключевых компонент алгоритма [35].
Такие алгоритмы, однако, также требуют оптимизации передачи данных между узлами системы с распределенной памятью [36]. Некоторые современные алгоритмы рассмотрены в [34], и доступны несколько реализаций, как ScaLAPACK, PLAPACK, Elemental, DPLASMA, SLATE, PARSEC. Фреймворк PaRSEC [37] представил прямое планирование ациклического графа для плотных алгебраических операций. Последующая реализация алгоритма GEMM в PaRSEC показала очень высокую эффективность [38]. Алгоритм параллельного матричного умножения COSMA, близкий к оптимальному, был представлен на основе идей красно-синей игры в камушки [34]. Умножение матриц — это общий тестовый пример для оценки новых моделей программирования в HPC, например. использование языка программирования Rust [39].
Уже с начала эры GPGPU различные алгоритмы умножения матрицы на матрицу разрабатывались для расчетов на нем [40—43]. Ранее существовала единственная открытая библиотека для ядер плотной линейной алгебры на платформах распределенной памяти с ускорением с использованием нескольких графических ускорителей, которая называлась SLATE [44]. PARSEC предназначена для матриц, не ограниченных размером памяти графического ускорителя [38]. Он хранит данные в памяти хоста, а графические ускорители поставляются для необходимых фрагментов по ссылкам.
Наряду с академическими проектами SuperMatrix, PaRSEC и COSMA существует коммерческая многопроцессорная библиотека BLAS уровня 3 cuBLASXt, разработанная Nvidia. Однако было показано, что cuBLASXt обеспечивает неоптимальную производительность [45]. Библиотека BLAS уровня 3 с несколькими графическими ускорителями BLASX с улучшенным планированием была разработана Wang и др. [45].
SLATE, PARSEC, BLASX и COSMA довольно сложные и многоцелевые программные проекты. Эти проекты (как и cuBLASXt) позволяют производить вычисления для матриц, хранящихся в памяти центрального процессора (через специальное планирование передачи данных ЦП-ГПУ). В настоящей работе представлена разработка гораздо более простого алгоритма умножения матриц, который использует только графические ускорители для хранения данных и вычислений, и лучше подходит для целей сравнительного анализа и тестирования различных типов графических ускорителей и взаимосвязей ГПУ-ГПУ.
1.3 cuBLASXt
Nvidia предоставляет набор библиотек для удобного использования ускорителей. Одним из них является cuBLAS, который содержит список простых матричных операций. Особый интерес представляют общие операции матричного умножения (GEMM). Здесь мы можем отметить, что достаточно использовать библиотеку cuBLAS в случае системы с одним графическим ускорителем, но она не поддерживает реализацию для нескольких графических ускорителей. Функциональность нескольких графических ускорителей поддерживается другой библиотекой под названием cuBLASXt. Он разделяет матрицы на блоки, которые отправляются на графические ускорители для вычислений, и собирает результаты. Однако, в этом исследовании мы наблюдали случаи, когда все доступные устройства производили вычисления независимо от того, хранят они матрицу или нет.
Изучая производительность, мы обнаружили, что эффективность падает, когда мы работаем с довольно маленькими матрицами, как и ожидалось. Однако были обнаружены и проблемы, не зависящие от размера. Решающей оказалась, когда проводились эксперименты с более чем двумя ГПУ. В среднем производительность вычислений упала до 60% от пиковой производительности с 3 ГПУ, до 40% с 4 ГПУ, в отличие от случая с 1 или 2 ГПУ, когда производительность была близка к максимальной производительности устройств.
Размер блоков является параметром, которую мы можем регулировать. Рис. 1.1а и Рис. 1.1б показывают наиболее эффективные вычисления cuBLASXt GEMM. В ходе экспериментов было установлено, что в случае, когда матрицы расположены в одном устройстве, наилучшая производительность достигается при размере блоков в четверть от исходной квадратной матрицы. В противном случае был некоторый интервал параметра (Ni £ (8000; 10000), в особенности, когда матрицы хранятся индивидуально в устройствах), когда он показывает пик.
Чтобы проанализировать проблему, мы провели профилирование с помощью Nvidia Visual Profiler (см. Рис. 1.2). Здесь мы получили некоторые не вполне очевидные результаты, поскольку, несмотря на то, что целью cuBLASXt является эффективная реализация нескольких графических ускорителей, он выполняет синхронный запуск, если работает с более двумя графическими уско-
R, йог 4 GPUs
60 реак
50
40
о ш
Ю
&30 О
20
10
for 4 СРЫБ
60 реак
Rpeak for 3 GPUs
Rpeak for 2 GPUs
4 СРЫ
-•- 3 СРЫ
-*- 2 СРЫ
50
40
и ф
1Л
30
20
10
^реак for 3 СРУБ
+
+
8192
16384
32768 52000
N
0*'
1000 2000 4000 8000 16000 32000 64000 N
(а) (
Рисунок 1.1 — График работы МиШ-СРИ СЕММ еиБЬЛ8Х1 на 2, 3, 4 ГПУ (а) или на 3, 4 ГПУ (Ь) от количества элементов матриц (Ж) в строке (столбце). Матрицы Л, Б и С хранятся вместе в устройстве с номером 0 (а) или в устройствах с номерами 0, 1 и 2 (Ь). Пунктирные линии показывают общую пиковую производительность с одинарной точностью для 2, 3 и 4 графических ускорителей соответственно.
рителями. Мы пытались регулировать параметры и другие характеристики запуска, чтобы решить эту проблему, но не смогли найти оправдания за пределами исполняемой функции СЕММ.
В ходе работы особое внимание было уделено функциям работы с асинхронной памятью. Есть несколько причин: во-первых, если они были вызваны на одном устройстве, каждый вызов мешает другим, пока он не завершит свою работу. На рис. 1.2 по поведению еиБЬЛ8Х1 мы можем подозревать, что проблема связана. Во-вторых, мы должны были установить барьеры, чтобы ядро работало с необходимой информацией. Следовательно, для предоставления данных до того, как СЕММ был вызван, дополнительные полосы были выделены на каждом устройстве, которое принимает данные, в то время как другое участвовало в вычислениях.
Похожие диссертационные работы по специальности «Другие cпециальности», 00.00.00 шифр ВАК
Методы и программные средства организации эффективных вычислений для расчета электронной структуры больших молекулярных систем2012 год, кандидат технических наук Чернецов, Андрей Михайлович
Алгоритмические модели и структуры узлов специализированных процессоров цифровой обработки сигналов с векторизацией вычислений2001 год, доктор технических наук Царёв, Александр Павлович
Разработка инструментальных средств отработки блоков информационно-измерительных и управляющих систем с использованием оптоэлектронных процессоров2005 год, кандидат технических наук Соловьёв, Сергей Юрьевич
Технология программирования алгоритмов молекулярно-динамического моделирования наносистем на графических процессорах2017 год, кандидат наук Семенов Сергей Александрович
Разработка и оптимизация программного комплекса для дифракционного моделирования сейсмических волн с адаптацией под графические ускорители2020 год, кандидат наук Зятьков Николай Юрьевич
Список литературы диссертационного исследования кандидат наук Чой Е Рем, 2024 год
Список литературы
1. Attosecond strobing of two-surface population dynamics in dissociating H+ [Текст] / A. Staudte [и др.] // Physical review letters. — 2007. — Т. 98, № 7. — С. 073003.
2. Reconstruction of the time-dependent electronic wave packet arising from molecular autoionization [Текст] / R. Y. Bello [и др.] // Science advances. — 2018. — Т. 4, № 8. — eaat3962.
3. Li, C. Exact analytical ground state solution of 1D H+ with soft Coulomb potential [Текст] / C. Li // Journal of Mathematical Chemistry. — 2022. — Т. 60, № 1. — С. 184—194.
4. New solutions for the generalized resonant nonlinear Schrodinger equation [Текст] / K. S. Nisar [и др.] // Results in Physics. — 2022. — Т. 33. — С. 105153.
5. Zheng, B. Application of a generalized Bernoulli sub-ODE method for finding traveling solutions of some nonlinear equations [Текст] / B. Zheng // WSEAS Transactions on Mathematics. — 2012. — Т. 7, № 11. — С. 618—626.
6. Wang, M. The (G' G)-expansion method and travelling wave solutions of nonlinear evolution equations in mathematical physics [Текст] / M. Wang, X. Li, J. Zhang // Physics Letters A. — 2008. — Т. 372, № 4. — С. 417—423.
7. Towards the solution of the many-electron problem in real materials: Equation of state of the hydrogen chain with state-of-the-art many-body methods [Текст] / M. Motta [и др.] // Physical Review X. — 2017. — Т. 7, № 3. — С. 031059.
8. Sullivan, D. Time-domain simulation of two electrons in a quantum dot [Текст] / D. Sullivan, D. Citrin // Journal of Applied Physics. — 2001. — Т. 89, № 7. — С. 3841—3846.
9. Shiozaki, T. Explicitly correlated multireference configuration interaction: MRCI-F12 [Текст] / T. Shiozaki, G. Knizia, H.-J. Werner // The Journal of chemical physics. — 2011. — Т. 134, № 3. — С. 034113.
10. Bartlett, R. J. Coupled-cluster theory in quantum chemistry [Текст] / R. J. Bartlett, M. Musial // Reviews of Modern Physics. — 2007. — Т. 79, № 1. — С. 291.
11. Han, J. Solving many-electron Schrodinger equation using deep neural networks [Текст] / J. Han, L. Zhang, E. Weinan // Journal of Computational Physics. — 2019. — Т. 399. — С. 108929.
12. Wang, L.-W. A brief comparison between grid based real space algorithms and spectrum algorithms for electronic structure calculations [Текст] / L.-W. Wang. — 2008.
13. Miyagi, H. Time-dependent restricted-active-space self-consistent-field theory for laser-driven many-electron dynamics [Текст] / H. Miyagi, L. B. Madsen // Physical Review A. — 2013. — Т. 87, № 6. — С. 062511.
14. RMT: R-matrix with time-dependence. Solving the semi-relativistic, time-dependent Schroodinger equation for general, multielectron atoms and molecules in intense, ultrashort, arbitrarily polarized laser pulses [Текст] / A. C. Brown [и др.] // Computer Physics Communications. — 2020. — Т. 250. — С. 107062.
15. Nikolopoulos, L. Combined R-matrix eigenstate basis set and finite-difference propagation method for the time-dependent Schrodinger equation: The one-electron case [Текст] / L. Nikolopoulos, J. Parker, K. Taylor // Physical Review A. — 2008. — Т. 78, № 6. — С. 063420.
16. Lugovskoy, A. Almost sudden perturbation of a quantum system with ultrashort electric pulses [Текст] / A. Lugovskoy, I. Bray // Physical Review A. — 2008. — Т. 77, № 2. — С. 023420.
17. Yu, C. Sequential and nonsequential double ionization of helium by intense XUV laser pulses: Revealing ac Stark shifts from joint energy spectra [Текст] / C. Yu, L. B. Madsen // Physical Review A. — 2016. — Т. 94, № 5. — С. 053424.
18. Yu, C. Above-threshold ionization of helium in the long-wavelength regime: Examining the single-active-electron approximation and the two-electron strong-field approximation [Текст] / C. Yu, L. B. Madsen // Physical Review A. — 2017. — Т. 95, № 6. — С. 063407.
19. Density-based one-dimensional model potentials for strong-field simulations in He, H+, and H2 [Текст] / S. Majorosi [и др.] // Physical Review A. — 2020. — Т. 101, № 2. — С. 023405.
20. Soft parameters in Coulomb potential of noble atoms for nonsequential double ionization: Classical ensemble model and simulations [Текст] / T. D. Truong [и др.] // Computer Physics Communications. — 2022. — Т. 276. — С. 108372.
21. Bandrauk, A. D. Exponential split operator methods for solving coupled time-dependent Schrodinger equations [Текст] / A. D. Bandrauk, H. Shen // The Journal of chemical physics. — 1993. — Т. 99, № 2. — С. 1185—1193.
22. Quantum dynamics, isotope effects, and power spectra of H+ and HD+ excited to the continuum by strong one-cycle laser pulses: Three-dimensional nonBorn-Oppenheimer simulations [Текст] / G. K. Paramonov [и др.] // Physical Review A. — 2018. — Т. 98, № 6. — С. 063431.
23. Solving the time-dependent Schrodinger equation using finite difference methods [Текст] / R. Becerril [и др.] // Revista mexicana de física E. — 2008. — Т. 54, № 2. — С. 120—132.
24. Sudiarta, I. W. Solving the Schrodinger equation using the finite difference time domain method [Текст] / I. W. Sudiarta, D. W. Geldart // Journal of Physics A: Mathematical and Theoretical. — 2007. — Т. 40, № 8. — С. 1885.
25. Kamta, G. L. Multielectron system in an ultrashort, intense laser field: A nonperturbative, time-dependent two-active-electron approach [Текст] / G. L. Kamta, A. F. Starace // Physical Review A. — 2002. — Т. 65, № 5. — С. 053418.
26. Chelikowsky, J. R. Extending the Scale with Real-Space Methods for the Electronic Structure Problem [Текст] / J. R. Chelikowsky // Handbook of Materials Modeling: Methods: Theory and Modeling. — 2020. — С. 499—522.
27. Moler, C. Nineteen dubious ways to compute the exponential of a matrix [Текст] / C. Moler, C. Van Loan // SIAM review. — 1978. — Т. 20, № 4. — С. 801—836.
28. Moler, C. Nineteen dubious ways to compute the exponential of a matrix, twenty-five years later [Текст] / C. Moler, C. Van Loan // SIAM review. — 2003. — Т. 45, № 1. — С. 3—49.
29. Strickland, M. A parallel algorithm for solving the 3d Schrödinger equation [Текст] / M. Strickland, D. Yager-Elorriaga // Journal of Computational Physics. — 2010. — Т. 229, № 17. — С. 6015—6026.
30. Liu, Q. Solving the 3D Schrodinger Equation on a GPU [Текст] / Q. Liu, F. Liu, C. Hou // Procedia Computer Science. — 2020. — Т. 171. — С. 312—321.
31. Goto, K. Anatomy of High-Performance Matrix Multiplication [Текст] / K. Goto, R. A. v. d. Geijn // ACM Trans. Math. Softw. — New York, NY, USA, 2008. — Т. 34, № 3. — С. 12-1 —12-25.
32. Van De Geijn, R. A. SUMMA: Scalable universal matrix multiplication algorithm [Текст] / R. A. Van De Geijn, J. Watts // Concurrency: Practice and Experience. — 1997. — Т. 9, № 4. — С. 255—274.
33. Supermatrix: a multithreaded runtime scheduling system for algorithms-by-blocks [Текст] / E. Chan [и др.] // Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming. — 2008. — С. 123—132.
34. Red-Blue Pebbling Revisited: Near Optimal Parallel Matrix-Matrix Multiplication [Текст] / G. Kwasniewski [и др.] // Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. — Denver, Colorado : Association for Computing Machinery, 2019. — С. 24-1 —24-22. — (SC '19).
35. Accelerating Strassen-Winograd's matrix multiplication algorithm on GPUs [Текст] / P.-W. Lai [и др.] // 20th Annual International Conference on High Performance Computing. — IEEE. 2013. — С. 139—148.
36. Schatz, M. D. Parallel matrix multiplication: A systematic journey [Текст] / M. D. Schatz, R. A. Van de Geijn, J. Poulson // SIAM Journal on Scientific Computing. — 2016. — Т. 38, № 6. — С. C748—C781.
37. Hierarchical dag scheduling for hybrid distributed systems [Текст] / W. Wu [и др.] // 2015 IEEE International Parallel and Distributed Processing Symposium. — IEEE. 2015. — С. 156—165.
38. Generic matrix multiplication for multi-GPU accelerated distributed-memory platforms over PaRSEC [Текст] / T. Herault [и др.] // 2019 IEEE/ACM 10th Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems (ScalA). — IEEE. 2019. — С. 33—41.
39. Bychkov, A. Rust Language for Supercomputing Applications [Текст] / A. Bychkov, V. Nikolskiy // Russian Supercomputing Days. — Springer. 2021. — С. 391—403.
40. Matrix product on heterogeneous master-worker platforms [Текст] / J. Dongarra [и др.] // Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming. — 2008. — С. 53—62.
41. DeFlumere, A. Searching for the optimal data partitioning shape for parallel matrix matrix multiplication on 3 heterogeneous processors [Текст] / A. DeFlumere, A. Lastovetsky // 2014 IEEE International Parallel & Distributed Processing Symposium Workshops. — IEEE. 2014. — С. 17—28.
42. Rohr, D. A flexible and portable large-scale DGEMM library for linpack on next-generation multi-GPU systems [Текст] / D. Rohr, V. Lindenstruth // 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing. — IEEE. 2015. — С. 664—668.
43. Ryu, S. Parallel Huge Matrix Multiplication on a Cluster with GPGPU Accelerators [Текст] / S. Ryu, D. Kim // 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). — IEEE. 2018. — С. 877—882.
44. SLATE: Design of a Modern Distributed and Accelerated Linear Algebra Library [Текст] / M. Gates [и др.] //. — Denver, Colorado : Association for Computing Machinery, 2019. — С. 26-1 —26-18. — (SC '19).
45. BLASX: A high performance level-3 BLAS library for heterogeneous multi-GPU computing [Текст] / L. Wang [и др.] // Proceedings of the 2016 International Conference on Supercomputing. — 2016. — С. 1—11.
46. Performance Implications of Async Memcpy and UVM: A Tale of Two Data Transfer Modes [Текст] / R. Li [и др.] // 2023 IEEE International Symposium on Workload Characterization (IISWC). — IEEE. 2023. — С. 115—127.
47. Lightweight requirements engineering for exascale co-design [Текст] / A. Calotoiu [и др.] // 2018 IEEE International Conference on Cluster Computing (CLUSTER). — IEEE. 2018. — С. 201—211.
48. Nvidia tensor core programmability, performance & precision [Текст] / S. Markidis [и др.] // 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). — IEEE. 2018. — С. 522—531.
49. NVIDIA A100 Tensor Core GPU: Performance and innovation [Текст] / J. Choquette [и др.] // IEEE Micro. — 2021. — Т. 41, № 2. — С. 29—35.
50. Elster, A. C. Nvidia hopper gpu and grace cpu highlights [Текст] / A. C. Elster, T. A. Haugdahl // Computing in Science & Engineering. — 2022. — Т. 24, № 2. — С. 95—100.
51. Generic Matrix Multiplication for Multi-GPU Accelerated Distributed-Memory Platforms over PaRSEC [Текст] / T. Herault [и др.] // 2019 IEEE/ACM 10th Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems (ScalA). — 2019. — С. 33—41.
52. Performance and Scalability of Materials Science and Machine Learning Codes on the State-of-Art Hybrid Supercomputer Architecture [Текст] / N. Kondratyuk [и др.] // Communications in Computer and Information Science. Supercomputing / под ред. V. Voevodin, S. Sobolev. — Springer International Publishing, 2019. — С. 597—609.
53. Kostenetskiy, P. S. HPC Resources of the Higher School of Economics [Текст] / P. S. Kostenetskiy, R. A. Chulkevich, V. I. Kozyrev // Journal of Physics: Conference Series. — 2021. — Янв. — Т. 1740. — С. 012050. — URL: https: //doi.org/10.1088/1742-6596/1740/1/012050.
54. Hanson, W. A. The CORAL supercomputer systems [Текст] / W. A. Hanson // IBM Journal of Research and Development. — 2020. — Т. 64, № 3/4. — 1:1—1:10.
55. Anderson, J. A. General purpose molecular dynamics simulations fully implemented on graphics processing units [Текст] / J. A. Anderson, C. D. Lorenz, A. Travesset // Journal of Computational Physics. — 2008. — Т. 227, № 10. — С. 5342—5359.
56. Luehr, N. Dynamic precision for electron repulsion integral evaluation on graphical processing units (GPUs) [Текст] / N. Luehr, I. S. Ufimtsev, T. J. Martinez // Journal of Chemical Theory and Computation. — 2011. — Т. 7, № 4. — С. 949—954.
57. Rojek, K. Systematic adaptation of stencil-based 3D MPDATA to GPU architectures [Текст] / K. Rojek, R. Wyrzykowski, L. Kuczynski // Concurrency and Computation: Practice and Experience. — 2016. — n/a—n/a. — URL: http://dx.doi.org/10.1002/cpe.3970.
58. Unified memory in HOOMD-blue improves node-level strong scaling [Текст] / J. Glaser [и др.] // Computational Materials Science. — 2020. — Т. 173. — С. 109359.
59. Magma: A breakthrough in solvers for eigenvalue problems [Текст] / A. Haidar [и др.]. — 2008.
60. Dongarra, J. J. Matrix algebra for GPU and multicore architectures (MAGMA) for large petascale systems [Текст] : тех. отч. / J. J. Dongarra, S. Tomov ; Univ. of Tennessee, Knoxville, TN (United States). — 2014.
61. Gates, M. Accelerating computation of eigenvectors in the nonsymmetric eigenvalue problem [Текст] : тех. отч. / M. Gates, A. Haidar, J. Dongarra ; Technical Report Working Note 286, LAPACK, 2014.(Cited on page 4.) — 2014.
62. Toward a scalable multi-gpu eigensolver via compute-intensive kernels and efficient communication [Текст] / A. Haidar [и др.] // Proceedings of the 27th international ACM conference on International conference on supercomputing. — 2013. — С. 223—232.
63. Leading edge hybrid multi-GPU algorithms for generalized eigenproblems in electronic structure calculations [Текст] / A. Haidar [и др.] // Supercomputing: 28th International Supercomputing Conference, ISC 2013, Leipzig, Germany, June 16-20, 2013. Proceedings 28. — Springer. 2013. — С. 67—80.
64. A novel hybrid CPU-GPU generalized eigensolver for electronic structure calculations based on fine-grained memory aware tasks [Текст] / A. Haidar [и др.] // The International journal of high performance computing applications. — 2014. — Т. 28, № 2. — С. 196—209.
65. Efficient Mixed-Precision Tall-and-Skinny Matrix-Matrix Multiplication for GPUs [Текст] / H. Tang [и др.] // International Journal of Networking and Computing. — 2021. — Т. 11, № 2. — С. 267—282.
66. Extracting clean performance models from tainted programs [Текст] / M. Copik [и др.] // Proceedings of the 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. — 2021. — С. 403—417.
67. Fiorini, A. Visualization of profiling and tracing in CPU-GPU programs [Текст] / A. Fiorini, M. R. Dagenais // Concurrency and Computation: Practice and Experience. — 2022. — Т. 34, № 23. — e7188.
68. Tran, N.-P. Parameter based tuning model for optimizing performance on GPU [Текст] / N.-P. Tran, M. Lee, J. Choi // Cluster Computing. — 2017. — Т. 20, № 3. — С. 2133—2142.
69. Malik, T. Towards optimal matrix partitioning for data parallel computing on a hybrid heterogeneous server [Текст] / T. Malik, A. Lastovetsky // IEEE Access. — 2021. — Т. 9. — С. 17229—17244.
70. A high-performance matrix-matrix multiplication methodology for CPU and GPU architectures [Текст] / V. Kelefouras [и др.] // The Journal of Supercomputing. — 2016. — Т. 72, № 3. — С. 804—844.
71. A coordinated tiling and batching framework for efficient GEMM on GPUs [Текст] / X. Li [и др.] // Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming. — 2019. — С. 229—241.
72. Choi, Y. R. Tuning of a Matrix-Matrix Multiplication Algorithm for Several GPUs Connected by Fast Communication Links [Текст] / Y. R. Choi, V. Nikolskiy, V. Stegailov // International Conference on Parallel Computational Technologies. — Springer. 2022. — С. 158—171.
73. Boyer, M. Improving GPU performance prediction with data transfer modeling [Текст] / M. Boyer, J. Meng, K. Kumaran // 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum. — IEEE. 2013. — С. 1097—1106.
74. GPU-accelerated molecular dynamics: State-of-art software performance and porting from Nvidia CUDA to AMD HIP [Текст] / N. Kondratyuk [и др.] // The International Journal of High Performance Computing Applications. — 2021. — С. 10943420211008288.
75. Achieving performance portability in Gaussian basis set density functional theory on accelerator based architectures in NWChemEx [Текст] / D. B. Williams-Young [и др.] // Parallel Computing. — 2021. — Т. 108. — С. 102829.
76. Cojean, T. Ginkgo—A math library designed for platform portability [Текст] / T. Cojean, Y.-H. M. Tsai, H. Anzt // Parallel Computing. — 2022. — Т. 111. — С. 102902.
77. Design, optimization, and benchmarking of dense linear algebra algorithms on AMD GPUs [Текст] / C. Brown [и др.] // 2020 IEEE High Performance Extreme Computing Conference (HPEC). — IEEE. 2020. — С. 1—7.
78. Shamoon, N. Simulation of Pulse Amplitude Modulation 4-Level (PAM-4) Over PCIe Gen 4.0 Protocol [Текст] : дис. ... канд. / Shamoon Noel. — California State Polytechnic University, Pomona, 2020.
79. Shantharama, P. Hardware-accelerated platforms and infrastructures for network functions: A survey of enabling technologies and research studies [Текст] / P. Shantharama, A. S. Thyagaturu, M. Reisslein // IEEE Access. — 2020. — Т. 8. — С. 132021—132085.
80. Accelerating reduction and scan using tensor core units [Текст] /
A. Dakkak [и др.] // Proceedings of the ACM International Conference on Supercomputing. — 2019. — С. 46—57.
81. Guide, D. Cuda c programming guide [Текст] / D. Guide // NVIDIA, July. — 2013. — Т. 29. — С. 31.
82. Ramadan, O. Unified matrix-exponential FDTD formulations for modeling electrically and magnetically dispersive materials [Текст] / O. Ramadan // Computer Physics Communications. — 2012. — Т. 183, № 5. — С. 1101—1106.
83. Viklund, L. Numerical approaches to solving the time-dependent Schrodinger equation with different potentials [Текст] / L. Viklund, L. Augustsson, J. Melander. — 2016.
84. Anthonisse, J. M. Exponential convergence of products of stochastic matrices [Текст] / J. M. Anthonisse, H. Tijms // Journal of Mathematical Analysis and Applications. — 1977. — Т. 59, № 2. — С. 360—364.
85. Efficient and accurate algorithms for computing matrix trigonometric functions [Текст] / P. Alonso [и др.] // Journal of Computational and Applied Mathematics. — 2017. — Т. 309. — С. 325—332.
86. Вакс, В. Г. Межатомные взаимодействия и связь в твердых телах [Текст] /
B. Г. Вакс. — ИздАТ, 2002.
Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.