Проекты

1. RoboWar

Аннотация: Игра «Война роботов» построена на основе мультиагентного подхода к программированию. В этой игре команды роботов сражаются за обладание игровой территорией. Каждый участник проекта создаёт свой интеллект, управляющий поведением роботов. В первые три дня в проекте принимают участие все участники школы. По завершении проекта проводится турнир.

2. Мультиплатформенное выполнение фрагментированных программ

Руководитель: Перепёлкин Владислав Александрович

Аннотация: Аннотация: Фрагментированная программа в своей основе состоит из множества подзадач, исполняющихся по мере готовности их входных данных. При этом одна и та же задача может быть реализована на нескольких различных платформах, например на Linux-CPU, CUDA-GPU, Browser-javascript, JavaVM, и так далее. Это позволяет выполнять фрагментированные программы на совокупности вычислителей с различными платформами, образующих единую распределённую исполнительную систему. Цель проекта – реализовать распределённый интерпретатор с языка LuNA (некоторого его подмножества) на базе различных платформ.

3. Разработка компонентов HPC Community Cloud

Руководитель: Городничев Максим Александрович

Аннотация: Цель проекта HPC Community Cloud – создание программного инструментария для обеспечения доступа программных комплексов к высокопроизводительным вычислительным системам (ВВС), накопления и повторного использования программ для решения прикладных задач на ВВС, повышения уровня интерфейсов взаимодействия пользователей с ВВС, обеспечения доступа к учебным и справочным материалам в области суперкомпьютерных технологий и параллельного программирования. В настоящее время реализован прототип системы. Требуется:

  1. Разработка модельных вычислительных приложений с графическим интерфейсом на основе (HTML5, CSS, JS, WebGL) или Qt и параллельной вычислительной частью (С++ & MPI/OpenMP/POSIX). Примеры приложений: визуализация 3D-сцен методом трассировки лучей, динамика гравитирующих тел (N-body problem), распределение тепла в пластинке и другие.
  2. Разработка визуальных средств анализа производительности параллельных программ: автоматизация замеров времени исполнения программ (bash shell, JS, C++), визуализация графиков в браузере (HTML5, CSS, JS, WebGL).
  3. Разработка системы для реализации графов обработки данных на основе готовых вычислительных модулей (крупноблочное программирование).

4. Библиотека Sensonet

Руководитель: Остапкевич Михаил Борисович

Аннотация:

Цель проекта: сбор данных с географически распределенных разнотипных датчиков и управление географически распределенными актуаторами.

Актуальность проекта. В области сбора данных и управления активно разрабатывается большое число приложений. Широта областей применения огромна. Сложность в их разработке заключается в сложной системной части. Существует большое число видов оборудования, с которым надо взаимодействовать (много разных протоколов и интерфейсов). Если перейти от прототипа к рабочей системе, необходимо обеспечить высокий уровень надежности и других важных качеств реализации. Все это приводит к тому, что разработчик приложения тратит больше времени на системные аспекты разработки, уходит от свой тематики. Иногда у него хорошая идея приложения и хорошие навыки прикладного программиста, но отсутствие навыков системного программирования приведет к низкому качеству результирующего продукта. Цель библиотеки – дать такому разработчику максимально простое и открытое средство для решения этой системной задачи - взаимодействия с датчиками и актуаторами. Успешная реализация проекта позволит прикладному разработчику заниматься своим приложением, а не повторять в N+1 раз реализацию системных функций (иногда весьма посредственную, это ведь не его главная область интересов).

Каков должен быть результат: максимально простой в использовании интерфейс для получения данных и управления разнообразными устройствами. Множество поддерживаемых устройств, их протоколов – расширяемо, реализация доступна в исходных текстах, обеспечивается ее максимальная открытость для изучения и расширения пользователем.

5. RoboWar 2: Revenge of SmartBot

Руководитель: Щукин Георгий Анатольевич

Аннотация: продолжение проекта Robowar: новая модель, новые правила. Возможно использование Unity 3D/OpenGL/WebGL. Требования: знание C++/C#/Java/Javascript или другого языка программирования, знание OpenGL.

6. Бинарное инструментирование для анализа производительности программ

Руководитель: Калгин Константин Викторович

7. Параллельные алгоритмы анализа социальных графов

Руководитель: Калгин Константин Викторович

8. Реализация алгоритма Штрассена умножения матриц на ускорителе Intel Xeon Phi

Руководитель: Киреев Сергей Евгеньевич

Аннотация: Сопроцессор Intel Xeon Phi является перспективным высокопроизводительным вычислителем. Он имеет 61 векторное ядро, каждое из которых способно выполнять по 4 аппаратных потока. Чтобы полностью задействовать вычислительные возможности Xeon Phi необходимо, чтобы программа была распараллелена на большое число потоков и векторизована.

При появлении каждого нового вычислителя становится актуальной задача создания библиотек численных подпрограмм, которые используют весь его потенциал производительности. Для Xeon Phi уже существует большое число библиотек, в том числе библиотека базовых операций линейной алгебры, включающая операцию умножения матриц. Стандартный алгоритм умножения матриц умножает две матрицы размером N×N за время O(N^3). Однако существует Алгоритм Штрассена, который позволяет сократить это время до O(N^2.81) за счёт уменьшения количества операций умножения.

В проекте предлагается реализовать алгоритм Штрассена на Xeon Phi, достигнуть на нём как можно большей производительности, по возможности обогнав существующую библиотечную подпрограмму умножения матриц.