因此,如果您在系统 GCC 版本为 5 及更高版本时尝试使用 nvcc,则会收到“不支持的版本”错误。但是 - 我听说有人报告说他们刚刚对此发表了评论,并且 CUDA 7.5 与 GCC 5.x 一起“为他们工作”。
但是,当我这样做(检查在 中$CUDA_DIR/host_config.h
)并编译某些内容时,我收到以下错误:
/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/mwaitxintrin.h(36): error: identifier "__builtin_ia32_monitorx" is undefined
/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/mwaitxintrin.h(42): error: identifier "__builtin_ia32_mwaitx" is undefined
和一堆其他人,但那些可能取决于这些。现在,这些是 X86 架构的与 MMX 相关的内在函数。我不直接使用它们,所以我猜他们以某种方式选择加入。也许这可以避免?
有没有办法克服这些错误并真正让 GCC 5 与 CUDA 7.5 共存?而要构建和运行代码?
笔记:
- 我已经阅读了使用的建议
-D__STRICT_ANSI__
。我有,而且似乎没有帮助。 - 我在 Fedora 22 上,以防万一。