Спецкурсы

Весенний семестр 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 сентября