RUS  ENG
Полная версия
ЖУРНАЛЫ // Прикладная математика и вопросы управления // Архив

Прикладная математика и вопросы управления, 2021, выпуск 4, страницы 23–41 (Mi pstu12)

Эта публикация цитируется в 2 статьях

Математическое моделирование и вычислительные методы

Решение задачи одномерной теплопроводности на графичеcких процессорах с использованием технологии CUDA

П.А. Сеченов, И.А. Рыбенко

Сибирский государственный индустриальный университет

Аннотация: Разработана и программно реализована математическая модель для решения задачи одномерной теплопроводности. Целью моделирования является сравнение быстродействия алгоритмов на центральном и графическом процессорах.

Задача распараллеливания является актуальной, так как еще в 2015 г. количество потоковых процессоров в самой мощной видеокарте составляло 2816, а в 2021 г. появились видеокарты с 10 496 потоковыми процессорами. Приложения, работающие на графических процессорах NVIDIA, демонстрируют большую производительность в расчете на доллар вложенных средств и на ватт потребленной энергии по сравнению с реализациями, построенными на базе одних лишь центральных процессоров. Это подтверждается большим спросом видеокарт у майнеров, что привело на данный момент к подорожанию видеокарт в 1,5–2,5 раза.

Представлены требования к аппаратной и программной составляющим, необходимые для начала моделирования. Реализовано три метода конечно-разностной аппроксимации: явный, неявный и Кранка – Николсона на центральном и графическом процессорах. В качестве языков программирования выбраны языки С (центральный процессор) и CUDA С (графический процес- сор). Для хорошо распараллеленной задачи, когда каждый поток выполняется отдельно и ему не нужны данные из других потоков, ускорение вычислений на видеокарте увеличилось до 60 раз (при этом использовалась видеокарта начального уровня).

Язык CUDA C возник относительно недавно – в 2006 г. и имеет ряд особенностей при реализации параллельного алгоритма. Для выбранных схем – явной, неявной, Кранка – Николсона – на каждой итерации необходимо обращение к соседним потокам и синхронизация потоков. Синхрони- зация потоков происходит таким образом, что все потоки на каждой итерации дожидаются самого медленного из них, поэтому решение задач с использованием конечно-разностной аппроксима- ции будет выполняться медленнее. Представлен фрагмент кода на графическом процессоре для реализации схемы Кранка – Николсона. При реализации схемы Кранка – Николсона требуется использование быстрой разделяемой памяти для обмена данными между потоками. Объем разделяемой памяти ограничен и сказывается на количестве ячеек в сетке.

Использование графических карт дало ощутимый прирост скорости выполнения даже на карте начального уровня с количеством потоковым процессоров 384. Приведен сравнительный анализ быстродействия вычислений при разных размерах сетки – от 1024 до 4000, а также при разном количестве объемов вычислений в одном потоке.

УДК: 004.032.24

Поступила в редакцию: 13.09.2021
Исправленный вариант: 15.11.2021
Принята в печать: 15.11.2021

DOI: 10.15593/2499-9873/2021.4.02



Реферативные базы данных:


© МИАН, 2026