OpenACC具有一些实用程序和运行时例程,可用于基本实现同一目的。
例如,有#pragma acc wait
andacc_wait()
或#pragma acc update [...]
and acc_update_[...]()
。
我开始在我的C ++代码中主要使用运行时例程。
有区别吗?我应该优先选择另一个,还是仅仅是风格和个人喜好?
通常,首选使用pragma,因为其他编译器会在不启用OpenACC的情况下将其忽略。运行时API调用需要由一个宏来保护,例如“ #ifdef _OPENACC”,以保持可移植性。
但是,如果您不介意添加宏保护程序或失去可移植性,则主要是样式问题。在功能上,它们是等效的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句