cupy

前提:传统的数组和矩阵都是通过numpy来设定,然后numpy来调用cpu计算!
cupy的作用:数组和矩阵都是通过cupy来设定,然后cupy来调用gpu并行计算!

区别与联系:

  • 区别:numpy自动调用cpu来进行"数组和矩阵间"的计算,计算任务默认单进程;cupy自动调用gpu来进行"数组和矩阵间"的计算,gpu中默认并行计算!
  • 联系:二者的函数和实操的功能基本完全一样,一般只需把np.xxx()改成cp.xxx()即可。当然,cupy还未完全写完,有些numpy的函数它还未实现(基本用不到)。

cupy的优势:专门进行大型、高维数组/矩阵的快速计算(非常非常快)!

在windows上通过pip安装需要注意cuda的版本,nvcc -V可查看cuda版本,笔者是cuda9.0版本的,安装cupy的指令为pip install cupy-cuda90.

cuda10.0:

pip install cupy-cuda100

@cupy.util.memoize(for_each_device=True)
def load_kernel(kernel_name, code, **kwargs):
    code = Template(code).substitute(**kwargs)
    kernel_code = cupy.cuda.compile_with_cache(code)
    return kernel_code.get_function(kernel_name)
原创文章 2935 获赞 1163 访问量 619万+

猜你喜欢

转载自blog.csdn.net/jacke121/article/details/106033706
CUP