Сборники трудов ИСП РАН


Поддержка стандарта OpenMP 4.0 для архитектуры NVIDIA PTX в компиляторе GCC

А.В. Монаков (ИСП РАН, Москва, Россия)
В.А. Иванишин (ИСП РАН, Москва, Россия)

Аннотация

В статье описывается реализация стандарта OpenMP версии 4.0 для акселераторов NVIDIA PTX в компиляторе GCC. Особое внимание уделяется вопросам генерации корректного и эффективного кода для прагм OpenMP с учетом ограничений архитектуры PTX. Поскольку реализация опирается на существующую в GCC трансляцию OpenMP и интеграцию с библиотекой libgomp, для PTX реализованы вторичные программные стеки, позволяющие организовать общий для синхронной группы стек в глобальной памяти и передавать адреса на данные в таких стеках между нитями. Описывается схема организации выполнения одной OpenMP-нити в 32 синхронных потоках выполнения в PTX вне OpenMP SIMD-регионов за счет легковесной инструментации некоторых инструкций. Представлены результаты тестирования на микротестах и сравнение с реализацией стандарта OpenACC.

Ключевые слова

компиляторы, GCC, OpenMP, CUDA, PTX

Издание

Труды Института системного программирования РАН, том 28, вып. 4, 2016, стр. 169-182

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2016-28(4)-10

Полный текст статьи в формате pdf Вернуться к содержанию тома