Научная статья на тему 'ЭФФЕКТИВНОСТЬ ИСПОЛЬЗОВАНИЯ СОПРОЦЕССОРОВ NVIDIA ДЛЯ МОДЕЛИРОВАНИЯ ПОВЕДЕНИЯ НОСИТЕЛЕЙ ЗАРЯДА В ГРАФЕНЕ'

ЭФФЕКТИВНОСТЬ ИСПОЛЬЗОВАНИЯ СОПРОЦЕССОРОВ NVIDIA ДЛЯ МОДЕЛИРОВАНИЯ ПОВЕДЕНИЯ НОСИТЕЛЕЙ ЗАРЯДА В ГРАФЕНЕ Текст научной статьи по специальности «Математика»

CC BY
69
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ / ГИБРИДНЫЕ АРХИТЕКТУРЫ / ГРАФЕН / КВАНТОВОЕ КИНЕТИЧЕСКОЕ УРАВНЕНИЕ

Аннотация научной статьи по математике, автор научной работы — Маханьков Алексей Владимирович, Кузнецов Максим Олегович, Панферов Анатолий Дмитриевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Маханьков Алексей Владимирович, Кузнецов Максим Олегович, Панферов Анатолий Дмитриевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

EFFICIENCY OF USING NVIDIA COPROCESSORS IN MODELING THE BEHAVIOR OF CHARGE CARRIERS IN GRAPHENE

Specialized hardware solutions play an important role in the development of supercomputer technologies. Currently, most computing systems of maximum performance use mathematical coprocessors of various types. So the development of applied software solutions designed to realize the potential of modern computing platforms requires ensuring the efficient use of hardware accelerators. The course of work on a software system for simulating the behavior of charge carriers in graphene needs to solve the problem of supporting such accelerators and to investigate the efficiency of the solution obtained. The current situation and the prospects for the next few years suggest the NVIDIA accelerators and CUDA software technology, but the hardware architecture of NVIDIA accelerators is fundamentally different from the CPU architecture, and therefore the mathematical libraries adapted for CUDA do not support the entire range of algorithms used in the original version of the program. The paper presents the features of an implementation of CUDA support and the results of comparative testing of the obtained solution using the example of a problem with realistic characteristics. (In Russian).

Текст научной работы на тему «ЭФФЕКТИВНОСТЬ ИСПОЛЬЗОВАНИЯ СОПРОЦЕССОРОВ NVIDIA ДЛЯ МОДЕЛИРОВАНИЯ ПОВЕДЕНИЯ НОСИТЕЛЕЙ ЗАРЯДА В ГРАФЕНЕ»

ББК 32.972+22.379 ГРНТИ 50.07.07 УДК 519.68

А. В. Маханьков, М. О. Кузнецов, А. Д. Панферов

Эффективность использования сопроцессоров NVIDIA для моделирования поведения носителей заряда в графене

Аннотация. В развитии суперкомпьютерных технологий важную роль играют специализированные аппаратные решения. В настоящее время большинство вычислительных систем максимальной производительности используют математические сопроцессоры различных типов. По этой причине при разработке прикладных программных решений, рассчитанных на реализацию потенциала современных вычислительных платформ, необходимо обеспечить эффективное использование аппаратных ускорителей. В ходе работы над программной системой для моделирования поведения носителей заряда в графене необходимо было решить задачу поддержки ею таких ускорителей и исследовать эффективность полученного решения. С учётом текущей ситуации и перспективы ближайших лет выбор был сделан в пользу ускорителей NVIDIA и программной технологии CUDA. В силу того, что аппаратная архитектура ускорителей NVIDIA имеет принципиальные отличия от архитектуры CPU, а адаптированные для CUDA математические библиотеки не поддерживают весь спектр алгоритмов, использовавшихся в исходной версии программы, потребовалось найти новые решения и оценить их эффективность. В работе представлены особенности реализации поддержки CUDA и результаты сравнительного тестирования полученного решения на примере задачи с реалистическими характеристиками.

Ключевые слова и фразы: высокопроизводительные вычисления, гибридные архитектуры,

CUDA, графен, квантовое кинетическое уравнение.

Введение

Наращивание аппаратного параллелизма являлось и является одним из ключевых инструментов достижения максимально высокой производительности вычислительных систем. С исчерпанием возможности дальнейшего повышения тактовых частот универсальных

