Массивное распараллеливание методов решения систем дифференциальных уравнений с помощью технологии CUDA
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Введение
Развитие современной вычислительной техники связано с развитием параллельных компьютерных систем. Многоядерные процессоры, кластеры и суперкомпьютеры повышают производительность в основном за счет параллельного решения проблем. Однако параллелизм отличается: на системном уровне, где каждая исполняемая программа работает на физически отдельном процессорном ядре, и на уровне приложения, где сама программа использует возможности параллельного выполнения кода на разных процессорах. В то же время производительность исполняемых программ в параллельных системах во многом зависит от алгоритмов, используемых для решения проблемы в параллельном режиме. Одной из актуальных задач параллельных вычислений является разработка параллельных алгоритмов числового решения систем обычных дифференциальных уравнений (ОДУ). Однако большинство алгоритмов решения систем ODE являются последовательными. Поэтому наиболее распространенным вариантом параллелизма является параллельный расчет правой стороны системы [1; 5]. Этот тип параллелизма обычно называют параллелизмом в пространстве (параллелизмом в пространстве). Однако существует другой подход, реализующий параллелизм по пути решения системы. Траектория рассчитывается одновременно в нескольких точках. Этот параллелизм обычно называют параллелизмом времени. Данная работа предлагает параллельную реализацию метода последовательных подходов. В качестве параллельной платформы была выбрана архитектура NVIDIA CUDA, которая позволяет внедрять параллельные алгоритмы для вычислений на графических процессорах (GPU) и специальных процессорах NU1L.
Параллельная реализация численного метода на CUDA
При параллельных вычислениях многие вычисления выполняются одновременно в одной или в разных аппаратных средах. В этой главе мы сосредоточимся на реализации параллельной численной схемы над графическими процессорами NVIDIA. Параллельные вычисления п...
Открыть главуТеоретическая оценка показателей эффективности параллельной реализации
Вот теоретические оценки эффективности параллельной реализации алгоритма решения систем oda. В качестве последовательного алгоритма возьмем метод Эйлера, который имеет тот же порядок точности, что и предлагаемая реализация метода последовательного пр...
Открыть главуЧисленные эксперименты
Исследование численного алгоритма проводилось на нелинейной модели динамики числа двух взаимодействующих популяций (упрощенная модель Лотки-Вольтерра). Модель описывается системой двух обычных дифференциальных уравнений: dx1dt = ax1-bx1x2-ax12, dx1d...
Открыть главуЗаключение
В данной курсовой работе проведен анализ массивного распараллеливания методов решения систем дифференциальных уравнений с помощью CUDA. Рассмотрены такие вопросы, как метод последовательных приближений, численная схема метода последовательных приближений, параллельная реализация численного метода на CUDA, теоретическая оценка показателей эффективности параллельной реализации и проведены численные эксперименты. Эксперимент с параллельной реализацией метода последовательных приближений показал: 1) метод подходит для параллелизма на GPU; 2) точность реализации вышеуказанного метода низкая (глобальная ошибка линейно зависит от шага интеграции h); 3) площадь конвергенции метода уменьшается с увеличением параметра m; 4) увеличение параметра K расширяет диапазон конвергенции метода; 5) оптимальные значения параметров метода m = 8, K = 2, шаг h определяется на основе заданной точности E*; 6) достигнутое ускорение решения проблемы по сравнению с методом Эйлера в последовательном исполнении составило 15 раз. Дальнейшее развитие работы рассматривается в выборе интегрированной схемы более высокого порядка, тестировании метода на проблемы разного размера и построении оптимальной стратегии выбора параметров метода для оптимальной производительности.
Список литературы
1. Новиков Е. А., Каменщиков Л. П. / Реализация полуявного (4,2)-метода решения жестких систем на параллельной ЭВМ // Вычислительные технологии. 2015. Т. 9. Вестник КазНУ им. аль-Фараби. Сер. Математика, механика, информатика. № 3 (42). (Совм. выпуск. Ч. 1). С. 235241. 2. Хайрер Э., Нёрсетт С., Ваннер Г. / Решение обыкновенных дифференциальных уравнений. // Нежесткие задачи. М. : Мир, 2019. 3. Abbas S.H. / A large parallel block predictor-corrector method for initial value problems // Chaos, Solitons and Fractals. 2018. Vol. 38. № 1. P. 263-269. 4. Ackermann J., Baecher P., Franzel T., Goese-le M., Hamacher K. / Massively-Parallel Simulation of Biochemical Systems // Proceedings of Massively Parallel Computational Biology on GPUs, Lubeck, Germany, September 29, 2019. 5. Amodio P., Brugnano L. Parallel solution in time of ODEs: some achievements and perspectives // Applied Numerical Mathematics. 2019. Vol. 59, № 3-4. P. 424-435. 6. Gear C.W., Xuhai X. Parallelism across time in ODEs // Applied Numerical Mathematics. 2019. Vol. 11. № 1-3. P. 45-68. 7. Коробицын В. В. / Программная реализация метода последовательных приближений на CUDA // режим доступа URL: users.univer.omsk.su/~korobits/cuda_app.( дата обращения 15.11.2020)