Цель проекта V-Ray - это отработка методики, проектирование, разработка и внедрение в вычислительную практику комплекса инструментальных средств, направленных на автоматизацию создания и оптимизацию параллельных программ для современных суперкомпьютерных систем.
Разрабатываемый комплекс инструментальных средств направлен на автоматизацию создания эффективных параллельных программ для параллельных вычислительных систем с общей и распределенной памятью.
Разработана комплексная методология статического и динамического анализа структуры программ, методология выявления по исходному тексту многоступенчатой иерархической структуры больших программных комплексов.
Методология базируется на подходах, позволяющих проводить анализ информационной структуры программ до уровня выполнения отдельных операторов и использует современную теоретическую базу в области анализа структуры программ и параллельного программирования, сформировавшуюся в России и в мире.
Основное функциональное требование к комплексу - определение и описание потенциального параллелизма исследуемых программ.
Комплекс позволяет анализировать программы на языках Фортран и Си, функциональность инструментального комплекса отражает возможности статического и динамического анализа структуры программ, содержит возможности генерации выходных текстов на параллельных диалектах этих языков и средства визуализации структуры анализируемых программ.
Комплекс ориентирован на два класса пользователей: на высококвалифицированных системных программистов, специализирующихся на исследовании чужих программ, и на прикладных программистов, не имеющих большого опыта в распараллеливании.
Инструментальный комплекс ориентирован на широкое внедрение в российскую науку, образование и промышленность, в российские суперкомпьютерные и образовательные центры.
Результаты работы могут быть использованы для:
- анализа информационной структуры программ;
- разработки и оптимизации больших программных комплексов для различных типов современных суперкомпьютеров;
- автоматической генерации кода с использованием современных технологий параллельного программирования;
- эффективного использования высокопроизводительной вычислительной техники;
- обучения современным технологиям параллельного программирования и использованию суперкомпьютерной техники.