【发布时间】:2020-07-04 13:07:22
【问题描述】:
我有一个 CUDA NSight 项目,它编译得很好,但突然就不行了。上周我确实安装了一些系统更新(Ubuntu 18.04),这可能是原因(或部分原因)。不幸的是,我不知道到底安装了什么。我不记得在列表中看到任何 CUDA 内容。
反正Nsight创建的nvcc命令行如下:
/usr/local/cuda-10.2/bin/nvcc -I/usr/include/gdal -O2 --compile --relocatable-device-code=false -gencode arch=compute_37,code=compute_37 -gencode arch=compute_61,code=compute_61 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_61,code=sm_61 -x cu -o "MySource.o" "../MySource.cu"
这给出了一堆非常相似的错误,开始:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1761): error: identifier "__builtin_ia32_sqrtsd_round" is undefined
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(1770): error: identifier "__builtin_ia32_sqrtss_round" is undefined
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2728): error: identifier "__builtin_ia32_scalefsd_round" is undefined
/usr/lib/gcc/x86_64-linux-gnu/7/include/avx512fintrin.h(2737): error: identifier "__builtin_ia32_scalefss_round" is undefined
avx512fintrin.h 确实存在于引用的位置,并且在 12 月有一个日期戳。
我正在运行 Ubuntu 18.04 x64。 gcc 和 g++ 都报告为:7.5.0
运行 CUDA 10.2(并由 nvidia-smi 确认)。 nvcc --version 报告发布 10.2 V10.2.89
构建 cuda-10.2/samples/0_Simple/matrixMul 示例(使用 make),构建没有错误。
错误中的标识符在哪里定义?我错过了什么?发生了什么变化或损坏?
【问题讨论】:
-
“很遗憾,我不知道到底安装了什么”有办法找出答案。
-
设置有问题(不兼容的版本?),但作为一种解决方法,我会尝试删除 /usr/include/gdal/cpl_port 中的#include
.h,它似乎没有用于任何东西...... -
@talonmies 谢谢。从那以后,我发现两个 Google Compute 实例也在做同样的事情。所以我在那里尝试了这些方法(不太可能是损坏的安装)。他们几乎每天都在更新,所以有很多东西需要处理——Linux 头文件、glib 等。我认为这是我的构建选项和包含的侦探工作的问题
-
@Marc Glisse 我在谷歌实例上没有看到任何 gdal 更新;但是损坏的 gdal 安装是我以前见过的问题。可能需要手动更新。
标签: ubuntu gcc compiler-errors cuda nvcc