我的CUDA和Theano不能一起工作

时间:2017-01-06 21:45:16

标签: linux theano theano-cuda

我正试图通过运行此代码来测试我的GPU健全性

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

我收到了这个错误:

  

mod.cu(941):警告:无符号整数与零的无意义比较   mod.cu(3001):警告:从字符串文字转换为" char *"已弃用   mod.cu(3004):警告:从字符串文字转换为" char *"已弃用   mod.cu(3006):警告:从字符串文字转换为" char *"已弃用   mod.cu(3009):警告:从字符串文字转换为" char *"已弃用   mod.cu(3011):警告:从字符串文字转换为" char *"已弃用   mod.cu(3014):警告:从字符串文字转换为" char *"已弃用   mod.cu(3017):警告:从字符串文字转换为" char *"已弃用   mod.cu(3020):警告:从字符串文字转换为" char *"已弃用   mod.cu(3022):警告:从字符串文字转换为" char *"已弃用   mod.cu(3025):警告:从字符串文字转换为" char *"已弃用   mod.cu(3027):警告:从字符串文字转换为" char *"已弃用   mod.cu(3030):警告:从字符串文字转换为" char *"已弃用   mod.cu(3032):警告:从字符串文字转换为" char *"已弃用   mod.cu(3035):警告:从字符串文字转换为" char *"已弃用   mod.cu(3038):警告:从字符串文字转换为" char *"已弃用   mod.cu(3041):警告:从字符串文字转换为" char *"已弃用   mod.cu(3043):警告:从字符串文字转换为" char *"已弃用   mod.cu(3046):警告:从字符串文字转换为" char *"已弃用   mod.cu(3048):警告:从字符串文字转换为" char *"已弃用   mod.cu(3051):警告:从字符串文字转换为" char *"已弃用   mod.cu(941):警告:无符号整数与零的无意义比较   mod.cu(3001):警告:从字符串文字转换为" char *"已弃用   mod.cu(3004):警告:从字符串文字转换为" char *"已弃用   mod.cu(3006):警告:从字符串文字转换为" char *"已弃用   mod.cu(3009):警告:从字符串文字转换为" char *"已弃用   mod.cu(3011):警告:从字符串文字转换为" char *"已弃用   mod.cu(3014):警告:从字符串文字转换为" char *"已弃用   mod.cu(3017):警告:从字符串文字转换为" char *"已弃用   mod.cu(3020):警告:从字符串文字转换为" char *"已弃用   mod.cu(3022):警告:从字符串文字转换为" char *"已弃用   mod.cu(3025):警告:从字符串文字转换为" char *"已弃用   mod.cu(3027):警告:从字符串文字转换为" char *"已弃用   mod.cu(3030):警告:从字符串文字转换为" char *"已弃用   mod.cu(3032):警告:从字符串文字转换为" char *"已弃用   mod.cu(3035):警告:从字符串文字转换为" char *"已弃用   mod.cu(3038):警告:从字符串文字转换为" char *"已弃用   mod.cu(3041):警告:从字符串文字转换为" char *"已弃用   mod.cu(3043):警告:从字符串文字转换为" char *"已弃用   mod.cu(3046):警告:从字符串文字转换为" char *"已弃用   mod.cu(3048):警告:从字符串文字转换为" char *"已弃用   mod.cu(3051):警告:从字符串文字转换为" char "已弃用   /usr/include/string.h:在函数'void __mempcpy_inline(void *,const void *,size_t)'中:   /usr/include/string.h:652:42:错误:'memcpy'未在此范围内声明
     return(char )memcpy(__dest,__ rc,__n)+ __n;
                                            ^
  mod.cu:在函数'PyObject
CudaNdarray_Reshape(CudaNdarray *,PyObject *)'中:

     

mod.cu:955:122:警告:格式'%lld'需要类型为'long long int'的参数,但参数3的类型为'size_t {aka long unsigned int}'[ - Wformat =]
           PyErr_Format(PyExc_ValueError,"大小必须保持不变,从%lld更改为%lld",CudaNdarray_SIZE(self),rval_size);
                                                                                                                            ^
  [' nvcc',' -shared',' -O3',' -m64',' -Xcompiler', ' -DCUDA_NDARRAY_CUH = c72d035fdf91890f3b36710688069b2e,-DNPY_NO_DEPRECATED_API = NPY_1_7_API_VERSION,-fPIC,-fvisibility = hidden',' -Xlinker',' -rpath,/ home / rkenaya / .theano / compiledir_Linux-4.4 - generic-x86_64-with-Ubuntu-16.04-xenial-x86_64-2.7.12-64 / cuda_ndarray',' -I / usr / local / lib / python2.7 / dist-packages / theano / sandbox / cuda',' -I / usr / local / lib / python2.7 / dist-packages / numpy / core / include',' -I / usr / include /python2.7' ;,' -I / usr / local / lib / python2.7 / dist-packages / theano / gof',' -o',' /home/rkenaya/.theano/compiledir_Linux-4.4--generic-x86_64-with-Ubuntu-16.04-xenial-x86_64-2.7.12-64/cuda_ndarray/cuda_ndarray.so' ;,' mod.cu&# 39;,' -L / usr / lib',' -lcublas',' -lpython2.7',' -lcudart']   mod.cu:955:122:警告:格式'%lld'需要'long long int'类型的参数,但参数4的类型'size_t {aka long unsigned int}'[ - Wformat =]   错误(theano.sandbox.cuda):无法编译cuda_ndarray.cu :(' nvcc返回状态',1,'对于cmd',' nvcc -shared -O3 - m64 -Xcompiler -DCUDA_NDARRAY_CUH = c72d035fdf91890f3b36710688069b2e,-DNPY_NO_DEPRECATED_API = NPY_1_7_API_VERSION,-fPIC,-fvisibility = hidden -Xlinker -rpath,/ home / rkenaya / .theano / compiledir_Linux-4.4-generic-x86_64-with-Ubuntu-16.04-xenial- x86_64-2.7.12-64 / cuda_ndarray -I / usr / local / lib / python2.7 / dist-packages / theano / sandbox / cuda -I / usr / local / lib / python2.7 / dist-packages / numpy / core / include -I / usr / include / python2.7 -I / usr / local / lib / python2.7 / dist-packages / theano / gof -o /home/rkenaya/.theano/compiledir_Linux-4.4--generic- x86_64-with-Ubuntu-16.04-xenial-x86_64-2.7.12-64 / cuda_ndarray / cuda_ndarray.so mod.cu -L / usr / lib -lcublas -lpython2.7 -lcudart')
  警告(theano.sandbox.cuda):已安装CUDA,但设备gpu不可用(错误:cuda不可用)
  [Elemwise {EXP,no_inplace}()]
  循环1000次需要4.233657秒
  结果是[1.23178029 1.61879337 1.52278066 ...,2.20771813 2.29967761     1.62323284]
  使用了cpu

0 个答案:

没有答案