Работа выполнена при финансовой поддержке РФФИ в рамках проекта № 18-07-00778.

© А. В. Млхлньков, М. О. Кузнецов, А. Д. Панферов, 2021 © Саратовский университет, 2021

© Программные системы: теория и приложения (дизайн), 2021

Г» 10.25209/2079-3316-2021-12-1-115-128^^^^^^^^^^^^^^^^^^^! Нк-Щ

процессоров (CPU), их развитие пошло по пути увеличения количества ядер. Но увеличение числа аппаратных ядер CPU со сложной архитектурой относительно дорого и тоже приближается к естественному пределу, определяемому достижимыми параметрами литографии.

Существует достаточно много вычислительно сложных задач, потенциал параллелизма которых превосходит возможности параллельных систем, построенных на CPU. При этом архитектурные возможности ядер современных CPU избыточны для программ с доминированием однотипных математических операций. По этой причине эффективным оказалось использование специализированных математических ускорителей (сопроцессоров), в которых приоритет отдаётся количеству доступных для использования ядер с упрощённой архитектурой. Вычислительные системы, в которых в дополнение к CPU установлены специализированные ускорители, принято называть гибридными. В настоящее время наиболее распространены ускорители компании NVIDIA. В списке 500 наиболее производительных компьютеров (Top-500) по состоянию на июнь 2019 года суммарная производительность гибридных систем с ускорителями от NVIDIA различных моделей достигла 35% суммарной производительности всех вычислительных систем, вошедших в этот список. Но ситуация динамично развивается, имеется ряд альтернативных решений (от Intel, PEZY, китайские специализированные сопроцессоры Matrix-2000 и Deep Computing Processor), появляются новые продукты (линейка ускорителей INSTINCT от AMD). Адаптация программных решений для использования возможностей математических ускорителей не является тривиальной задачей в силу их архитектурных отличий от универсальных процессоров. И эти адаптации уникальны для каждого типа ускорителей.

Поэтому при решении задачи обеспечения возможности использования программного комплекса моделирования поведения носителей заряда в графене на гибридных системах первой была проблема выбора типа ускорителя. Представленный в работе [1] анализ тенденций развития гибридных архитектур позволяет сделать однозначный вывод, что в настоящее время наиболее перспективен выбор аппаратных решений NVIDIA. Представленный в работе опыт будет полезен и при решении других аналогичных задач.

В разделе 1 дано краткое описание математической модели, используемой в программном комплексе, и особенностей её использования на параллельных вычислительных системах. В разделе 2 описана

процедура параллельной реализации решения неоднородной системы обыкновенных дифференциальных уравнений (СОДУ) с переменными коэффициентами с использованием интерфейса программирования приложений для ускорителей NVIDIA (CUDA). В разделе 3 приводятся результаты сравнительных тестов системы моделирования на вычислительных узлах обычной и гибридной архитектуры.

1. Кинетическая модель поведения графена во внешнем электрическом поле

Рассматриваемый программный комплекс разрабатывается для моделирования поведения графена во внешнем электрическом поле с использованием физической модели, построенной на основе квантового кинетического уравнения (КУ) [2,3]. Модель определяет зависимость от времени t в заданной точке импульсного пространства p функции распределения f (p, t) носителей заряда в этом материале (электронов и "дырок"). Зная f (p, t), можно вычислять наблюдаемые макроскопические параметры образцов или устройств.

Особенностью модели является точный учёт влияния на квантовую систему внешнего классического электрического поля EE(t) = — 1 A(t), определяемого через векторный потенциал A(t) (здесь c - скорость света). Сила, действующая на носители со стороны электрического поля, определяется их зарядом е. Абсолютная величина этого заряда у всех носителей одинакова и совпадает со значением элементарного электрического заряда. Знак заряда электронов отрицательный, а "дырок" - положительный. Но результат этого действия существенно отличается от того, что имеет место в случае обычных свободных частиц. Свойства носителей зарядов обоих знаков представляют из себя результат сложного и сильного взаимодействия с атомами решётки. Поэтому их обычно называют "квазичастицами" а поведение в электрическом поле определяют через зависимость энергии е от импульса (закон дисперсии) вида

(1) e(p,t)= vF V(Pi)2 + (P2)2,

