Проектная работа

Активные знания

  • Для множества графов вычислительных моделей найти общие подграфы, выделить в отдельные вычислительные модели, в исходных графах соответсвтующие подграфы заменить на структурированную операцию

  • Подготовить docker-контейнер для запуска LuNA-программ

  • Научиться запускать MPI-программы на сети компьютеров так, что внутри каждого компьютера процессы MPI запускаются в docker-контейнере (применить это для запуска LuNA-программ, см. выше)

  • Разработать распределенную систему для совместного редактирования текста (аналог -- Google Docs) -- цель, научиться делать такие системы с перспективной реализации совместной работы пользователей над проектами в HPC Community Cloud

  • Изучить интерфейс визуального конструктора вычислительных моделей, предложить улучшения, реализовать

  • Разработать мобильное приложение для работы с вычислительными моделями, аналог существующего Web-GUI

  • Поддержать в визуальном конструкторе загрузку и выгрузку вычислительных моделей из git-репозиториев, поддержать основные операции с репозиторием в интерфейсе

  • Разработать систему для анализа корреляции значений переменных на множестве интерпретаций вычислительной модели, автоматическое создание операций, связывающих переменные, на основе корреляционного анализа

  • Выделение, копирование, вставка подграфов вычислительной модели в визуальном конструкторе

  • Автоматическое упорядочивание визуального представления графа вычислительной модели

  • Разработать примеры вычислительных моделей для прикладных областей по выбору: механика, электростатика, решение СЛАУ, построение 3-D сцен, библиотека алгоритмов для анализа данных и т.п.

  • Разработать вычислительную модель и необходимые операции для постановки серии MPI-задач на вычислительных кластер таким образом, чтобы процессы запущенных задач объединялись в общий коммуникатор с целью совместной вычислительной работы

  • Изучить возможности нового языка Data Parallel C++ (DPC++) от Intel: установить, изучить модель программирования, реализовать ряд тестовых задач, проанализировать производительность.

  • Разработать собственную С++-библиотеку для параллельного исполнения упрощённого аналога языка DPC++.