跟着博主这位博主成功在电脑上下载好了我的cupy,但是当我运行它的时候我发现出现这样的问题:
1 catastrophic error detected in the compilation of “路径\f9163eaa3cc593de631e36d1e6bb55ef_2.cubin.cu”.
Compilation terminated.和这位博主cupy编译异常发文遇到的比较相似。这个问题的解决方法和下面这个问题的方法一样的。
在cupy之后,我继续下载pycuda,但是我也发现它也编译出现了这样的问题:
nvcc fatal : Cannot find compiler ‘cl.exe‘ in PATH
我看了这位博主的解决方法:成功解决了问题的博主
于是我跟着这位博主上面的方法去设置我的环境路径,设置完之后重启下电脑,pycuda编译异常的问题就解决了。同时我发现cupy的问题也解决了。
所以总结如下:
这两个编译异常其实就是因为你的电脑的环境路径里没有配置cl.exe路径,配置好再重启下电脑就解决了,配置过程参考这位博主成功解决了问题的博主。
然后测试下cupy:
import cupy as cp
x = cp.arange(6).reshape(2, 3).astype('f')
print(x, x.sum(axis=1))
再测试下pycuda:
import pycuda.driver as cuda
import pycuda.autoinit
from pycuda.compiler import SourceModule
import numpy
a = numpy.random.randn(4,4)
a = a.astype(numpy.float32)
a_gpu = cuda.mem_alloc(a.nbytes)
cuda.memcpy_htod(a_gpu, a)
mod = SourceModule("""
__global__ void doublify(float *a)
{
int idx = threadIdx.x + threadIdx.y*4;
a[idx] *= 2;
}
""")
func = mod.get_function("doublify")
func(a_gpu, block=(4,4,1))
a_doubled = numpy.empty_like(a)
cuda.memcpy_dtoh(a_doubled, a_gpu)
print (a_doubled)
print (a)