|
Применение сеточно-операторного подхода для эффективной реализации явных разностных схем
М. М. Краснов, В. А. Балашов, Е. Б. Савенков Институт прикладной математики им. М.В. Келдыша РАН
Аннотация:
Настоящая работа посвящена описанию применения сеточного-операторного подхода к программированию, который позволяет, с одной стороны, кратко записывать математические формулы над сеточными функциями в текстах программ за
счёт использования программных сеточных операторов, аналогичных математическим операторам, а с другой стороны, легко, практически простой перекомпиляцией, переносить программы на графические ускорители CUDA.
Сеточно-операторный подход к программированию широко использует шаблоны
выражений (expression templates), основанные на метапрограммировании шаблонов
языка C++, для программной реализации сеточных операторов. Сеточные операторы могут быть применены к сеточным выражениям для создания новых сеточных
выражений. Такой подход позволяет рекурсивно строить сеточные выражения любой сложности. Фактически вычисления запускаются только при присваивании сеточного выражения сеточной функции, до этого цепочка вычислений просто запоминается в сеточном выражении. Таким образом, реализуется концепция отложенных вычислений.
В данной работе показывается, как данный подход может быть использован для
реализации достаточно сложного алгоритма, использующего сеточные функции на
разных элементах сетки (ячейках, вершинах, гранях). За счёт использования сеточных операторов программная реализация достаточно сложных формул становится
на столько же прозрачной, как соответствующие математические выражения.
Ключевые слова:
С++, программирование шаблонов, разностные схемы, операторная библиотека, вычисления на шаблонах.
Поступила в редакцию: 17.09.2020 Исправленный вариант: 17.09.2020 Принята в печать: 30.11.2020
Образец цитирования:
М. М. Краснов, В. А. Балашов, Е. Б. Савенков, “Применение сеточно-операторного подхода для эффективной реализации явных разностных схем”, Матем. моделирование, 33:2 (2021), 20–40; Math. Models Comput. Simul., 13:5 (2021), 831–843
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mm4259 https://www.mathnet.ru/rus/mm/v33/i2/p20
|
Статистика просмотров: |
Страница аннотации: | 279 | PDF полного текста: | 80 | Список литературы: | 64 | Первая страница: | 10 |
|