Учебный курс «Программирование с использованием модели OneApi»
Автор: Сысоев Александр Владимирович, Горшков Антон Валерьевич, Волокитин Валентин Дмитриевич, Шестакова Наталья Валерьевна, Мееров Иосиф Борисович
Статья в выпуске: 3 т.11, 2022 года.
Бесплатный доступ
Современные высокопроизводительные вычислительные системы в массе своей являются гетерогенными. Разработка параллельных программ, способных использовать весь потенциал таких систем, сопряжена со значительными сложностями - требуется не только применять соответствующие языки и технологии программирования, но и учитывать особенности центральных и графических процессоров, влияющие в том числе на схемы организации параллелизма и работу с памятью. На упрощение процесса разработки таких программ направлена модель гетерогенного программирования oneAPI, представленная компанией Intel, и ее ключевой компонент - язык Data Parallel C++, позволяющий разрабатывать переносимые высокопроизводительные программы для CPU, GPU, FPGA и других устройств. В статье представлен учебный курс по oneAPI, разработанный в ННГУ им. Н. И. Лобачевского. Курс направлен на изучение широкого спектра вопросов, связанных с высокопроизводительными вычислениями с использованием моделей, методов и инструментов параллельного программирования на платформах Intel. В статье представлена концепция курса, описана его структура, категории слушателей, которым он может быть интересен, и варианты построения курса в зависимости от уровня подготовки аудитории.
Образование, высокопроизводительные вычисления, параллельное программирование, гетерогенные вычислительные системы, data parallel c++, sycl
Короткий адрес: https://sciup.org/147238564
IDR: 147238564 | УДК: 004.451 | DOI: 10.14529/cmse220303
Programming with OneApi: a new course on heterogeneous computing
Modern high-performance computing systems are mostly heterogeneous. The development of parallel programs that can use the full potential of such systems is fraught with significant difficulties. It is required not only to use the appropriate programming languages and technologies, but also to take into account the features of central and graphic processors that affect, among other things, the implementation of parallel schemes and memory management. The oneAPI heterogeneous programming model presented by Intel is aimed at simplifying the process of developing such programs, and its key component is the Data Parallel C ++ language, which allows developing portable high-performance programs for CPU, GPU, FPGA and other devices. The article presents a training course on oneAPI, developed at the Lobachevsky University. The course is aimed at studying a wide range of issues related to high-performance computing using models, methods and tools for parallel programming on Intel platforms. The article presents the concept of the course, describes its structure, categories of listeners who may be interested in it, and options for building a course depending on the level of preparation of the audience.
Список литературы Учебный курс «Программирование с использованием модели 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).