OpenMP 4.5 налага стандарт за паралелно програмиране

Разработчици публикуваха набор от спецификации за паралелно програмиране OpenMP 4.5 (Open Multi-Processing), подготвян в продължение на две години и половина. OpenMP 4.5 определя API и начини за прилагане на паралелно програмиране за езици С, С++ и Фортран на многоядрени и хибридни (CPU+GPU/DSP) системи с обща памет и блокове за векторизация (SIMD).

Реализацията на OpenMP 4.5 вече е почти завършена в GCC и се очаква да бъде представена във версия GCC 6.0. Значително е подобрена поддръжката на допълнителен хардуер от рода на специализираните ускорители.

Добавени са механизми за привързване на подобни устройства на операции с неструктурирани данни или асинхронно изпълняван код. Включени са и нови процедури за управление на паметта, които позволяват отделяне, копиране и освобождаване на блокове памет.

Новост в OpenMP 4.5 също така е механизмът doacross loops, който позволява организиране на паралелни цикли с добре структурирани зависимости. Новата конструкция taskloop пък дава възможност за разделяне на цикли и задачи, като се избягва изпълнението на всички потоци вътре в цикъла.

Коментар