где vF = 1.0 x 108 см/с - скорость Ферми, Pk = pk — (e/c)Ak(t). Поскольку графен является двумерной системой, векторные величины имеют только две компоненты.

Для целей численного анализа КУ удобно использовать в форме

СОДУ из трёх обыкновенных дифференциальных уравнений [4]:

1 . 2'

(2) f(p,t) = 1 \(p,t)u(p,t),

й(р>,г) = \(р,г)(1 - 2/(р,1)) - ь(р>,г),

где коэффициент \(р,1), определяющий скорость изменения функции распределения, имеет вид:

вь2р [Е1Р2 - Е2Р1]

(3) Л (p,t)

e2(p,t)

При моделировании обычно полагают, что до некоторого начального момента времени to внешнего электрического поля нет и система пребывает в начальном (вакуумном состоянии), в котором квазичастицы отсутствуют. Это позволяет определить начальные условия для задачи Коши в виде f (to) = u(t0) = v(t0) = 0. Воспроизводя f (p,t), u(p,t) и v(p,t) для некоторого интервала времени to < t < tend в области импульсного пространства (p) с границами, определяемыми в рамках используемой физической модели (первая зона Бриллюэна), можно максимально подробно описать все особенности поведения рассматриваемой системы. Например, зависимость от времени наблюдаемой поверхностной плотности квазичастиц - носителей заряда определяется интегралом:

(4) n(t) = уПу J f (p, t)dpidp2.

Функции u(p,t) и v(p,t) носят вспомогательный характер и описывают особенности эволюции поляризационных эффектов и энергии системы соответственно^].

Вычисление интегралов вида (4), как, собственно, и решение системы уравнений (2), возможно только численно. Для этого область определения f (p,t) в импульсном пространстве покрывается расчетной сеткой, для каждого узла которой система уравнений (2) решается независимо. Например, в случае структурированной прямоугольной сетки из N х M узлов необходимо решить систему (2) для каждой пары значений {pin,p2m} где 1 < n < N, 1 < m < M. Для получения точных результатов необходимо использовать плотные сетки с большим

количеством узлов. Это обстоятельство определяет высокую вычислительную сложность представляемой задачи. Распараллеливание удобно выполнять путём распределения узлов сетки между вычислительными узлами. В приведённом примере структурированной прямоугольной сетки можно одновременно использовать до N х M вычислительных узлов, что обеспечиваем отличное масштабирование при наличии соответствующих аппаратных ресурсов.

2. Параллельная реализация решения системы ОДУ

в двумерном пространстве параметров с использованием CUDA

При моделировании поведения носителей заряда в условиях действия внешнего электрического поля с реалистичными параметрами (длительностью воздействия, напряженностью поля, характером его зависимости от времени) количество узлов N х M покрывающей сетки при самых грубых оценках составляет не менее 104. Для получения точных результатов их количество необходимо увеличить не менее чем на два порядка.

Пусть P — количество вычислительных ядер, имеющихся в нашем распоряжении. В современных массово параллельных системах это количество вычислительных ядер CPU и/или ядер GPU в случае гибридных систем. Поскольку доступные вычислительные ресурсы всегда имеют объективные ограничения, далее будем полагать что P < N х M. В этом случае возможности имеющихся вычислительных ядер можно эффективно использовать для одновременного решения P систем уравнений с различными значениями пар параметров. Такой способ распараллеливания был реализован для систем на универсальных процессорах средствами MPI с использованием решателей библиотеки GSL. Результаты решения тестовых задач и исследования зависимости времени их решения от выбора метода интегрирования ОДУ (из реализаций, имеющихся в библиотеке) были представлены в работе [5].

Прямая адаптация этого кода для использования на ускорителях NVIDIA невозможна в силу того, что библиотеки GSL скомпилированы для процессоров архитектуры x86. Было необходимо или разработать собственную реализацию какого либо достаточно эффективного метода интегрирования СОДУ, или искать другое готовое решение, которое можно было бы скомпилировать для запуска на GPU. В качестве примера первого подхода рассматривались результаты работы [6]. В поисках оптимального решения был проанализирован опыт решения

