并行计算(二):并行模型的分类

一、Flynn分类法
single instruction multiple data(SIMD):GPU,专注于单一任务,并具有很高的效能;
multiple instruction multiple data(MIMD):CPU,同时及处理多个不同的任务,但是系统复杂的也随之升高;
其他类型(不常见):SISD(单核处理器),MISD。

二、从内存的角度分类
1.共享内存:多个CPU共享一个存储空间
2.分布式内存:微机集群,超级计算机(注重计算性能),数据中心(注重数据的存储,调度,服务)
对于后者,不同的处理器对应不同的存储空间,相互不共享。当一个处理器要使用其他处理器对应的存储数据时,需要通过网络进行沟通。

三、从编程模型的角度分类
1.shared memory编程模型:Pthread(低级,偏底层), OpenMP(高级,不用考虑细节)
2.message passing编程模型:MPI。通过编写MPI程序,在不同设备的任务之间(如微机集群)完成信息的发送、接收等操作,如下图:
在这里插入图片描述
编写MPI最常见的bug是send和receive不匹配。

多数情况下编程模型与硬件架构相互匹配,也可以说,并行程序编程模型是对硬件的抽象。一般来讲,前者对应于shared memory machine, 后者对应于distributed memory machine。但实际上,编程模型与硬件架构也可以是不匹配的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值