MPI 学习笔记(一)

本文是MPI学习笔记的第一部分,涵盖了MPI的初始化、结束、获取进程数量和rank,重点讨论了MPI数据传送,包括数据类型、匹配规则、通信组、发送与接收的阻塞和非阻塞方式,以及消息标签、状态参数和集合通信的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MPI学习笔记(一)

MPI_Init —— 初始化

int MPI_Init(int argc, char**argv){
   }

/*
	MPI_Init是MPI程序第一个调用,完成MPI程序的所有初始化操作。所有MPI程序第一条可执行语句都是这一句。
	
	要求main必须带参数运行,否则会出错

*/

MPI_Finalize —— 结束

int MPI_Finalize(void){
   }

/*
	MPI程序最后一个调用,是MPI的最后一条可执行语句,否则程序运行将不可预测。
	
	标志着并行代码结束,结束除了主进程外其他进程

	*/

MPI_Comm_size —— 获取进程个数

int MPI_Comm_size(MPI_Comm comm, int *size){
   }

MPI_Comm_rank —— 获取进程rank(id)

int MPI_Comm_rank(MPI_Comm comm, int *rank){
   }
//返回一个rank值,rank的范围在0-p-1之间,相当于进程的id。

以上方法例子

#include <stdio.h>
#include "mpi.h"

int main(int argc, char *argv[])
{
   
	int myid, numprocs;
	int namelen;
	char processor_name[MPI_MAX_PROCESSOR_NAME];
	/* INIT */
	MPI_Init(&argc, &argv);
	
	/* GET ID */
	MPI_Comm_rank(MPI_COMM_WORLD, &myid);
	/* GET SIZE */
	MPI_Comm_size(MPI_COMM_WORLD, &
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值