应该首选OpenACC编译指示还是运行时例程?

时间:2019-01-18 17:19:05

标签: c++ pragma openacc

OpenACC具有一些实用程序和运行时例程,可用于基本实现相同的目的。

例如,有#pragma acc waitacc_wait()#pragma acc update [...]acc_update_[...]()

我开始在我的C ++代码中主要使用运行时例程。

有区别吗?我应该优先选择另一个,还是仅仅是风格和个人喜好问题?

1 个答案:

答案 0 :(得分:1)

通常,首选使用pragma,因为其他编译器会在不启用OpenACC的情况下将其忽略。运行时API调用需要由“ #ifdef _OPENACC”之类的宏来保护,以保持可移植性。

尽管,如果您不介意添加宏保护程序或失去可移植性,那么这主要是样式问题。在功能上,它们是等效的。