Описание:Курс проводился для студентов магистратуры НТУ МИСиС.
Лекции с практическими примерами.
1. История развития вычислительной техники и операционных систем. Первые команды bash, генерация виртуальной машины в облаке на занятии, регистрация студентов на удалённом сервере.
2. Базовые понятия ОС Unix/Linux, ядро, процесс, контекст процесса, файловая система, типы файлов, базовые команды терминала, организация bash-скриптов, работа с утилитой ssh, трансфер файлов по scp, аутентификация по паролю и ключу, работа с bashrc, /etc/hosts, ssh/config.
После темы 2 ДЗ1
3. Переменные окружения (PATH, LD_LIBRARY_PATH и др), атрибуты доступа к файлам, группы пользователей, мягкие и жесткие ссылки, польза от мягих ссылок для соединения с сетевыми хранилищами, работа с архивами.
4. Работа с компилятором gcc: динамическая и статическая линковка, автоматизация сборки bash-скриптами, скрипты для автоматизации конфигурации, сборка FFTW, ed, составление Makefile.
После темы 4 ДЗ 2
5. Соединение с удалённым высокопроизводительным сервером, совединение с высокопроизводительным кластером, системы прогрузки задач Torque PBS и SLURM, команды Slurm, конфигурация, модульная система с реализацией окружений.
6. Параллелизм в Linux/Unix, процесс, нить, отличия. Библиотеки openMP, MPI для многопоточных и многопроцессных приложений, их сборка, запуск, скалируемость программ.
После темы 6 ДЗ3
7. Виртуальные окружения: виртуальные машины, окружения через Anaconda, установка докера, сборка образов, работа с контейнерами, лимиты ресурсов, сохранение и перенос образов, практикум, обзор системы singularity.
8. Связки C/С++ Python, Cython, PyBind11, numba, профилировка времени исполнения кода.
9. Сводный тест на 1.5 часа по темам 2-8
10. Знакомство с GPU (Cuda), компоновка програм с Cuda, общая идеология работы с граф ускорителями, профилировка nvprof, выход на Colab, использование команд bash на Colab, компиляций и тестирование программ с Cuda в облаке Colab.
11. Профилировка кода на python CPU и память: cProfile, memory_profiler, snakeviz, line_profiler, timeit. Визуализация результатов профилировки, потребление памяти по времени, получение графа последовательности вычислений.
После темы 11 ДЗ4 по темам 8-11.
12. Зачёт и обсуждение результатов домашних заданий.
в «Национальный исследовательский технологический университет «МИСиС» и Портал Федеральных государственных образовательных стандартов высшего образования (государственная организация, университет, Россия)
обязательная, по выбору (спецкурс), лекции, 36 часов