问题描述
我在 Ubuntu 20.04 上使用 GCC 9.3。我想使用 OpenMP 将著名的 SAXPY 示例卸载到 GPU。我通过 sudo apt install gcc-9-offload-nvptx
安装了 GCC 的卸载功能。然后通过g++ -fopenmp main.cpp
编译如下代码:
int main()
{
const size_t kNumel = 999999;
float x[kNumel];
float y[kNumel];
for (size_t i=0 ;i <kNumel; i++)
{
x[i] = i;
y[i] = i;
}
const float kCoef = 1.23f;
#pragma omp target teams distribute parallel for
for (size_t i=0; i < kNumel; i++)
{
y[i] = kCoef*x[i] + y[i];
}
return 0;
}
to1: error: ‘-fcf-protection=full’ is not supported for this target
mkoffload: Fatal error: x86_64-linux-gnu-accel-nvptx-none-gcc-9 returned 1 exit status
compilation terminated.
lto-wrapper: Fatal error: /usr/lib/gcc/x86_64-linux-gnu/9//accel/nvptx-none/mkoffload
returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper Failed
collect2: error: ld returned 1 exit status
我添加了 -fno-stack-protector
,但重现了相同的错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)