Abstract

The article presents a software implementation of a parallel efficient and fast computational algorithm for solving the Cauchy problem for a nonlinear differential equation of a fractional variable order. The computational algorithm is based on a non-local explicit finite-difference scheme, taking into account the approximation of the Gerasimov-Caputo fractional derivative VO included in the main differential equation. The algorithms for parallelization of the non-local explicit finite difference scheme were implemented as functions of the user library of the C programming language using the OpenMP technology. The OpenMP technology allows implementing parallel algorithms for working with the CPU computing node using its multithreading. The C language was chosen because of its versatility and lack of strict restrictions on memory handling. Further in the paper, the efficiency of the parallel algorithm is investigated. Efficiency is understood as the optimal ratio in coordinates: acceleration of calculations – the amount of RAM memory occupied, in comparison with the sequential version of the algorithm. The average computation time is analyzed in terms of: running time, acceleration, efficiency and cost of the algorithm. These algorithms were run on two different computing systems: a gaming laptop and a computing server. For a non-local explicit scheme, a significant performance increase of 3-5 times is shown for various methods of software implementation. В статье представлена программная реализация параллельного эффективного и быстрого вычислительного алгоритма решения задачи Коши для нелинейного дифференциального уравнения дробного переменного порядка. Вычислительный алгоритм основан на нелокальной явной конечно-разностной схеме с учетом аппроксимации дробной производной VO Герасимова-Капуто, входящей в основное дифференциальное уравнение. Алгоритмы распараллеливания нелокальной явной конечно-разностной схемы были реализованы в виде функций пользовательской библиотеки языка программирования C с использованием технологии OpenMP. Технология OpenMP позволяет реализовывать параллельные алгоритмы для работы с вычислительным узлом CPU, используя его многопоточность. Язык C выбран из-за его универсальности и отсутствия в нем строгих ограничений при работе с памятью. Далее в работе исследуется эффективность параллельного алгоритма. Под эффективностью понимается оптимальное соотношение в координатах: ускорение вычислений – объём занимаемой RAM памяти, по сравнению с последовательной версией алгоритма. Анализируется среднее время вычисления в терминах: время работы, ускорение, эффективность и стоимость алгоритма. Данные алгоритмы были запущены на двух различных вычислительных системах: игровом ноутбуке и вычислительном сервере. Для нелокальной явной схемы показан существенный прирост производительности в 3-5 раз при различных методах программной реализации.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call