美文网首页
MPI并行编程学习(3.15)

MPI并行编程学习(3.15)

作者: 西山十月 | 来源:发表于2016-03-15 22:32 被阅读493次

我大约是3.11日安装好mpi-fortran-win的配置环境的,到今天已经过去5天了,今天一天都没有搞科研,上午急急忙忙等老板签字、老板分配行政任务,东晃晃西晃晃一上午没了,下午2点半到实验室,晃悠到3点,开始写中文版的CSC申请文,一直写到晚上9点40,目前22点了,抓紧这半小时梳理一下最近对MPI的学习吧。

我主要看MPI User's Guide inFortran和《高性能计算之并行编程技术——MPI并行程序设计》,两本书各有千秋,推荐从英文版入手。对于高级编程还要多自己琢磨,看更多的书。我感觉这两本学超级入门还行,稍微复杂点就不行了。

MPI,我学到了什么?

1、MPI编程分为对等模式和主从模式

对等模式:多进程(process,not thread)并列运行,通过Recv和Send来实现进程间的数据通信;

主从模式:主进程负责数据的I/O和广播(Bcast)、收集(Gather)或者归约(Reduce),一般这些已经满足常见要求。

组通信:包括散发、同步、全互换、组收集和广播、收集、归约等,组通信分为一对多、多对一、多对多等通信模式。

2、不连续数据通信

连续数据发送非常方便,两进程之间可以直接用Sendrecv。对于不连续的数据一般采用两种:派生数据类型和打包发送。这里主要讲派生类数据类型。

不连续数据通信是拓扑分块并行的基础。派生数据类型主要分为:连续复制类型、向量类型、索引类型、结构类型四种,其中MPI_Type_struct和MPI_Type_vector是非常实用的两种,在进行规则正方形拓扑分块时,向量类型十分有用;在不规则变量通信时,结构类型使通信加快,但程序写作要遵循一定格式。

3、理解MPI进程组、通信域、通信上下文之间的关系,为拓扑虚拟结构理解作准备

感觉用处不大,有感觉就行,有待以后有深入理解后补充。

4、拓扑结构(笛卡尔均匀分区)

可以看到之前的学习都比较有目的性,作为一个工具,没有必要面面俱到,那就将目的性彻底化,用笛卡尔分块完成拓扑并行编程。此后详细说明尝试过程。

相关文章

  • MPI并行编程学习(3.15)

    我大约是3.11日安装好mpi-fortran-win的配置环境的,到今天已经过去5天了,今天一天都没有搞科研,上...

  • MPI编程入门详解

    MPI简介 说到并行计算,我们有一个不可绕开的话题——MPI编程。MPI是一个跨语言的通讯协议,用于编写并行计算机...

  • MapReduce学习(一)、(二)

    MapReduce:分布式并行编程框架 (一)概述 1.与传统并行计算框架的对比 传统的并行计算框架(如MPI)采...

  • 历数学习 MPICH2 遇到的坑-1

    参考书籍为 高性能计算之并行编程技术—— MPI并行程序设计.pdf 1. Windows 8.1 + Visua...

  • Lecture #11 & #12

    MPI(Message Passing Interface) 高性能计算中标准的并行编程模型,他是通用的,通用也是...

  • Windows搭建一个MPI环境

    参考文档:如何在win10+vs2013上配置MPI并行编程环境[https://www.jianshu.com/...

  • 安装和使用 mpi4py

    在上一篇中我们简要介绍了 mpi4py 及其所提供的并行编程功能,本文介绍如何安装和使用 mpi4py。 安装依赖...

  • mpi4py 点到点通信

    在上一篇中我们已经通过几个简单的例子展示了使用 mpi4py 进行 Python 的并行编程方法,大家可以看到使用...

  • 对等模式 实现Jacobi迭代的并行计算 C++版

    两小时入门MPI与并行计算(五):对等模式(实现Jacobi迭代的并行计算)[https://zhuanlan.z...

  • 并行快速傅里叶变换 mpi4py-fft

    在上一篇中我们介绍了一个使用 mpi4py 实现的并行日志工具 —— python-mpi-logger,下面将介...

网友评论

      本文标题:MPI并行编程学习(3.15)

      本文链接:https://www.haomeiwen.com/subject/dxjqlttx.html