OpenACC

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

OpenACC — стандарт, описывающий набор директив для написания гетерогенных программ, задействующих как центральный, так и графический процессор. Используется для распараллеливания программ на языках C, C++ и Fortran. Стандарт был создан группой, в которую вошли CAPS, Cray, NVIDIA и PGI.[1]

OpenACC предоставляет программисту набор директив компилятора, с помощью которых можно отметить части кода, которые следует выполнять на графическом процессоре, обозначить какие из переменных являются общими, а какие индивидуальными для потока и т. п. По синтаксису схож с OpenMP[2]. Позволяет программисту абстрагироваться от таких особенностей, как инициализация графического процессора, передача данных на графический процессор и обратно и т. д.

Перспективы развития[править | править вики-текст]

Планируется объединить спецификации OpenACC и OpenMP, включив в последний поддержку работы с ускорителями, в том числе GPU[3] . В версии GNU GCC 5.0 (финальная версия которой выйдет в апреле 2015 года) появилась стандартная библиотека openacc.h, библиотеки поддерживающие AVX2, AVX512. Ubuntu планирует включить GCC 5.0 в состав ОС начиная с версии 15.10. Попробовать OpenACC можно в тестируемой версии GCC 5.0 Stage 4, в составе betta версии Fedora 22, которая доступна уже сейчас.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]