nvcc fatal : Cannot find compiler 'cl.exe' in PATH although Visual Studio 12.0 is added to PATH

17,597

Solution 1

I had the same problem. I'm using 64 bit Windows 8.1 and I had to add the following to my path and now it works fine:

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

Hope this helps

Solution 2

The Visual Studio 2017 has it here

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64

Solution 3

You can add the argument -ccbin to set where cl.exe is. It will look like this

nvcc "File path" -ccbin "cl.exe path"
Share:
17,597
kwotsin
Author by

kwotsin

Updated on June 13, 2022

Comments

  • kwotsin
    kwotsin almost 2 years

    I have followed all the instructions from https://datanoord.com/2016/02/01/setup-a-deep-learning-environment-on-windows-theano-keras-with-gpu-enabled/ but can't seem to get it work.

    I have added C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin to my PATH variable

    Every time I run the code from the Theano website to test whether a CPU or GPU is used, it gives me a fatal error of "nvcc fatal : Cannot find compiler 'cl.exe' in PATH"

    Here is the code I use to test:

    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')
    

    How can I solve this?