python实现简单的并行矩阵乘法
python实现简单的并行矩阵乘法
本文采用的矩阵乘法方式是利用一个矩阵的行和二个矩阵的列相乘时不会互相影响。假设A(m,n)表示矩阵的m行,n列。那么C(m,m)=A(m,n) * B(n,m) :
计算C矩阵时候分解成:
process-1:
C(1,1) = A(1,:) * B(:,1)
process-2:
C(1,2) = A(1,:) * B(:,2)
..........
process-m
C(m,m) = A(m,:) * B(:,m)
实现源码:
import multiprocessing #导入多进程模块,实现多进程
import os #验证,打印进程的id
import numpy as np #这个模块是为了实现矩阵乘法
def matrix_muti(i,j):
print('Current process is {0}'.format(os.getpid())) #打印执行该函数时候的进程
A = [[1, 2], [5, 8]]
B = [[4, 8], [6, 5]]
A = np.array(A)
B = np.array(B)
#print(i,j)
try:
print(sum(A[i,:]*B[:,j]))
except:
pass
if __name__ == '__main__':
m=1

本文介绍了一种使用Python实现简单并行矩阵乘法的方法,通过多进程模块`multiprocessing`来分解计算任务,每个进程计算C矩阵的一个元素。代码示例展示了如何创建和启动进程以加速矩阵乘法运算。
最低0.47元/天 解锁文章

703

被折叠的 条评论
为什么被折叠?



