MPI持久通信请求:CSS Grid布局与优化
需积分: 49 6 浏览量
更新于2024-08-08
收藏 1018KB PDF 举报
"MPI并行编程模型,特别是持久通信请求在CSS布局中的应用"
在MPI(Message Passing Interface)并行编程模型中,点对点通信是基础的通信方式,包括发送和接收消息。这些操作分为不同模式,如阻塞型、非阻塞型,以及各种优化模式,以适应不同的性能需求和程序设计。以下是对这些通信函数的详细说明:
**点对点通信函数汇总:**
1. **阻塞型** - 在主流程中等待通信完成。
- **MPI_Send**: 标准模式的阻塞发送,发送方在消息发送完毕前被阻塞。
- **MPI_Recv**: 消息接收函数,接收方在接收到消息前被阻塞。
2. **非阻塞型** - 允许发送方或接收方在消息传输期间继续执行其他任务。
- **MPI_Isend**: 异步发送,创建一个非阻塞发送请求。
- **MPI_Irecv**: 异步接收,创建一个非阻塞接收请求。
3. **优化模式** - 提供更快的通信速度。
- **MPI_Bsend**: 缓冲模式,预先缓冲消息以提高效率。
- **MPI_Ssend**: 同步模式,确保发送方在消息发出后立即释放资源。
- **MPI_Rsend**: 就绪模式,接收方需先通过MPI_Iprobe检测消息。
4. **消息检测与接收**:
- **MPI_Probe**: 检测但不接收消息,获取消息的相关信息。
- **MPI_Iprobe**: 异步检测消息。
5. **等待/查询函数**:
- **MPI_Wait**: 等待单个非阻塞请求完成。
- **MPI_Test**: 查询单个非阻塞请求状态。
- **MPI_Waitall**: 等待所有指定的非阻塞请求完成。
- **MPI_Testall**: 查询所有指定的非阻塞请求状态。
- **MPI_Waitany**: 等待任一非阻塞请求完成,并返回其索引。
- **MPI_Testany**: 查询任一非阻塞请求状态,并返回其索引。
- **MPI_Waitsome**: 等待至少一个非阻塞请求完成,返回完成请求的索引。
- **MPI_Testsome**: 查询至少一个非阻塞请求状态,返回完成请求的索引。
6. **请求管理**:
- **MPI_Request_free**: 释放通信请求资源。
- **MPI_Cancel**: 取消正在进行的通信请求。
- **MPI_Test_cancelled**: 检查请求是否已被取消。
**持久通信请求**:
持久通信请求允许程序员预定义一组通信参数,如发送缓冲区、接收缓冲区、数据类型、目标进程等,以减少每次通信的设置成本。这在需要反复进行相同通信操作的场合特别有用。
**创建持久消息发送请求**:
- **MPI_Send_init**: 创建一个持久消息发送请求,返回一个请求句柄。这个请求句柄可以稍后用于实际发送操作,而无需每次都提供相同的参数。函数不会立即发送消息,而是为后续调用MPI_Start或MPI_Startall做准备。
例如,`MPI_Send_init`对应于非阻塞的**标准模式**发送。同样,还有`MPI_Bsend_init`、`MPI_Ssend_init`和`MPI_Rsend_init`分别对应于缓冲模式、同步模式和就绪模式的非阻塞发送。
通过持久通信请求,开发者可以实现更高效、更简洁的MPI程序,尤其是在循环发送或接收相同数据时,能够显著减少通信开销。
以上内容主要围绕MPI的点对点通信展开,介绍了不同类型的通信模式和管理机制,对于理解和优化MPI程序的性能至关重要。此外,了解MPI的基础知识,如通信器、数据类型和基本函数,是编写高效并行程序的前提。在并行计算领域,MPI已成为事实上的标准,广泛应用于各种规模的并行计算系统中。
2024-02-01 上传
2024-12-25 上传
2024-12-25 上传
2024-12-25 上传
幽灵机师
- 粉丝: 35
- 资源: 3890
最新资源
- discBot
- accesslist:在渗透测试中使用的多种类型的列表的集合,收集在一个地方。 列表类型包括用户名,密码,组合,单词列表等等。
- Technologieplauscherl-Steyr:在斯太尔展示 Technologieplauscherl
- practice-code:来自各种竞争平台的Java中用于设计模式的代码
- 2021“昇腾杯”遥感影像智能处理算法大赛——语义分割赛道,冠军方案.zip
- spate141
- PositioningandFloatingElements:一种使用HMTL和CSS知识以及最近学习的float元素的实践
- Learn-Chess-Commentary
- Python库 | genomedata-1.1.0-py2.5.egg
- areddy831.github.io:按建筑风格对图像进行分类
- seash:Rust中的最小外壳
- 课程测试
- gatsby-starter-styleguide:根据您的主题UI配置立即创建样式指南页面。 零配置-只需安装主题并查看以精美的方式显示的主题UI配置
- 使用循环【迭代】来进行转化数字为中文
- ArduinoPlusPlus:无需编程即可编程arduino
- snappy:Ruby的libsnappy绑定