MPI-3 新特性

上一篇中我们介绍了 SLURM 资源管理系统,下面将介绍 MPI-3 的新特性。

在前面我们介绍了 MPI 的基本概念和使用 mpi4py 在 Python 环境下进行 MPI 编程的方法。不过前面的介绍主要基于 MPI-1 和 MPI-2 标准,最新的 MPI-3 标准已经发布,MPI-3 引进了若干新特性,并对之前版本的部分特性作了扩充和改进,这些新特性使我们能够更好地使用 MPI 以满足更高的并行计算需求和应对更加广泛的并行计算平台。各大 MPI 软件实现已支持 MPI-3 标准,我们有必要加以了解。

MPI 发布历史

  • 版本:1.0 (1994 年 5 月),1.1 (1995 年 6 月),1.2 (1997 年 7 月),1.3 (2008 年 5月)

    引进了基本的消息传递概念。

  • 版本:2.0 (1997 年 7 月),2.1 (2008 年 6 月)

    增加了单边通信和并行 I/O 特性。

  • 版本:2.2 (2009 年 9 月)

    小的改正。

  • 版本:3.0 (2012 年 9 月)

    增加若干新特性,为 MPI 标准较为重大的更新。

  • 版本:3.1 (2015 年 6 月)

    主要是对 MPI 3.0 的改正,也增加了少量新特性。

当前最新的 MPI 标准为 MPI 3.1,我们将要介绍的 MPI-3,如不特别加以说明,即指 MPI 3.1 标准。

MPI 3.0

主要新特性

  • 非阻塞集合通信
  • 近邻集合通信(阻塞 + 非阻塞)
  • 单边通信增强
  • 共享内存扩展
  • 新的 Fortran 2008 接口
  • 新的工具接口(MPI_T)

小的改动和增加

  • 用于混合编程的线程安全的 Mprobe 和 Mrecv
  • 非阻塞通信子复制和组集合通信子创建
  • 新函数 MPI_Type_create_hindexed_block
  • 大的计数 MPI_Count 及相关函数
  • 去掉 C++ 接口
  • 其它小的改动

MPI 3.1

错误改正

  • 若干工具接口(MPI_T)改正
  • 若干新的 Fortran 2008 接口改正
  • 少量单边通信改正

增加的新特性

  • 地址 + 和 - 被替换为 MPI_Aint_add 和 MPI_Aint_diff
  • 单边通信窗口创建函数增加新的 info 项 same_disp_unit
  • 非阻塞集合并行 I/O 函数: MPI_File_iread_at_all + MPI_File_iwrite_at_all 和 MPI_File_iread_all + MPI_File_iwrite_all
  • 工具接口(MPI_T)增加 3 个新函数和 2 个新的错误代码

以上概要地介绍了最新的 MPI-3 标准中引进的新特性,mpi4py 3.0.0 支持 MPI-3 的很多新特性,我们将在后面逐步介绍,在下一篇中我们首先介绍 mpi4py 中的非阻塞集合通信。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 计算机编程语言很多,但是适合高性能数值计算的语言却并不多,在高性能计算的项目中通常会使用到的语言有 Fort...
    自可乐阅读 19,931评论 3 22
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,860评论 25 709
  • 阅读时间:一小时 收获:今天读到一个章节,描写的作者在曾经读书过程中遇到的表述问题。“虽然大脑中已经有了一个图案,...
    鈞阳阅读 406评论 0 0
  • 凡大毅力者,必建大功业。
    竹孤阅读 264评论 0 0
  • 我有一个非常严厉的母亲,和一个情绪总是失控的父亲。 小时候,会因为考了第三名而不敢回家,拿着卷子战战兢...
    美少女戰士阅读 244评论 1 2