如何检查 OpenACC 是否在我的计算机上运行?
How can I check if OpenACC works on my computer?
我知道 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 在并行区域中将使用哪些设备?
您应该将其更改为调用 acc_get_num_devices(dev);
。现在你问的是总是从 0 开始的 "which device am I using?",而不是 "how many devices do I have?"
我知道 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 在并行区域中将使用哪些设备?
您应该将其更改为调用 acc_get_num_devices(dev);
。现在你问的是总是从 0 开始的 "which device am I using?",而不是 "how many devices do I have?"