因此,如果您在系统 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 共存?以及代码的构建和运行?
Notes:
- 我读过一个使用建议
-D__STRICT_ANSI__
。我有,但似乎没有帮助。
- 我使用的是 Fedora 22,以防万一。
我认为一个-D_MWAITXINTRIN_H_INCLUDED
选项应该可以解决问题。实际上我采用了稍微不同的方法,注释掉了#include <mwaitxintrin.h>
线路输入x86intrin.h
,并使用 CUDA 7.5 和 GCC 5.2.1 成功构建了 TensorFlow。
UPDATE
对于最新版本的 TensorFlow (v0.8.0),只需在调用时选择使用 gcc 4.xconfigure
script.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)