2080Ti / CUDA 10.1 issues

145 views
Skip to first unread message

Dave

unread,
Jun 5, 2019, 2:02:58 AM6/5/19
to theano-users
I have a working Theano installation set up on my older PC (GTX1080, CUDA 9)

I have a new PC fitted with a 2080Ti card that I am porting my projects to. 

From experimentation so far, it seems that I am forced to use CUDA 10.1 with my 2080Ti (because CUDA < 10 installations fail to find the device). 
This should be no problem though, as from what I understand, Theano 1.0.3 does support CUDA 10.1

I have followed the setup instructions here: http://deeplearning.net/software/theano/requirements.html as I did before.
I note that by using Theano 1.0.3 I am not able to use pygpu 0.6.9 as recommended. This is because the dependency solver demands that I use pygpu 0.7.6

I am unable to get the environment to use the gpu:

[code]
from theano import function, config, shared, tensor
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([], tensor.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, tensor.Elemwise) and
('Gpu' not in type(x.op).__name__)
for x in f.maker.fgraph.toposort()]):
print('Used the cpu')
else:
print('Used the gpu')
[/code]

Result:

[code]
C:\Users\Dave\Anaconda3\envs\TheanoPy3.5\lib\site-packages\theano\gpuarray\dnn.py:184: UserWarning: Your cuDNN version is more recent than Theano. If you encounter problems, try updating Theano or downgrading cuDNN to a version >= v5 and <= v7.
  warnings.warn("Your cuDNN version is more recent than "
Using cuDNN version 7600 on context None
ERROR (theano.gpuarray): Could not initialize pygpu, support disabled
Traceback (most recent call last):
  File "C:\Users\Dave\Anaconda3\envs\TheanoPy3.5\lib\site-packages\theano\gpuarray\__init__.py", line 227, in <module>
    use(config.device)
  File "C:\Users\Dave\Anaconda3\envs\TheanoPy3.5\lib\site-packages\theano\gpuarray\__init__.py", line 214, in use
    init_dev(device, preallocate=preallocate)
  File "C:\Users\Dave\Anaconda3\envs\TheanoPy3.5\lib\site-packages\theano\gpuarray\__init__.py", line 159, in init_dev
    pygpu.blas.gemm(0, tmp, tmp, 0, tmp, overwrite_c=True)
  File "pygpu\blas.pyx", line 149, in pygpu.blas.gemm
  File "pygpu\blas.pyx", line 47, in pygpu.blas.pygpu_blas_rgemm
pygpu.gpuarray.GpuArrayException: (b'Missing Blas library', 5)
[Elemwise{exp,no_inplace}(<TensorType(float32, vector)>)]
Looping 1000 times took 10.554782 seconds
Result is [ 1.23178029  1.61879337  1.52278066 ...,  2.20771813  2.29967761
  1.62323284]
Used the cpu

Process finished with exit code 0
[/code]

My Anaconda environment is detailed in the attached environment.yml file.

I have tried moving and renaming dlls as suggested here: https://github.com/Theano/Theano/issues/6681#issuecomment-482819279
But with no joy. Plus, I'd be a lot happier to find a less hacky fix than renaming dlls to pretend they are different versions!


This is my third day on this, so any help would be gratefully received.

 - Dave
environment.yml
Reply all
Reply to author
Forward
0 new messages