我知道GCC 6.x有一个不错的OpenACC支持。但我想确保它在我的计算机上是否正常工作。我试过了
#include <stdio.h>
#include <openacc.h>
int main(int argc, char *argv[])
{
acc_device_t dev = acc_get_device_type();
int num = acc_get_device_num(dev);
printf("%d\n", num);
return 0;
}
这会打印0
。我做错什么了吗?或者是否有另一种方法可以验证OpenACC在我的计算机上是否正常工作?
我有什么办法可以找到,OpenACC将在并行区域使用哪些设备?
答案 0 :(得分:1)
您应该将其更改为致电acc_get_num_devices(dev);
。现在你要问&#34;我使用的是哪种设备?&#34;总是从0开始,而不是&#34;我有多少台设备?&#34;