Заседание семинара "Математическое обеспечение высокопроизводительных вычислительных систем" 05.04.2017 в 15-00. "Автоматическое распределение вычислительной нагрузки в гибридных (CPU+GPU) мультикомпьютерах в системе фрагментированного программирования LuNA", Перепёлкин В.А.
Разработка численных параллельных программ, способных задействовать вычислительные ресурсы гибридного мультикомпьютера (имеющего в составе вычислительных узлов и CPU и GPU), является сложной задачей. Сложность заключается в разделении и распределении данных и вычислений по CPU и GPU, а так же в программировании выбранного распределения. Для обеспечения высокой эффективности исполнения программы распределение должно учитывать и особенности вычислителя (относительная производительность CPU и GPU, пропускная способность канала связи между ними и т.п.), и особенности задачи (структура данных и вычислений, информационные связи между параллельными частями программы и т.п.). В системе автоматизации программирования LuNA, задача использования CPU и GPU сводится к разработке двух вычислительных процедур на языке C++, исполняемых на CPU и GPU соответственно, а распределение вычислений и данных по этим устройствам осуществляется автоматически. В том числе автоматизируется передача данных между CPU и GPU. В докладе представлен алгоритм, осуществляющий такое распределение и приводятся результаты тестирования производительности.