Оглавление
OpenACC (Открытый доступ)
-
Обзор OpenACC
- OpenACC – это стандарт для параллельного программирования на CPU/GPU.
- Он упрощает программирование разнородных систем и может быть нацелен на разные архитектуры.
- OpenACC поддерживает директивы для ускорения кода и может работать на разных ускорителях.
-
Разработка и поддержка
- OpenACC был разработан совместно с OpenMP и нацелен на расширение возможностей OpenMP.
- В 2012 году была представлена версия 2.0 спецификации, которая включала новые функции и поддержку различных архитектур.
- С тех пор были выпущены версии 2.5, 2.6, 2.7 и 3.2 спецификации.
-
Поддержка компиляторов
- OpenACC поддерживается коммерческими компиляторами PGI и Cray, а также открытым исходным кодом компиляторами OpenUH, OpenARC, accULL и Omni Compiler.
- GCC медленно добавлял поддержку OpenACC, но в последних версиях (GCC 6 и 7) она значительно улучшилась.
-
Использование и API
- OpenACC использует директивы для определения параллельных вычислений и функций API для управления ускорителем.
- Для использования OpenACC необходимо включить соответствующие заголовочные файлы и вызвать функцию инициализации.
-
Дополнительные ресурсы
- Ссылки на руководства, примеры использования и рекомендации доступны на сайте OpenACC.