аналогичной проблемы в работах [7, 8]. С учётом необходимости обеспечения контроля ошибок, автоматического выбора шага интегрирования и реализации других сервисных функций было решено воспользоваться вторым подходом в варианте, представленном в работе [8]. В ней рассматривается пример задачи параллельного решения СОДУ с различными значениями одного из коэффициентов. В качестве СОДУ выбрана классическая система уравнений Эдварда Лоренца [9], предложенная им для моделирования конвекции в атмосфере. Это нелинейная система из трёх ОДУ с тремя постоянными коэффициентами. Как и в случае (2) её решения имеют сильную зависимость от выбора конкретных значений коэффициентов. Целью являлось исследование зависимости поведения решений при изменении одного из коэффициентов. В представленном в работе коде используются библиотечные решатели Odeint из библиотеки Boost C+—+ с привлечением функциональности библиотеки шаблонов Thrust. Последняя является элементом экосистемы CUDA и обеспечивает удобное оперирование данными в векторном формате при обменах между центральным процессором и сопроцессором NVIDIA. Библиотекой Thrust также предоставляется параллельная реализация некоторых часто используемых алгоритмов: сортировки, редукции и некоторых других.

Непосредственное использование решений из [8] для системы кинетических уравнений (2) оказалось невозможным по ряду причин. Принципиальное отличие (2) от системы уравнений Лоренца в том, что выражаемые через (1), (3) и физические константы коэффициенты правой части не постоянны. Их необходимо вычислять на каждом шаге алгоритма и при этом обеспечить доступ соответствующих функций к корректным значениям текущего времени. Другой особенностью системы уравнений (2) является присутствие в определении переменных коэффициентов и напряжённости электрического поля E(t), и соответствующего ему векторного потенциала A(t). Хотя между этими векторами имеется простая связь E(t) = —1 Al(t), далеко не для произвольного вида зависимости E(t) можно написать соответствующее аналитическое выражение -A(t). Чтобы не отказываться от возможности использовать модель при произвольных зависимостях напряжённости электрического поля от времени, удобно дополнить систему уравнений (2) ещё двумя уравнениями, определяющими каждую из компонент векторного потенциала A(t) через соответствующие компоненты напряжённости электрического поля E(t). Это позволяет использовать произвольную функциональную зависимость для E(t) и, задавая

начальное значение A(to), получать текущие значения компонент векторного потенциала из этих двух дополнительных уравнений. Увеличение количества уравнений и изменяемых параметров, которыми необходимо манипулировать, вступает в противоречие с ограничением на количество элементов (до десяти) шаблона класса кортежей (tuple), поддерживаемых в Thrust. Для решения этой проблемы были использованы конструкции из вложенных кортежей.

3. Результаты тестирования

Для тестирования разработанного программного решения было выполнено моделирование поведения носителей заряда в условиях, воспроизводящих параметры эксперимента [10]. В данной работе исследовалось воздействие на слой графена очень короткого импульса с частотой 2 ТГц. Характер зависимости напряжённости электрического поля от времени показан на рисунке 1. Вся временная шкала рисунка соответствует 1.8 х 10-12 с., а пиковое значение напряжённости поля достигает 3 х 104 В/см.

t [c]

Рисунок 1. Форма зависимости напряжённости электрического поля от времени в тестовом примере

Для тестирования использовались реализации явных методов Рунге-Кутты Dormand-Prince (RKDP) и Cash-Karp (RKCK) из Odeint библиотеки Boost C+—К Вычисления проводились на ускорителе

Tesla K20m. Результаты моделирования и время выполнения для идентичных задач сравнивались с полученными с использованием системы компьютерной алгебры Wolfram Mathematica (функция NDsolve с автоматическим выбором решателя). В последнем случае аппаратная платформа имела четырёхядерный процессор Intel(R) Core(TM) i7-6700 CPU @ 3.40 GHz RAM 16.0 Gb и операционную систему Windows 8.1.

В таблице 1 представлено время выполнения одинакового тестового задания. Оно предусматривало вычисление конечного состояния функции распределения носителей в заданной области импульсного пространства (pi,p2) на квадратной сетке размером 202 х 202 с использованием автоматического выбора шага по времени. В верхней строке указаны задававшиеся параметры погрешности AccuracyGoal и PrecisionGoal (абсолютная и относительная погрешности). Можно сделать вывод, что использование ускорителей NVIDIA для решения рассматриваемой задачи возможно и эффективно. Лучшие результаты по быстродействию обеспечиваются при использовании метода RKCK. В этом случае при минимальных требованиях к точности вычислений (AccuracyGoal = 10-4, PrecisionGoal = 10-4) задача решается на ускорителе в 20 раз быстрее, чем на четырёхядерном CPU. При увеличении требований к точности решения это преимущество уменьшается и при AccuracyGoal = 10-14, PrecisionGoal = 10-14 составляет только 2.5.

