Технологии программирования

Руководители — доц. В.А.Антонюк и н.с. А.П.Иванов

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

Compute Unified Device Architecture (CUDA) — программно-аппаратная платформа, предоставляющая возможность использования графических ускорителей (Graphics Processing Unit, GPU), поддерживающих данную технологию, для расчетов общего назначения, в том числе для ускорения численного моделирования. Для этого при написании программ используется специальный Си-подобный синтаксис, а специализированный компилятор осуществляет трансляцию исходного кода в программу, исполняемую на GPU. Вычисления с использованием CUDA доступны на суперкомпьютере «Ломоносов» в разделе gpu.

Архитектура графических ускорителей рассчитана на эффективное выполнение алгоритмов, использующих SIMD-модель (Single Instruction Multiple Data model) вычислений. На GPU — низкие накладные расходы на создание потоков («нитей»), переключение контекста происходит почти мгновенно, а количество нитей обычно достигает сотен тысяч и позволяет производить массивно-параллельные вычисления. В большинстве случаев работает простое правило: чем в большем количестве параллельных нитей работает программа, тем больше возможностей у планировщика на GPU оптимизировать порядок выполнения инструкций и тем более эффективными оказываются вычисления.