nvcc错误:在使用bazel构建tensorflow时,'cicc'死于状态0xC0000005(ACCESS_VIOLATION)

问题描述 投票:0回答:1

我正在尝试构建Tensorflow 1.14.0 dll。我正在使用bazel 0.24.1来做到这一点。我也使用cuDNN 7.1.4和CUDA 9.0。我希望它使用Visual C ++ Build Tools 2015,但是在运行bazel生成dll时:

bazel build --config=cuda tensorflow:tensorflow.dll,

默认情况下,在LIB和INCLUDE变量中设置路径C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ VC \ Tools \ MSVC \ 14.16.27023。然后,我收到一堆错误,例如C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ VC \ Tools \ MSVC \ 14.16.27023 \ include \ xutility(796):错误:表达式必须具有常量值。构建失败,并显示错误:nvcc错误:'cicc'终止,状态为0xC0000005(ACCESS_VIOLATION)

我尝试设置:

set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio 14.0
set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC

但是错误仍然发生。有什么想法吗?

tensorflow bazel nvcc
1个回答
0
投票

我终于找到了解决方案。您可以通过设置以下环境变量来强制设置正确的路径:

CPU_COMPILER =('C:/程序文件(x86)/ Microsoft Visual Studio 14.0 / VC / bin / cl.exe')GCC_HOST_COMPILER_PATH =('C:/程序文件(x86)/ Microsoft Visual Studio 14.0 / VC / bin / cl.exe']

刚运行之前

bazel build --config=cuda tensorflow:tensorflow.dll

在命令行中。最好在Powershell中执行此操作,因为使用Windows命令行时路径中存在空格/撇号问题。

© www.soinside.com 2019 - 2024. All rights reserved.