Таблица 1. Сравнение времени (c), затраченного на решение задачи, в зависимости от выбранного метода, платформы и параметров точности решения

AccuracyGoal PrecisionGoal 10-4 10-4 10-6 10-6 10-8 10-8 10-10 10-10 10-12 10-12 10-14 10-14

Dormand-Prince Tesla K20m 17.43 24.34 39.81 78.74 176.9 420.93

Cash-Karp Tesla K20m 10.68 22.39 35.69 67.18 143.83 333.17

Wolfram Mathematica i7 216.48 325.45 350.69 365.31 515.96 828.67

Для демонстрации масштабируемости решения были выполнены нагрузочные тесты для того же набора физических параметров, но на расчётных сетках большей плотности. Нагрузочные тесты выполнялись с использованием интегрирующей функции типа integrate_adaptive и метода RKCK без явного задания требований к погрешности вычислений (в этом случае контроль точности реализуется с использованием стандартных значений AccuracyGoal = 10-6, PrecisionGoal = 10-6). Результаты представлены на рисунке 2. Приведено условное время,

2х10"3 2х10"3 2х 10-3 1х10-3 1х10-3 - 1х10-3 8х 10-4 6х 10-4 4х 10-4 2х 10-4

Рисунок 2. Условное время, необходимое для получения результата для одной точки в зависимости от полного размера сетки N

затрачиваемое на получение результатов для одной точки. Оно определялось как отношение времени решения задачи к полному числу точек сетки. Диапазон размеров сеток охватывает значения от 202 х 202 (использовались при составлении таблицы 1) до 2002 х 2002 что соответствует увеличению вычислительной сложности задачи на два порядка. Время решения задачи при этом росло от 22.33 с до 6952.1 с. С ростом размеров сетки условное время, затрачиваемое на каждую точку, увеличивалось. Особенно заметный рост наблюдается для сеток с числом узлов от 1.0 х 106 и более. Для сетки с максимальным размером затраты времени на каждый обсчитываемый узел выросли в 3.17 раза. С учётом того, что использовался только один ускоритель,

такой результат можно считать вполне удовлетворительным. В нерснек-тиве представляется интересным выполнить аналогичные тесты при возможности масштабирования аппаратных ресурсов.

Заключение

Современные тенденции развития сунеркомньютерной отрасли требуют адаптации прикладных решений к новым гетерогенным архитектурам, лидерство среди которых в настоящее время принадлежит NVIDIA CUDA. Как и любое другое аппаратно-программное решение, эта вычислительная платформа имеет свои плюсы и минусы. Но в общем случае возможность переноса на неё без существенной переработки решений, реализованных для параллельных CPU систем, не очевидна, а эффективность полученных реализаций нуждается в экспериментальном подтверждении.

В работе продемонстрированы результаты реализации на этой платформе приложения для моделирования поведения носителей заряда в графене при действии внешнего электрического поля. Адаптированное приложение позволяет эффективно использовать современные (и перспективные) системы, вычислительная мощность которых обеспечивается ускорителями NVIDIA. Представленные результаты показывают преимущества использования ускорителей, возможность оптимизации затрат времени за счёт выбора приемлемой точности моделирования процесса. Приложение корректно реагирует на увеличение вычислительной сложности задачи при уплотнении вычислительной сетки.

Список литературы

[1] С. М. Абрамов. «Июнь 2019: анализ развития суперкомпьютерной отрасли в России и в мире», Программные системы: теория и приложения, 10:3(42) (2019), с. 3-40. .url 116

[2] S. A. Smolyansky, D. V. Churochkin, V. V. Dmitriev, A. D. Panferov, B. Kaämpfer. "Residual currents generated from vacuum by an electric field pulse in 2+1 dimensional QED models", EP.J Web Conf., 138 (2017), 06004, 5 pp. d tur

