cupy
和numpy
使用类似,不同的是cupy在计算数组和矩阵时直接调用GPU来加速,而numpy是调用cpu计算。在使用cupy时需要注意,cupy适合高维大尺寸的向量计算,因为初始化GPU本身就耗一定时间,如果计算量很小没必要cupy。以下是一个比较
import time
def cp_dot():
import cupy as cp
start = time.time()
a = cp.random.rand(50000, 10000)
b = cp.random.rand(10000, 100)
c = cp.dot(a, b)
print('cupy dot', time.time()-start)
def np_dot():
import numpy as np
start = time.time()
a = np.random.rand(50000, 10000)
b = np.random.rand(10000, 100)
c = np.dot(a, b)
print('numpy dot', time.time()-start)
cp_dot()
np_dot()
cupy dot 0.6453022956848145
numpy dot 3.4347856044769287
参考