| Аннотация |
Суперкомпьютерный кодизайн – это ключевой этап в решении задач с использованием высокопроизводительной вычислительной техники, который в настоящее время стал универсальным и массовым: вычислительные технологии сегодня проникли абсолютно везде, затронув большое число пользователей из самых разных предметных областей. Цель суперкомпьютерного кодизайна заключается в согласовании свойств используемых методов и алгоритмов со структурой создаваемого кода и особенностями целевой архитектуры. Только в случае успешного согласования можно рассчитывать на эффективное решение задач с использованием всех возможностей суперкомпьютерных ресурсов. И вне зависимости от того, в рамках какой вычислительной парадигмы планируется создавать суперкомпьютерное приложение или решать задачу: на основе математического моделирования, технологий работы с большими данными или же опираясь на технологии искусственного интеллекта, методы суперкомпьютерного кодизайна актуальны в любом случае. На практике задачи, требующие использования методов суперкомпьютерного кодизайна, могут ставиться по-разному, но наиболее распространенными являются три классические постановки: спроектировать метод решения задачи с ориентацией под имеющуюся архитектуру суперкомпьютера, подобрать наилучший вариант архитектуры суперкомпьютерной системы под класс задач или же создать приложение (программу) с учетом особенностей используемого метода и целевой архитектуры. В настоящее время в каждом из таких случаев пользователи, как правило, опираются на сложившуюся практику и, возможно, на имеющийся личный опыт, но здесь нужен строгий подход, нужны конструктивные методы и методики. Даст ли использование SIMD-инструкций существенное ускорение в расчетах для заданного алгоритма? Возможна ли эффективная векторизация для рассматриваемого метода? Что важнее для эффективной реализации выбранного метода: размер кэш-памяти первого уровня или число каналов в память? В реальной вычислительной практике подобных вопросов очень много и возникают они на каждом шагу… Для успешной работы в рамках каждой постановки необходимо не только детальное изучения свойств, структуры, особенностей и характеристик для методов, алгоритмов, программного кода и архитектуры как самостоятельных объектов. Требуется использование и методов проведения их совместного анализа, показывающих, насколько они соответствуют друг другу и насколько высокой является степень согласованности ключевых элементов цепочки “задача-метод-алгоритм-программа-архитектура”. На сегодня подобные методы суперкомпьютерного кодизайна для проведения совместного анализа, опирающиеся на единый подход, отсутствуют, и на это направленпредлагаемый проект. В рамках данного проекта будут рассматриваться все три постановки, на которых будут отрабатываться и иллюстрироваться методы и технологии суперкомпьютерного кодизайна. В работе будет активно использоваться значительный задел, полученный авторским коллективом в ходе исследований в рамках проектов открытой энциклопедии свойств алгоритмов AlgoWiki и цифровой платформы Algo500, а также значительный опыт коллектива по составлению и поддержке суперкомпьютерного рейтинга Top50. Дополнительно отметим, что суперкомпьютерные технологии и, в частности, суперкомпьютерный кодизайн, являются сквозными технологиями, применимыми практически ко всем областям науки и отраслям экономики, напрямую влияющими на конкурентоспособность научных исследований и промышленной продукции, качество жизни людей, на устойчивое развитие общества.
|