nvcc 致命:尽管 Visual Studio 12.0 已添加到 PATH,但在 PATH 中找不到编译器“cl.exe”
Posted
技术标签:
【中文标题】nvcc 致命:尽管 Visual Studio 12.0 已添加到 PATH,但在 PATH 中找不到编译器“cl.exe”【英文标题】:nvcc fatal : Cannot find compiler 'cl.exe' in PATH although Visual Studio 12.0 is added to PATH 【发布时间】:2016-09-19 12:53:12 【问题描述】:我已遵循https://datanoord.com/2016/02/01/setup-a-deep-learning-environment-on-windows-theano-keras-with-gpu-enabled/ 的所有指示 但似乎无法正常工作。
我添加了 C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin 到我的 PATH 变量
每次我从 Theano 网站运行代码来测试是否使用 CPU 或 GPU 时,它都会给我一个致命错误 “nvcc 致命:在 PATH 中找不到编译器 'cl.exe'”
这是我用来测试的代码:
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 1000
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
print('Used the cpu')
else:
print('Used the gpu')
我该如何解决这个问题?
【问题讨论】:
请提供完整的错误信息,包括回溯。否则,很难识别和解决您的问题。 【参考方案1】:我遇到了同样的问题。我使用的是 64 位 Windows 8.1,我必须将以下内容添加到我的路径中,现在它工作正常:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe
希望对你有帮助
【讨论】:
【参考方案2】:Visual Studio 2017 在这里
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64
【讨论】:
【参考方案3】:您可以添加参数 -ccbin 来设置 cl.exe 的位置。它看起来像这样
nvcc "File path" -ccbin "cl.exe path"
【讨论】:
以上是关于nvcc 致命:尽管 Visual Studio 12.0 已添加到 PATH,但在 PATH 中找不到编译器“cl.exe”的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 是不是使用 nvcc 编译 cuda 代码?
如何编辑 Visual Studio CUDA nvcc.exe 命令行
Visual Studio 2017 - Git 因致命错误而失败
Visual Studio 2010:致命错误 C1189:#error