Спецкурсы
Весенний семестр 2022
Высокопроизводительные вычисления на платформе Python
Пятница, 18:00
Аудитория Дистанционно
Лектор: Русол А.В.
Целью курса является базовая подготовка, позволяющая освоить основы технологий высокопроизводительных вычислений на платформе Python для решения задач на современных многоядерных и многопроцессорных системах, а также суперкомпьютерах.
В курсе дается обзор возможностей платформы Python, в контексте научных и инженерных вычислений. Даются основные сведения о применении Python для решения научных и инженерных вычислительных задач, хранению и обработке полученных результатов. Рассматриваются пакеты NumPy, SciPy, Matplotlib, h5Py, Pandas для демонстрации базовых возможностей решения вычислительных задач и визуализации результатов, хранения и обработки данных. Изучаются реализованные в Python механизмы поддержки функциональности технологий параллельного программирования MPI и Nvidia CUDA. Используя пакет MPI4Py изучается работа с группами и коммуникаторами, организация параллельного ввода-вывода, односторонние коммуникации, обработка ошибок и т.п. Изучаются специализированные JIT компиляторы необходимые для выполнения высокопроизводительных вычислений в Python. На основе пакетов PyCUDA, Numba и некоторых других, изучаются способы распределения работ и синхронизации вычислений на графических ускорителях, а также дополнительные вспомогательные процедуры. Изучаются механизмы организации работы локального вычислительного кластера, реализованные в пакете IPyparallel.
Практическое освоение технологий высокопроизводительных вычислений и параллельного программирования на платформе Python позволит эффективно решать прикладные задачи не только на базе суперкомпьютеров типа Ломоносов-2 и Polus, но и на доступных пользователям многоядерных компьютерах.
Запись на курс: прислать информацию о себе на почту fermata@inbox.ru в формате
Фамилия Имя Отчество ; Город ; Факультет ; группа ; эл.почта
Доступ: информация о платформе проведения и способе доступа будет рассылаться записавшимся на курс по указанным в письмах адресам эл.почты
Первая лекция: 25 февраля
Особенности практического использования нейронных сетей
Среда, 18.30
Аудитория Дистанционно
Лектор: Буряк Д.Ю.
В рамках спецкурса рассматриваются практические вопросы построения и обучения НС: выбор архитектуры, подбор параметров алгоритма обучения, методы регуляризации и другие подходы для повышения эффективности обучения. Часть лекций посвящена обзору современных архитектур глубоких нейронных сетей, применяемых для решения задач распознавания и обнаружения изображений, а также рекуррентных сетей и GAN.
Слушателям предлагается несколько практических заданий на построение и исследование эффективности НС.
Для записи на спецкурс необходимо прислать на электронную почту dyb04@yandex.ru Фамилию, Имя, Отчество, номер группы и адрес электронной почты.
Ссылка на zoom конференцию: https://us02web.zoom.us/j/7821754586?pwd=Z3JWQ2lqUXRGcHUrd0tQaTJZZ1FzQT09
Идентификатор конференции: 782 175 4586 . Код доступа: 271614.
Даты и время экзамена:
- Магистры 2-го года: 26 апреля 18.30
- Бакалавры, магистры 1-го года: 11 мая 18.30
Первая лекция: 16 февраля
Осенний семестр 2021
Нейронные сети и их практическое применение
Четверг, 18:30
Аудитория дистанционно
Лектор: Буряк Д.Ю.
В рамках спецкурса будут подробно рассмотрены как теоретические аспекты создания и использования нейронных сетей, так и особенности их практического применения на примере задачи классификации образов. Особое внимание будет уделено сетям глубокого обучения, а также вопросам распараллеливания нейросетевых алгоритмов.
Курс не требует от слушателей предварительных знаний по нейронным сетям.
Ссылка на zoom конференцию: https://us02web.zoom.us/j/7821754586?pwd=Z3JWQ2lqUXRGcHUrd0tQaTJZZ1FzQT09
Идентификатор конференции: 782 175 4586 . Код доступа: 271614.
Экзамен состоится 16 декабря в 18.30.
Первая лекция: 30 сентября 2021
Введение в прикладные аспекты параллельного программирования
Вторник, 18:05
Аудитория дистанционно
Лектор: Смирнов А.В.
Данный курс предназначен, в первую очередь, для бакалавров осеннего семестра 4 года обучения, поскольку предполагает знакомство с основами
параллельного программирования. В то же время, условие не является обязательным в случае готовности самостоятельного освоения основ
параллельного программирования согласно рекомендациям и/или одновременного посещения иного курса по параллельному программированию
(например, "Параллельное программирование для высокопроизводительных систем").
Целью курса является расширение и применение навыков параллельного программирования. Будет рассмотрена одна из классических задач
линейной алгебры, после чего решена с использованием как последовательного подхода, так и различных методов параллельного программирования,
включая с++11 threads, OpenMP, OpenMPI (с предоставлением доступа на суперкомпьютер Polus), Cuda, а затем
сравнение полученных "вручную" результатов с теми, что достигаются имеющимися открытыми библиотеками.
Во время проведения курса предполагается практика решения задач в существенном объеме с тем, чтобы полученные знания не оставались
теоретическими, а давали уверенность в возможности применения освоенных технологий. С целью повышения качества создаваемых программ
будут также представлены такие технологии как разработка с использованием системы контроля версий (git), отладка в терминале
(gdb), использование стандарта с++11 (класс std::thread вместо pthreads, lambda-функции, range-based циклы, auto и т.д.) и выше
(например, выделение выровненной памяти средствами обновленного оператора new из стандарта c++17), статические анализаторы,
а также, возможно, элементы совместной разработки с использованием общего репозитория на bitbucket.
Первая лекция: 21 сентября