Учебный курс «Программирование с использованием модели OneApi»
Автор: Сысоев Александр Владимирович, Горшков Антон Валерьевич, Волокитин Валентин Дмитриевич, Шестакова Наталья Валерьевна, Мееров Иосиф Борисович
Статья в выпуске: 3 т.11, 2022 года.
Бесплатный доступ
Современные высокопроизводительные вычислительные системы в массе своей являются гетерогенными. Разработка параллельных программ, способных использовать весь потенциал таких систем, сопряжена со значительными сложностями - требуется не только применять соответствующие языки и технологии программирования, но и учитывать особенности центральных и графических процессоров, влияющие в том числе на схемы организации параллелизма и работу с памятью. На упрощение процесса разработки таких программ направлена модель гетерогенного программирования oneAPI, представленная компанией Intel, и ее ключевой компонент - язык Data Parallel C++, позволяющий разрабатывать переносимые высокопроизводительные программы для CPU, GPU, FPGA и других устройств. В статье представлен учебный курс по oneAPI, разработанный в ННГУ им. Н. И. Лобачевского. Курс направлен на изучение широкого спектра вопросов, связанных с высокопроизводительными вычислениями с использованием моделей, методов и инструментов параллельного программирования на платформах Intel. В статье представлена концепция курса, описана его структура, категории слушателей, которым он может быть интересен, и варианты построения курса в зависимости от уровня подготовки аудитории.
Образование, высокопроизводительные вычисления, параллельное программирование, гетерогенные вычислительные системы, data parallel c++, sycl
Короткий адрес: https://sciup.org/147238564
IDR: 147238564 | DOI: 10.14529/cmse220303
Список литературы Учебный курс «Программирование с использованием модели OneApi»
- Reinders J., Ashbaugh В., Brodman J., et al. Data Parallel С++ Mastering: DPC++ for Programming of Heterogeneous Systems using С++ and SYCL. Apress Berkeley, CA, 2021. 548 p. DOI: 10.1007/978-1-4842-5574-2.
- Воеводин В.В. Параллельные вычисления и математическое образование // Математика в высшем образовании. 2005. Т. 3. С. 9-26. URL: https://www.mathedu.ru/text/ mvo_2005_3/p9/.
- Nevison С.Н. Parallel computing in the undergraduate curriculum // Computer. 1995. Vol. 28, no. 12. P. 51-56. DOI: 10.1109/2.476199.
- El-Rewini H., Lewis T.G. Distributed and parallel computing. Manning Publications Со., 1998.
- Crichlow J.M. An introduction to distributed and parallel computing. Prentice-Hall, 1988.
- Grama A., Gupta A., Karypis G., Kumar V. Introduction to parallel computing. Addison-Wesley, 2003. 664 p.
- Цымблер M.JI., Соколинский JI.В., Лепихов А.В. Прототипирование параллельной СУБД как основа учебного курса по параллельным системам баз данных // Суперкомпьютерные системы и их применение. 2004. С. 212-217.
- Соколинский Л.В., Цымблер М.Л. Лекции по курсу «Параллельные системы баз данных». URL: https://pdbs.susu.ru/CourseManual.html (дата обращения: 14.09.2022).
- Биллиг В.А. Параллельные вычисления и многопоточное программирование. Москва: НОУ «ИНТУИТ», 2016.
- Гергель В.П. Высокопроизводительные вычисления для многопроцессорных многоядерных систем. Москва: Издательство Московского университета, 2010. 534 с.
- Баркалов К.А., Мееров И.Б., Бастраков С.И. Об опыте разработки и чтения курса лекций «Параллельные численные методы» // Суперкомпьютерные дни в России: Труды международной конференции, 28-29 сентября, 2015. Москва: Московский государственный университет, 2015. С. 772-775.
- Антонов А.С., Воеводин В.В., Попова Н.Н. Параллельная структура алгоритмов и подготовка специалистов по вычислительным технологиям // Актуальные проблемы прикладной математики, информатики и механики. 2017. С. 4-11.
- Плаксин М.А. О пропедевтике параллельных вычислений в школьной информатике // Информатика и образование. 2016. № 10. С. 27-36.
- Антонов A.C., Воеводин В.В., Гергель В.П., Соколинский JI.B. Системный подход к суперкомпьютерному образованию // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2013. Т. 2, № 2. С. 5-17. DOI: 10.14529/cmsel30201.
- Воеводин В.В., Гергель В.П., Соколинский Л.Б., др. Развитие системы суперкомпьютерного образования в России: текущие результаты и перспективы // Вестник Нижегородского университета. 2013. Т. 2, № 2. С. 203-209.
- Воеводин В.В., Гергель В.П. Суперкомпьютерное образование: третья составляющая суперкомпьютерных технологий // Вычислительные методы и программирование. 2010. Т. 11. С. 117-122.
- Гергель В.П., Демкин В.П., Коньков К.А. и др. Проект «Суперкомпьютерное образование»: 2012 год // Вестник Нижегородского университета. 2013. 1(1). С. 12-16.
- Fuentes J., López D., González S. Teaching Heterogeneous Computing Using DPC++ // IEEE International Parallel and Distributed Processing Symposium, IPDPS Workshops 2022, Lyon, France, May 30 - June 3, 2022. IEEE, 2022. P. 354-360. DOI: 10. 1109/ ipdpsw55747.2022.00069.
- Heterogeneous programming with SYCL. URL: https : / / enccs . github . io / sycl -workshop/ (дата обращения: 14.09.2022).
- Владимиров К. Краткий обзор современного гетерогенного программирования в OpenCL и SYCL а также расширения от Intel, составляющие DPC++. URL: https : //www.youtube.com/watch?v=fAV0PJLu2qA (дата обращения: 14.09.2022).
- SYCL Training. URL: https : / / www . codeplay . com / solutions / sycl - training/ (дата обращения: 14.09.2022).
- Stroustrup В. The С++ Programming Language (4th Edition). Addison-Wesley, 2013. 1376 P-
- Josuttis N.M. The С++ Standard Library - A Tutorial and Reference, second edition. Addison-Wesley, 2012. 1136 p.
- С++ FAQ. URL: https://isocpp.org/wiki/faq (дата обращения: 14.09.2022).
- Паттерсон Д., Хеннесси Д. Архитектура компьютера и проектирование компьютерных систем. Издательский Дом ПИТЕР, 2012. 784 с.
- Таненбаум Э. Архитектура компьютера. 4-е изд. Издательский Дом ПИТЕР, 2015. 704 с.
- Таненбаум Э., Бос X. Современные операционные системы. 4-е изд. Издательский Дом ПИТЕР, 2015. 1120 с.
- Коньков К., Карпов В. Основы операционных систем: курс лекций: учеб. пособие для вузов. НОУ «ИНТУИТ», 2016.
- Код Hi-Chi. URL: https://github.com/hi-chi/pyHiChi (дата обращения: 14.09.2022).
- О проекте. URL: http://hpc-education.unn.ru/en/research/overview/laser-plasma (дата обращения: 14.09.2022).
- Volokitin V., Bashinov A.V., Efimenko E., et al. High Performance Implementation of Boris Particle Pusher on DPC++. A First Look at oneAPI // Parallel Computing Technologies -16th International Conference, PaCT 2021, Kaliningrad, Russia, September 13-18, 2021, Proceedings. Vol. 12942 / ed. by V. Malyshkin. Springer, 2021. P. 288-300. Lecture Notes in Computer Science. DOI: 10.1007/978-3-030-86359-3_22.
- Meyerov I.B., Sysoyev A., Pirova A., et al. Bridging the Gap Between Applications and Supercomputing: A New Master's Program in Computational Science // Supercomputing -5th Russian Supercomputing Days, RuSCDays 2019, Moscow, Russia, September 23-24, 2019, Revised Selected Papers. Vol. 1129 / ed. by V.V. Voevodin, S. Sobolev. Springer, 2019. P. 529-541. Communications in Computer and Information Science. DOI: 10.1007/978-3-030-36592-9_43.
- Программирование с использованием модели oneAPI. URL: https://hpc-education.unn.ru/ru/n,eHTp-KOMneTeHn,nii-oneapi-B-HHry/Kypc-oneapi (дата обращения: 14.09.2022).
- Programming with oneAPI. URL: https ://hpc- education . unn . ru/en/the-oneapi -center-of-excellence/progranrning-with-oneapi (дата обращения: 14.09.2022).