|
Поддержка стандарта 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.
Образец цитирования:
А. В. Монаков, В. А. Иванишин, “Поддержка стандарта OpenMP 4.0 для архитектуры NVIDIA PTX в компиляторе GCC”, Труды ИСП РАН, 28:4 (2016), 169–182
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp59 https://www.mathnet.ru/rus/tisp/v28/i4/p169
|
|