scikit-cuda是否支持最新版本的pycuda(9.1)或者我必须恢复到7.5?

时间:2018-02-16 02:38:29

标签: python scikit-learn gpu pycuda

我已经在python 3.6上通过pip install安装了pycuda和scikit cuda,并且一直试图从scikit cuda运行以下示例:

from __future__ import print_function

import pycuda.autoinit
import pycuda.driver as drv
import pycuda.gpuarray as gpuarray
import numpy as np

import skcuda.linalg as culinalg
import skcuda.misc as cumisc
culinalg.init()

# Double precision is only supported by devices with compute
# capability >= 1.3:
import string
import scikits.cuda.cula as cula
demo_types = [np.float32, np.complex64]
if cula._libcula_toolkit == 'premium' and \
        cumisc.get_compute_capability(pycuda.autoinit.device) >= 1.3:
    demo_types.extend([np.float64, np.complex128])

for t in demo_types:
    print('Testing svd for type ' + str(np.dtype(t)))
    a = np.asarray((np.random.rand(50, 50) - 0.5) / 10, t)
    a_gpu = gpuarray.to_gpu(a)
    u_gpu, s_gpu, vh_gpu = culinalg.svd(a_gpu)
    a_rec = np.dot(u_gpu.get(), np.dot(np.diag(s_gpu.get()), vh_gpu.get()))

    print('Success status: ', np.allclose(a, a_rec, atol=1e-3))
    print('Maximum error: ', np.max(np.abs(a - a_rec)))
    print('')

然后打印:

Traceback (most recent call last):

  File "<ipython-input-3-a4adfb24f4ca>", line 8, in <module>
    import skcuda.linalg as culinalg

  File "C:\Users\moore\downloadsl\Continuum\anaconda3\lib\site-packages\skcuda\linalg.py", line 21, in <module>
    from . import cublas

  File "C:\Users\moore\downloadsl\Continuum\anaconda3\lib\site-packages\skcuda\cublas.py", line 55, in <module>
    raise OSError('cublas library not found')

OSError: cublas library not found

我查看了cublas.py并且有一个版本列表,它只有7.5,所以我的问题是三倍。最新版本的pycuda和scikit-cuda是否兼容,如果没有,是否有任何类似的库,用于gv代码的nvidia gpu加速,就像scikit-cuda一样简单,如果没有,我必须下载什么版本才能制作这一切都有效吗?

0 个答案:

没有答案