![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并行计算
文章平均质量分 76
记录MPI OpenMP等学习过程
KingOfMyHeart
会好起来的.
展开
-
并行计算之计算平台体系结构(流水线,异构处理器与异构并行)
我们就可以将任务进行拆解,到计算平台上的各个NUMA架构的CPU节点中,那么CPU与CPU之间进行MPI通信;而对于任意一个CPU节点,又可以拆解到多个核上,进行多线程任务拆解与执行;这样根据计算平台的体系,自上而下的进行任务拆解,直到整个任务的完成。原创 2023-09-04 22:44:35 · 590 阅读 · 0 评论 -
并行计算之OpenMP简介
面向多线程并行编码的编译指导语句,如for包含相应的函数接口库和runtime(运行时系统)omp_get_thread_num() //获取当前线程的线程编号omp_get_num_threads() //获取正在执行的并行部分的线程数,也就是要执行代码块的线程数omp_set_num_threads() //设置将要用于将来并行执行的线程数极大的简化多线程编码,支持Fortran,C和C++,从SMP实现开始,已经发布和发展了25年。原创 2023-09-04 22:43:09 · 314 阅读 · 0 评论 -
MPI之虚拟进程拓扑
在很多并行应用进程中,进程的线性排列不能充分的反映进程间在逻辑上的通信模型,通常由问题几何和所用的算法决定,进程经常被排列成二维或者三维网络形式的拓扑模型而通常用一个图来描述逻辑进程排列,此种逻辑进程排列为虚拟拓扑。拓扑是组内通信域上的额外,可选属性,它不能附加在组间通信域(inter-communcator)上,拓扑能提供一种方便的命名机制,对于由特定拓扑要求的算法使用起来直接自然方便。拓扑还可以辅助运行时系统,将进程映射到实际的硬件结构上。原创 2023-09-02 22:50:45 · 678 阅读 · 0 评论 -
MPI之数据打包和解包
MPI_Pack 和 MPI_Unpack 它们可以将式以便于传输,或者将二进制格式的数据解包成目标数据。这对函数通常用于在 MPI 应用程序中进行异构系统间的通信,即两个系统之间使用不同的二进制格式进行交互通信。原创 2023-09-02 22:31:31 · 906 阅读 · 0 评论 -
MPI内置类型与自定义类型
函数原型参数详解count:新类型中元素的数量。oldtype:待复制元素的类型。newtype:返回一个新类型。原创 2023-09-02 22:21:28 · 853 阅读 · 0 评论 -
MPI之通信模式(标准,缓存,同步,就绪)
相对于 MPI_Send 函数,MPI_Bsend 不阻塞发送方,也不会复制消息缓冲区中的数据,而是将数据拷贝到MPI缓冲区中,MPI_Bsend 函数将立即返回,在MPI缓冲区中的消息稍后使用异步方式传输。该模式只有当接收进程的接收操作已经启动时才可以在发送进程启动发送操作(即是一种发送并立即返回操作),否则,当发送操作启动而相应的操作还没有启动时,发送操作将出错,对于非阻塞发送操作的正确返回,并不意味着发送已经完成,但对于阻塞发送的正确返回,则代表发送缓冲区可以重复使用。原创 2023-09-02 22:04:21 · 2139 阅读 · 0 评论 -
MPI之组通信
在前面的文章中,对点对点通信API进行了介绍,本文将对MPI组通信相关API进行介绍。原创 2023-09-01 00:04:00 · 249 阅读 · 0 评论 -
MPI之持久化通信句柄与非持久化通信句柄
在前面的文章中举了例子,我们使用MPI_Isend接口发送数据时,有个传出参数request,该参数是创建的通信句柄,使用该接口生成的持久化句柄,需要使用专用接口进行资源释放。原创 2023-08-30 23:09:22 · 398 阅读 · 0 评论 -
MPI之非阻塞通信中通信完成检测接口简介
个 MPI 请求组成的数组中的任一组请求是否已经完成,如果有已完成请求,则返回已完成操作的数量,并将这些完成操作的索引值存储在。个 MPI 请求组成的数组中的任一请求是否已经完成,如果有已完成请求,则返回其在数组中的索引值,并将该值存储在。个 MPI 请求组成的数组中的任一请求完成,返回值为完成操作的请求在数组中的索引值,将该值存储在。个 MPI 请求组成的数组中的所有请求是否都已经完成,如果所有请求都已经完成,则返回值。个 MPI 请求组成的数组中所有请求完成,返回值为。如果没有请求已经完成,则返回值。原创 2023-08-30 22:35:14 · 275 阅读 · 0 评论 -
MPI之主从模式的一般编程示例
比如,我们可以选举0号进程为master进程,其余进程为slaver进程。原创 2023-08-30 22:13:25 · 197 阅读 · 0 评论 -
MPI之MPI_Sendrecv接口以及空进程概念介绍
虚拟进程是不存在的假想进程,在MPI中的主要作用是充当真实进程通信的目的或源;引入虚拟进程的目的是为了在某些情况下,编码更顺畅;当一个真实进程给一个虚拟进程发送数据,或者从一个虚拟进程接收数据时,该真实进程会立即正确返回,如同执行可一个空操作;原创 2023-08-30 21:59:50 · 833 阅读 · 0 评论 -
MPI之MPI_Send&MPI_Recv阻塞接口及参数详解
MPI_Recv 函数是 MPI 标准中的一个阻塞函数,它将一直阻塞直到接收到来自指定源和标记的消息。返回值:函数执行成功,返回 MPI_SUCCESS。如果发生错误,则返回相应的错误码。返回值:函数执行成功,返回 MPI_SUCCESS。如果发生错误,则返回相应的错误码。原创 2023-08-29 22:53:05 · 3370 阅读 · 0 评论 -
并行计算之MPI简介以及基本通信案例(阻塞,非阻塞)
MPI_Test 函数的作用与 MPI_Wait 函数类似,都是等待一个请求对象进入完成状态,但 MPI_Test 函数是非阻塞的,即当请求对象尚未完成时,MPI_Test 函数会立即返回一个标志值,而不会阻塞当前进程的执行。通信域中的每个进程都有一个唯一的标识符(通信域内部的秩/等级(rank)),并可以通过指定目标进程的标识符来对目标进程进行通信。,在每个阶段中,数据沿着流水线被处理,不同的进程专门处理不同的阶段。拥有一个主进程,主进程作为任务的分配方,从进程执行任务,主进程负责管理数据的分发和接受;原创 2023-08-29 22:09:25 · 3473 阅读 · 0 评论