我已经在python3.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('')
然后打印:
^{pr2}$我看了看立方.py有一个版本列表,它只到7.5版本,所以我的问题有三个方面。最新版本的pycuda和scikit cuda是否兼容,如果不兼容,是否有任何类似的库,用于nvidia gpu加速gpu代码,就像scikit cuda一样简单,如果不是,我需要下载什么版本才能使这一切正常工作?在
目前没有回答
相关问题 更多 >
编程相关推荐