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
n=0
print('parent process is {0}'.format(os.getpid())) #获取父进程id
for i in range(4):
#控制矩阵的行列数字变化
n=n+1
if n % 3 == 0:
m = m + 1
n = 1
#查看下标变化是否正确
print('下标变化:',m-1,n-1)
p = multiprocessing.Process(target=matrix_muti,args=(m-1,n-1,)) #固定格式,使用4个子进程求矩阵的乘积
p.start() #开始
p.join()
复制时候运行了下,发现复制到Pycharm时代码缩进变了,需要手动调整下,不然会报错
贴出运行结果如下:
转载于:https://blog.51cto.com/13155409/2120153
python实现简单的并行矩阵乘法相关教程
清华架构师整理分布式系统文档从实现原理到系统实现收藏吧
清华架构师整理分布式系统文档:从实现原理到系统实现,收藏吧 文章末尾有福利!!! 微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展
Jsp+Ssm+Mysql实现简单的OA办公管理系统
Jsp+Ssm+Mysql实现简单的OA办公管理系统 Jsp+Ssm+Mysql实现简单的OA办公管理系统 主要实现的功能有员工注册登录,自动计算当前月迟到、 早退、加班、缺勤天数并根据图表展示, 任务管理(任务发布、更新、删除、进度条展示完成度), 通知管理(通知发布、更
spring security oauth2 简单内存方式配置
spring security oauth2 简单内存方式配置 spring security oauth2 简单配置说明 modules !-- 项目依赖-- modulespring-security-oauth2-dependencies/module !-- 认证服务器-- modulespring-security-oauth2-server/module !--资源服务器-- modulespring-sec
java代码实现Ceph连接
java代码实现Ceph连接 一、简要概述 Ceph做为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统; 二、系统架构 Ceph 系统架构可以划分为以下四部分: Clients:数据用户 客户端 cmds:Metadata server cluster,元数据服务器(缓存和同步分布式元
Python面向对象习题
Python面向对象习题 队列类。队列是具有先进先出特性的数据结构。一个队列就像是一行队伍,数据从前端被移除,从后端被加入。这个类必须支持一下几种方法。 并且实现以下的功能 class Line(object):#定义一个类def __init__(self): #定义方法 self.__Line = [
2021编程语言「后浪」趋势预测:JavaScript、Python热度不减,但
2021编程语言「后浪」趋势预测:JavaScript、Python热度不减,但崛起最快的却是它... 选自Medium,作者:Mr Herath 本文转自机器之心( nearhuman2014 ) 原文链接: https://medium.com/better-programming/what-will-be-the-best-back-end-programming-lang
如何用Python优雅的登录校园网?
如何用Python优雅的登录校园网? 点击上方“ 菜鸟学Python ”,选择“ 星标 ”公众号 超级无敌干货第一时间推给你!!! 前言 今天这篇文章的思路来源于校园网,很多的校园网在每次连接时都需要进入一个网址进行登录,这个步骤真的是非常非常的麻烦(大学生都
C#反射技术在多语言实现中的实际用处参考让初学者学技术有个针对
C#反射技术在多语言实现中的实际用处参考,让初学者学技术有个针对性【附源码】... 为什么80%的码农都做不了架构师? 做软件,有点儿类似铁人三项比赛?赛跑、射击、游泳?光某个环节突出,也没多大用,需要整体能力都强,能把整体都可以搞定,才容易得到比赛