最后更新:2022-05-26 15:49:25 手机定位技术交流文章
Ubuntu 20.04是操作系统。
编程语言:C++
MPI是多语种通信协议。为了准备平行的电脑。支持点对点和广播。MPI 是一个用于信息传输的应用界面。它包括协议以及语义主张。他们展示了他们在若干情况下如何利用自己的素质。MPI的目标是取得良好的业绩。大规模性,和可移植性。如今,MPI仍然是高性能计算的主要范例。
尽管MPI相当于OSI参考模型的第五级或第五级以上,但它不能用作模型。预计他通过《袜子和传输控制议定书》传输层实现的实现将覆盖大部分水平。绝大多数多指标类集调查的实现情况是由一系列预先界定的做法构成的。可以直接从C、C++、Fortran或C#、Java或Python等语言调用。由于其可移动性和速度,MPI的业绩超过了传统的信息储存。
并行编程模式
互惠模式 - 程序部分的顺序相同,功能和代码一般一致,但所处理的数据或对象不同;主要模式是程序通信进程之间的主要或依附关系。
点对点通信模式
封锁 - 将完成数据的分发复制出缓冲区,从而可以重新分配缓冲区的分布,封锁接受的完成意味着接收数据已复制到接收缓冲区,缓冲区的分配也得以重新分配。 接收者已准备好使用。排除障碍 -- -- 由于有适当的硬件支持,计算和通信可能重复。有四种通信模式:正常、缓存、同步、准备就绪。
组通信
全球数据处理和通信活动涵盖具体组织内的所有程序。
通信是一组内数据的传输;同步是特定时间所有活动的一致性;计算是特定数据提供情况下某些操作的运行情况,即某个组内数据的传输情况;同步是特定时间所有活动的一致性;计算是特定数据上某些操作的运行情况。
(1) 数据移动:无线电(mpi 投影) 无线电(mpi 投影) 收集(mpi adder) 散射组集(mpi 全部收集器) 完成交换(全部交换);(2) 收集: 规约(mpi 减小) 输入缓冲区内的所有进程操作OP是计算出的,启动结果将返回根程序接收缓冲扫描(mpi扫描),这需要每个程序来规范其前面的进程,结果将存放在自己的退出缓冲区;3 同步:路障(mpi屏障)使通信区内的所有进程同步,它们将处于等待状态,等待所有进程实施各自的MPI-BARRIER缓冲机制。
1.mpi init () 建立了MPI执行环境,连接了MPI的若干进程,并准备了进一步的通信。
2.mpi MPI执行环境完成;
三. MPI进程是使用MPI compm 级来鉴定的。返回整数错误值和调用该函数的程序进程编号。有两个参数: MPI_Common 类型通信域域,以及标识参与计算的MPI进程组; &rank返回调用进程中的标识号;
使用 4.mpi com 大小来确定每个进程组的流程数量;
五.mpi 发送 (buf、 反、 数据类型、 dest、 标签、 com) : buf: 传送缓冲区的初始地址,计数:非负整数、数组或结构指针数据类型: 传送数据的数据类型; 状态: 整数,标记:整数,目的进程编号信件符号; comm: MPI 处理组的通信域;
意思:将数据传送给通信领域的目的地进程,储存在buff、type dataype、数字计数中,该计数标记为标签,有别于该流程向同一目的地进程发送的其他信息[1]。
六. Mpi 接收( 缓冲、 计数、 数据类型、 源、 标记、 com、 状态) :接收数据的来源,i. 即数据分配过程编号;状况:MPI_现状结构指示器;返回状态信息。
LxM 母体A和M*N 母体B已经乘以。LxN的矩阵C是结果。Aij(i=0..L.J=0.),Bij(i=0.M.)是矩阵A、B、C第一行j栏中的条目。 j=O…N) ,Cij (i=0…L., j=0 …N)。则:

可以看出,Cij只与A线和B线一相连,而与其他线不相连,因此可以平行计算。
如果 n 进程平行运行,则矩阵A 分为一小串 n- M/n 行,每行乘以一个 B 矩阵,加上 n- myn 列和 N- 列 矩阵,然后将这些矩阵合并以产生最终输出。
假设开启np个进程
(1).(a) 将数组A和C分为np区块,第一行每行;
(2) A's id 分数和 B's 过程编号 id
(3) 匹配的 C id 区块由进程编号ID解决。
在开始编辑前安装以下步骤 :sudo apt install mpich
编译指令:mpicxx mpimatrix.cc -o mpimatrix(鼠标是过程)
执行指令:mpirun -np 4 ./mpimatrix 300 200 400其中四个进程意味着四个进程并行执行,相当于300 200 400美元的矩阵参数。
执行结果截图:

以上实验结果图表显示,随着矩阵规模的扩大和计算方法的复杂程度的提高,运行时间明显增加。计算平行过程数量所需的时间越长,速度就越快。这显示了平行算法的效率和强度。
在现实世界中,许多现象呈现出平行现象,并有可能就许多问题开展平行的解决进程;然而,利用SISD的思维方式的做法使得创建平行的机器执行方法变得罕见;实际上,MPI方案的SPMD方案拟订模式在平行思维方面训练有素,MPI通信机制为用户在互联网工作站建立和部署平行方案提供了一个平台,使解决问题更加自然。
确定过程数量需要的时间越长,就越快。 强烈尊重平行算法的效率和力量。
在现实世界中,许多现象呈现出平行现象,并有可能就许多问题开展平行的解决进程;然而,利用SISD的思维方式的做法使得创建平行的机器执行方法变得罕见;实际上,MPI方案的SPMD方案拟订模式在平行思维方面训练有素,MPI通信机制为用户在互联网工作站建立和部署平行方案提供了一个平台,使解决问题更加自然。
多核处理器的扩散和平行计算机的创建大大促进了平行编程的推进,平行的计算方法正在日益应用于各个领域,特别是高性能计算和处理通信。这项工作利用MP I这个流行的平行编程工具 来创建一种平行的算法 来乘以矩阵。利用模拟分析原始问题,以确定其计算方法的平行性,从而使用平行计算方法解决问题。平行计算充分利用了处理资源,可以更快地完成线条计算,这是今后计算的趋势。
资料来源:https://ww.com/photos.com/I'm sorry、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客、博客。
本文由 在线网速测试 整理编辑,转载请注明出处。