I am trying to see how I can optimize my matrix multiplication code using Cuda. Currently, I am using jit and Im getting a result of 346 ms for the speed.
I appreciate any help you can give me!
Error:
TypeError: __init__() got an unexpected keyword argument 'py_func'
My code:
from numba import cuda, float32, vectorize, jit, prange
matrix1 = cp.random.uniform(1,10,size=(1000,1000), dtype=np.float64)
matrix2 = cp.random.uniform(1,10, size=(1000,1000), dtype=np.float64)
rmatrix = cp.zeros(shape=(1000,1000), dtype=np.float64)
#multiplication function
@jit(target='cuda')
def gpu_matrix_multiplication(matrix1,matrix2,rmatrix):
for i in prange(len(matrix1)):
for j in prange(len(matrix2)):
for k in prange(len(matrix2)):
rmatrix[i][j] += matrix1[i][k] * matrix2[k][j]
#Calculate running time
%timeit gpu_matrix_multiplication(matrix1,matrix2,rmatrix)