Следует ли отдавать предпочтение прагмам OpenACC или процедурам выполнения? - PullRequest
0 голосов
/ 18 января 2019

OpenACC имеет несколько прагм и подпрограмм времени выполнения, которые могут быть использованы для достижения того же самого.

Например, есть #pragma acc wait и acc_wait() или #pragma acc update [...] и acc_update_[...]().

Я начал в основном использовать подпрограммы времени выполнения в своем коде C ++.

Есть ли разница? Должен ли я предпочесть одно другому, или это просто вопрос стиля и личных предпочтений?

1 Ответ

0 голосов
/ 18 января 2019

В целом, прагмы предпочтительнее, так как они будут игнорироваться другими компиляторами и при компиляции без включенного OpenACC. Вызовы API времени выполнения должны быть защищены макросом, таким как "#ifdef _OPENACC", чтобы поддерживать переносимость.

Хотя, если вы не возражаете против добавления макросохранителей или потери переносимости, то это в основном вопрос стиля. Функционально они эквивалентны.

...