[3] S. A. Smolyansky, A. D. Panferov, D. B. Blaschke, N. T. Gevorgyan. "Nonperturbative kinetic description of electron-hole excitations in graphene in a time dependent electric field of arbitrary polarization", Particles, 2:2 (2019), pp. 208-230. 117 118

[4] D. В. Blaschke, А. V. Prozorkevich, G. Röpke, С. D. Roberts, S. М. Schmidt, D. S. Shkirmanov, S. A. Smolyansky, Eur. Phys. J. D, 55 (2009), 341. ^118

[5] С. А. Левенец, Т. Т. Верёвин, А. В. Маханьков, А. Д. Панферов, С. О. Пирогов. «Моделирование динамики безмассовых носителей заряда в двумерной системе», Изв. Сарат. ун-та. Нов. сер. Сер. Математика. Механика. Информатика, 20:1 (2020), с. 127-137. 119

[6] K. E. Niemeyer, C.-J. Sung. "GPU-Based parallel integration of large numbers of independent ODE systems", Numerical Computations with GPUs, ed. V. Kindratenko, Springer, Cham, 2014, ISBN 978-3-319-06548-9, pp. 159-182.

[7] C. Fischer. "Massive parallel implimentation of ODE solvers", Programs and Algorithms of Numerical Mathematics, vol. 16, Institute of Mathematics AS CR, Frague, 2013, pp. 75-80. (url 120

[8] K. Ahnert, D. Demidov, M. Milansky. "Solving ordinary differential equations on GPUs", Numerical Computations with GPUs, ed. V. Kindratenko, Springer, Cham, 2014, ISBN 978-3-319-06548-9, pp. 125-157. 120

[9] E. N. Lorenz. "Deterministic nonperiodic flow", Journal of the Atmospheric Sciences, 20:2 (1963), pp. 130-141. 120

[10] P. Bowlan, E. Martinez-Moreno, K. Reimann, T. Elsaesser, M. Woerner. "Ultrafast terahertz response of multilayer graphene in the nonperturbative regime", Phys. Rev. B, 89 (2014), 041408. 121

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

Переработана 05.02.2021

Опубликована 23.03.2021

Рекомендовал к публикации д.т.н. А. М. Цирлин

Пример ссылки на эту публикацию:

А. В. Маханьков, М. О. Кузнецов, А. Д. Панферов. «Эффективность использования сопроцессоров NVIDIA для моделирования поведения носителей заряда в графене». Программные системы: теория и приложения, 2021, 12:1(48), с. 115-128. 10.25209/2079-3316-2021-12-1-115-128

url; http : //psta.psiras . ru/read/psta2021_l_115- 128 .pdf

Об авторах:

Алексей Владимирович Маханьков

Аспирант Саратовского государственного университета им. Н.Г. Чернышевского. Научные интересы: моделирование физических процессов на высокопроизводительных вычислительных системах, параллельное программирование.

МИ 0000-0002-9848-9734

e-mail: [email protected]

Максим Олегович Кузнецов

Магистрант Саратовского государственного университета им. Н.Г. Чернышевского. Научные интересы: Высокопроизводительные вычисления, анализ и обработка данных, математическое моделирование.

МИ 0000-0001-9142-3436 e-mail: [email protected]

Анатолий Дмитриевич Панферов К.ф.-м.н., зам. начальника ПРЦНИТ Саратовского государственного университета им. Н.Г. Чернышевского по научно-производственной деятельности. Научные интересы: высокопроизводительные вычисления, параллельное программирование, численное решение квантовых кинетических уравнений, моделирование процессов вакуумного рождение частиц в КЭД, генерации носителей в полупроводниках в том числе бесщелевых, процессов на ранних стадиях столкновения релятивистских ядер.

МИ 0000-0003-2332-0982 e-mail: [email protected]

CSCSTI 50.07.07 UDC 519.68

Alexey V. Makhankov, Maksim O. Kuznetsov, Anatolii D. Panferov. Efficiency of using NVIDIA coprocessors in modeling the behavior of charge carriers in graphene.

Abstract. Specialized hardware solutions play an important role in the development of supercomputer technologies. Currently, most computing systems of maximum performance use mathematical coprocessors of various types. So the development of applied software solutions designed to realize the potential of modern computing platforms requires ensuring the efficient use of hardware accelerators. The course of work on a software system for simulating the behavior of charge carriers in graphene needs to solve the problem of supporting such accelerators and to investigate the efficiency of the solution obtained. The current situation and the prospects for the next few years suggest the NVIDIA accelerators and CUDA software technology, but the hardware architecture of NVIDIA accelerators is fundamentally different from the CPU architecture, and therefore the mathematical libraries adapted for CUDA do not support the entire range of algorithms used in the original version of the program. The paper presents the features of an implementation of CUDA support and the results of comparative testing of the obtained solution using the example of a problem with realistic characteristics. (In Russian).

Key words and phrases: high performance computing, hybrid architectures, CUDA, graphene, quantum kinetic equation.

2020 Mathematics Subject Classification: 81T80; 97R30, 81V10

Supported by RFBR according to the research project 18-07-00778.

© A. V. Makhankov, M. O. Kuznetsov, A. D. Panferov, 2021 © Saratov State University, 2021

© Program Systems: Theory and Applications (design), 2021

DO 10.25209/2079-3316-2021-12-1-115-128^^^^^^^^^^^^^^^^^^^! lY&Jj1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

References

[1] S. M. Abramov. "Analysis of the development of the supercomputer industry in Russia and worldwide", Program Systems: Theory and Applications, 10:3(42) (2019), pp. 3-40 (in Russian), .url 116

[2] S. A. Smolyansky, D. V. Churochkin, V. V. Dmitriev, A. D. Panferov, B. Kämpfer. "Residual currents generated from vacuum by an electric field pulse in 2+1 dimensional QED models", EP.J Web Gonf., 138 (2017), 06004, 5 pp. d 117

[3] S. A. Smolyansky, A. D. Panferov, D. B. Blaschke, N. T. Gevorgyan. "Nonperturbative kinetic description of electron-hole excitations in graphene in a time dependent electric field of arbitrary polarization", Particles, 2:2 (2019), pp. 208—230.

tl17,118

[4] D. B. Blaschke, A. V. Prozorkevich, G. Röpke, C. D. Roberts, S. M. Schmidt, D. S. Shkirmanov, S. A. Smolyansky, Eur. Phys. J. D, 55 (2009), 341. i f118

[5] S. A. Levenets, T. T. Verevin, A. V. Makhankov, A. D. Panferov, S. O. Pirogov. "Modeling the dynamics of massless charge carries is two-dimensional system", Izv. Saratov Univ. (N.S.), Ser. Math. Mech. Inform., 20:1 (2020), pp. 127-137 (in Russian). 119

[6] K. E. Niemeyer, C.-J. Sung. "GPU-Based parallel integration of large numbers of independent ODE systems", Numerical Computations with GPUs, ed. V. Kindratenko, Springer, Cham, 2014, ISBN 978-3-319-06548-9, pp. 159-182. d 119

[7] C. Fischer. "Massive parallel implimentation of ODE solvers", Programs and Algorithms of Numerical Mathematics, vol. 16, Institute of Mathematics AS CR, Prague, 2013, pp. 75-80. url 120

[8] K. Ahnert, D. Demidov, M. Milansky. "Solving ordinary differential equations on GPUs", Numerical Computations with GPUs, ed. V. Kindratenko, Springer, Cham, 2014, ISBN 978-3-319-06548-9, pp. 125-157. d f120

[9] E. N. Lorenz. "Deterministic nonperiodic flow", Journal of the Atmospheric Sciences, 20:2 (1963), pp. 130-141. I f120

[10] P. Bowlan, E. Martinez-Moreno, K. Reimann, T. Elsaesser, M. Woerner. "Ultrafast terahertz response of multilayer graphene in the nonperturbative regime", Phys. Rev. B, 89 (2014), 041408. ' 121

Sample citation of this publication:

Alexey V. Makhankov, Maksim O. Kuznetsov, Anatolii D. Panferov. "Efficiency of using NVIDIA coprocessors in modeling the behavior of charge carriers in graphene". Program. Systems: Theory and Applications, 2021, 12:1(48), pp. 115—128. (In Russian).

10.25209/2079-3316-2021-12-1-115-128 url http : //psta. psiras . ru/read/psta2021_ 1_ 115 - 128 .pdf

i Надоели баннеры? Вы всегда можете отключить рекламу.