Preview

Вестник Дагестанского государственного технического университета. Технические науки

Расширенный поиск

Построение параллельных одномерных интерполяторов на С++

https://doi.org/10.21822/2073-6185-2023-50-4-37-50

Аннотация

Цель. Целью работы является исследование и разработка интерполяторов на языке программирования C++, включая линейный, квадратичный и кубический интерполяторы, а также одномерный RBF-интерполятор. Основными задачами являются использование библиотеки GSL, интерполяционного многочлена Лагранжа, OpenMP, и сравнительный анализ с библиотекой SciPy. Эксперименты направлены на оценку эффективности и применимости различных методов интерполяции. Методы. Используются библиотеки GSL и Eigen для реализации интерполяторов и оптимизации вычислительных процессов. Для сравнения производительности применяются линейный, квадратичный и кубический интерполяторы, а также разрабатывается одномерный RBF-интерполятор. Метод интерполяции Лагранжа и параллельные вычисления с использованием OpenMP и SIMD-инструкций также используются для повышения эффективности. Результат. Результаты исследования включают в себя успешную разработку и реализацию различных методов интерполяции на языке C++. Особое внимание уделяется анализу производительности и точности каждого метода. Путем сравнительного анализа с библиотекой SciPy выявлены преимущества и недостатки различных интерполяторов. Основной результат - практическая применимость этих методов в контексте конкретных задач интерполяции. Вывод. Реализация интерполяторов на языке C++ обладает некоторыми значительными преимуществами по сравнению с использованием библиотеки SciPy. C++ позволяет более точное и быстрое управление вычислениями, что особенно важно в задачах, связанных с численными методами интерполяции. Библиотеки GSL и Eigen предоставляют мощные инструменты для оптимизации и высокопроизводительных вычислений, что позволяет добиваться высокой эффективности при реализации интерполяции на C++.

Об авторах

Ф. В. Абилова
Дагестанский государственный технический университет
Россия

Абилова Фарида Владимировна - кандидат физико-математических наук, доцент, заведующая кафедрой высшей математики.

367026, Махачкала, пр. И. Шамиля, 70



М. В. Абилов
Дагестанский государственный технический университет
Россия

Абилов Марат Владимирович - кандидат физико-математических наук, старший преподаватель кафедры высшей математики.

367026, Махачкала, пр. И. Шамиля, 70



Э. В. Селимханов
ООО «РН-БашНИПИНефть»
Россия

Селимханов Эмирхан Валерьевич - ведущий специалист отдела разработки геологических проектов Управления развития информационных технологий.

450006, Уфа, ул. Ленина, д. 86/1



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

1. Stroustrup B. The C++ Programming Language, 4th Edition. Addison-Wesley. - 2013 – 1361 с.

2. Половко А.М., Бутусов П.Н. Интерполяция. Методы и компьютерные технологии их реализации. - СПб.: БХВ-Петербург, 2004 – 314 с.

3. Hardy R.L. Multiquadric equations of topography and other irregular surfaces. Journal of Geophysical Research. 76 (8): pp 1905–1915.

4. Galassi. M. GNU Scientific Library: Reference Manual, 3rd Edition. - Network Theory, 2009 – 573 с.

5. Антонов А.С. Параллельное программирование с использованием технологии OpenMP .— Москва: МГУ, 2009 .— 728 с.

6. Нуньес-Иглесиас X., Уолт Ш., Дэншоу Х. Элегантный SciPy. - М.: ДМК Пресс, 2018. - 266с.

7. Документация библиотеки Eigen [дата обращения 29.08.2023]. Доступ по ссылке: https://eigen.tuxfamily.org

8. Paul C., Kenneth R. SIMD Programming Manual for Linux and Windows. - Springer, 2004 - 351с.

9. Лутц М. Изучаем Python, - Вильямс, 2019 - 832с.

10. Соснин В., Балакшин П., Шилко Д., Пушкарев, Д., Мишенёв А., Кустарев П., Тропченко А. Введение в параллельные вычисления. - Санкт-Петербург, ИТМО, 2023 - 130с.

11. Ермолицкий А.В., Нейман-заде М.И. Методы повышения эффективности автоматической векторизации вычислений. Доклады пятой международной конференции «Параллельные вычисления и задачи управления». - Москва. 2010 - c. 957-972.

12. Калачев А. Многоядерные процессоры. Учебное пособие. - Просвещение, 2014 - 247с.

13. Джосаттис Н. Стандартная библиотека С++, 2-е изд. : Пер с англ. – М. :OOO “И.Д. Вильямс”, 2014. – 1136 с.

14. Мейерс С. Эффективный и современный С++. Пер. С англ. М. : ООО “И.Д. Вильямс”, 2016. – 304 с.

15. Vandevoorde D., Josuttis N, Gregor D. C++ Templates. The Complete Guide, 2nd Edition. Addison-Wesley, 2018. – 849 c.

16. Josuttis N. C++20 – The Complete Guide. The LeanPub, 2022 – 762 с.

17. Уильямс Э. С++. Практика многопоточного программирования. – СПб.: Питер, 2020. – 640 с.

18. Пышкин Е.В. Структуры данных и алгоритмы: реализация на С++. СПб.:ФТК СПБГПУ, 2009. 200 с.

19. Majdisova Z. Interpolation and Approximation Methods for Large Geometric Datasets. - University of West Bohemia, 2016 – pp 18 – 24.

20. Авхадиев Ф.Г. Численные методы алгебры и анализа. Учебное пособие. Казань: Издательство Казанского университета, 2019. – 200 с.

21. Банников А.С., Ким И.Г., Латыпова Н.В. Численные методы. Учебное пособие. Ч 1. – 2-е изд., испр. и доп. – Ижевск: Издательский центр «Удмуртский университет», 2018. – 80 с.

22. Колмогоров А.Н., Фомин С.В. Элементы теории функций и функционального анализа. Главная редакция физико-математической литературы изд-ва «Наука», М., 1975. – 575 с.

23. Gentle J.E. «Random Number Generation and Monte Carlo Methods», 2nd Edition. Springer, 2003. 399 p.

24. Документация библиотеки NumPy [дата обращения 1.09.2023]. Доступ по ссылке: https://numpy.org/doc/stable/

25. Zhang N., Canini K., Silva S., Gupta M. Fast Linear Interpolation. ACM Journal on Emerging Technologies in Computer Systems, Volume 17, Article No.: 20, 2021, pp 1-15 .

26. Li C., Zhao R. Implementation of RBF Mesh Deformation with Topology Refinement in OpenFOAM. Proceedings of the 2020 4th International Conference on High Performance Compilation, Computing and Communications. 2020, pp 79-93.


Рецензия

Для цитирования:


Абилова Ф.В., Абилов М.В., Селимханов Э.В. Построение параллельных одномерных интерполяторов на С++. Вестник Дагестанского государственного технического университета. Технические науки. 2023;50(4):37-50. https://doi.org/10.21822/2073-6185-2023-50-4-37-50

For citation:


Abilova F.V., Abilov M.V., Selimkhanov E.V. Construction of parallel one-dimensional interpolators in C++. Herald of Dagestan State Technical University. Technical Sciences. 2023;50(4):37-50. (In Russ.) https://doi.org/10.21822/2073-6185-2023-50-4-37-50

Просмотров: 194


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2073-6185 (Print)
ISSN 2542-095X (Online)