python使用skcuda包实现GPU上的矩阵乘法,矩阵求逆

导入需要的包:

import pycuda.gpuarray as gpuarray
import pycuda.autoinit
import skcuda.linalg as sklin

创建两个矩阵:

a = numpy.random.randn(4, 4).astype(numpy.float32) #为了后续GPU上的计算顺利进行,矩阵数值设定为float32
b = numpy.random.randn(4, 4).astype(numpy.float32)

使用gpuarray将矩阵转换为GPU下可用的类型:

a_gpu = gpuarray.to_gpu(a)
b_gpu = gpuarray.to_gpu(b)

使用skcuda的线性代数库实现矩阵乘法:

sklin.init()   # 使用skcuda线性代数库时要先调用内置函数进行初始化
multi_gpu = sklin.dot(a_gpu, b_gpu)  # 矩阵乘法
a_inv = sklin.inv(a_gpu)  # 矩阵求逆
multi = multi_gpu.get()
inv = a_inv.get()

你可能感兴趣的:(pycuda,python,pycuda,矩阵运算)