Применение языка Python для параллельных вычислений

Отчетность: 
зачёт
Тип: 
по выбору
Часов: 
36
Семестр: 
IV-8

Спецкурс включён в магистерскую программу отделения прикладной математики (ОПМ) физического факультета МГУ и ориентирован на получение/совершенствование знаний и навыков, необходимых для написания на языке Python таких программ, в которых задействуется параллельная архитектура для ускорения разного рода вычислений.

В последние годы язык программирования Python -- из просто ещё одного из многих универсальных языков -- как-то незаметно стал чуть ли не самым распространённым. Этому способствуют и богатая «экосистема» (многочисленные созданные сообществом прикладные библиотеки из самых разных областей), и не слишком высокий пороговый «уровень входа» в программирование на этом языке.

Слушатели спецкурса последовательно знакомятся с основными возможностями языка Python, его синтаксисом и особенностями, позволяющими синтаксически элегантно оформить доступ из него к сторонним библиотекам и аппаратным средствам.

Рассматриваются возможности доступа к вычислительным возможностям GPU как через реализацию CUDA (пакеты PyCUDA, Theano, Numba), так и через реализацию OpenCL (пакеты PyOpenCL, PyViennaCL), а также посредством GLSL (написание т.н. шейдеров) либо с помощью различных библиотек-«обёрток» (ArrayFire Python Wrapper, gnumpy, cudamat, PyGPU). Затронуты также некоторые аспекты использования мобильных GPU (Mali, Adreno, Vivante, PowerVR) и недо-GPU типа тех, что имеются в популярном микрокомпьютере Raspberry Pi/Pi2/Pi3.

Рассчитан на студентов старших курсов физического факультета и аспирантов.