并行计算MPI(入门)——介绍

一、 MPI_COMM_WORLD, size and ranks

在开始编码之前,我们需要了解一些背景情况。 当使用 MPI 运行一个程序时,所有进程都被分组,我们称之为 “通信器”。 你可以把通信器看作一个将进程分组的盒子,允许它们进行通信。 每个通信都与一个通信器相关联,使通信可以到达不同的流程。 通信可以有两种类型

  1. Point-to-Point :同一通信器中的两个进程将进行通信。
  2. Collective :通信器中的所有进程都将一起通信。

1.1 MPI_COMM_WORLD

默认通讯器名为 MPI_COMM_WORLD。 程序启动时,它基本上会将所有进程分组。

1.2 size and ranks

通信工具创建后,其中的数字不会改变。 这个数字被称为通讯器的大小。 同时,通信器中的每个进程都有一个唯一的编号来识别它。 这个数字称为进程的秩.

现在,我们已经介绍了关于通信器的基本信息,让我们尝试制作第一个程序,一个非常简单的 Hello World。

2.例子:Hello world

2.1 MPI初始化和内存释放

首先,MPI 必须始终初始化和最终确定。 这两个操作必须始终是代码的第一次调用和最后一次调用。
因此,按照惯例,这两条命令总是在程序中首先和最后被调用。 相应的命令是 MPI_Init 和 MPI_Finalize。 MPI_Init 总是需要引用命令行参数,而 MPI_Finalize 则不需要。 因此,在 C++ 中,它们的代码如下:

int MPI_Init(int *argc, char ***argv);
int MPI_Finalize
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值