Run-time система исполнения фрагментированных программ
Руководители: В.А. Перепелкин и А.А. Ткачёва
В основе проекта лежит разработка лаборатории — модель фрагментированной программы — модели алгоритма, предназначенной для эффективной параллельной реализации больших задач на вычислительных кластерах. Главной задачей проекта является разработка интерпретатора — распределённой системы, выполняющей фрагментированные программы. Проект направлен на обучение студентов системному параллельному программированию. Проект допускает командную работу (команда 2-3 человека).
RoboWar
Руководитель: Г.А. Щукин
RoboWar — мультиагентная игра-симулятор, в которой программируемые игроками команды роботов сражаются друг с другом за ресурсы. Цель игры — создать самый лучший интеллект робота и привести свою команду к победе.
Правила игры
Все роботы в команде обладает одинаковым интеллектом, который задается в виде программы на интерпретируемом или компилируемом языке программирования. Игра происходит на игровом поле, пошагово, в соответствии с заранее установленной моделью игры.
Задачи
Участникам предлагается разработать или улучшить такие компоненты игры, как:
- Сервер : принимает на вход описания интеллектов роботов и начальные условия игры; выполняет расчет ходов и отправляет обратно результаты (например, в виде JSON). Может быть многопоточным и/или распределенным.
- Клиент : нужен для взаимодействия с сервером и отображения процесса игры. Варианты: десктоп/веб/мобильный.
Требования к участникам
- Знание C++/Python/Java или другого языка программирования
- Дополнительно: знание OpenGL
Ссылки
HPC Community Cloud
Руководитель: М.А. Городничев
HPC Community Cloud (HPC2C) – программный инструментарий, объединяющий ресурсы различных высокопроизводительных вычислительных систем (ВВС) в единый сервис и предоставляющий сторонним программным системам программный интерфейс (API), а пользователям – веб-интерфейс для единообразного управления подключёнными ВВС и организации вычислений. HPC2C является платформой для разработки и накопления с целью повторного использования программных решений прикладных задач, исполняющихся на ВВС.
Задачи
1. Разработка мобильного клиента для HPC Community Cloud. Варианты инструментов для разработки: Android SDK, Intel XDK, PhoneGap, Qt, Unity, Будет предоставлено: HPC2C RESTful API, заготовка приложения для Android, заготовка библиотеки на Java для доступа к HPC2C API.
Требования к участникам: способность относительно самостоятельно разобраться с выбранными инструментами разработки.
2. Разработка компонентов HPC2C для обеспечения автоматической генерации отчетов о тестировании параллельных программ с информацией о производительности программы в зависимости от количества использованных процессорных ядер, процессорных узлов, размера задачи. Отчеты должны содержать таблицы и графики времени работы программы при различных параметрах запуска, ускорения программы при росте использованных процессорных элементов, эффективности. По требованию пользователя отчет также должен содержать результаты профилирования программы. Параметры тестирования задаются пользователем. Инструменты разработки: JavaScript для веб-интерфейса HPC2C; С++, bash shell для управления работой программ и сбора отчетов.
Требования к участникам: способность разобраться в инструментах разработки.
Сейсмический мониторинг
Руководитель: М.А. Городничев
Разработка параллельных программ обработки данных сейсмического мониторинга, включая разработку программных модулей для проведения расчетов на Intel Xeon Phi и графических укорителях NVIDIA (CUDA). Инструменты: С++, OpenMP, MPI, CUDA SDK
Динамическое планирование на системах с сопроцессорами
Руководитель: М.А. Городничев
Разработка системы для динамического распределения работы между процессорными элементами вычислительной системы, включая случаи, когда система содержит сопроцессоры разных типов: CPU, GPU, Xeon Phi. Требуется обеспечить максимальную эффективность использования всех имеющихся ресурсов. Инструменты: С++, CUDA SDK, POSIX Threads, OpenMP, MPI
Разработка матричного сопроцессора для имитации клеточного автомата
Руководитель: М.Б. Остапкевич
Разработка матричного сопроцессора для имитации работы клеточного автомата с использованием технологии программируемых логических схем.
В рамках проекта участники изучат:
- основы технологии ПЛИС
- матричную архитектуру вычислительных систем
- языки описания цифровых схем
и реализуют ряд функциональных устройств:
- арифметико-логическое устройство,
- управляющее устройство процессорного элемента матричного сопроцессора,
- устройство интерфейса ввода-вывода