搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
AllinToyou
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
OpenVINO™赋能千元级AI开发板大语言模型_intel openvino如何结合软件
2
springboot 配置方式_${jdbc.username}
3
解析Spark Executor内幕,详解CoarseGrainedExecutorBackend
4
vuex全面用法总结详解_vuex用法
5
前端之HTML&CSS_html&css前端
6
【MAC】M2 安装docker 与 mysql
7
如果看待HarmonyOS鸿蒙开闭源的抉择_harmonyos是闭源还是开源
8
【并发专题】手写MyReentantLock_手写 reentrantlock
9
[UIScreen mainScreen].bounds.size.width 和self.view.frame.size.width的区别
10
中国计算机学会推荐国际学术刊物
当前位置:
article
> 正文
MPI基础_mpibtly
作者:AllinToyou | 2024-03-18 04:01:00
赞
踩
mpibtly
1.MPI可以是共享内存,也可以是非共享内存
2.MPI通过一组API(函数)进行调用
3.启动和终止MPI环境
启动和终止分别通过如下API
int MPI_Init(int *argc,char ***argv)
int MPI_Finalize()
argc和argv是C程序中的命令行参数,MPI运行时,会在函数返回前从argv中移走MPI库应能处理的所有命令行参数,并相应地减少argc的数值
两个函数的返回值是 MPI成功?MPI_SUCCESS:错误代码
而在Fortran中,函数声明是
MPI_Init(IERROR)
MPI_Finalize(IERROR)
唯一的参数是返回的错误代码
头文件是
mpi.h
4.获取信息
关于通信域:df是一组相互通信的进程的集合。在MPI中,MPI_Comm型变量被称为通信器,作为参数用于所有的消息传递MPI函数中,并唯一标识参与消息传送操作的进程。同时,每个进程都可以属于不同的通信域。
MPI中定义了一个
包含所有MPI进程
的通信器
MPI_COMM_WORLD
。
确定进程数目以及调用进程的标号函数声明如下:
int MPI_Comm_size(MPI_Comm comm,int *size)
int MPI_Comm_rank(MPI_Comm,int *rank)
第一个函数通过size返回属于通信器的进程数,函数返回值是错误代码
第二个函数通过rank返回等级(阶),rank范围是0到comm-1,一般0是主进程
在Fortran中的定义是类似的
5.发送和接收消息
发送和接收消息的基本函数定义如下:
int MPI_Send(void *buf,int count,MPI_Datatype datatype,int dest,int tag,MPI_Commm comm) //发送
int MPI_Recv(void *buf,int count,MPI_Datatype datatype,int source,int tag,MPI_Comm comm,
MPI_Status *status
) //接收
函数参数中的MPI_Datatype 这个参数,跟C对应一下就可以了,如C中是int 那这里就是MPI_INT C中是double,那这里就是MPI_DOUBLE,例子如下:
MPI_Send(msg,size,
MPI_INT
,(my_rank+1)%comm_sz,0,comm);
MPI_Recv(new_msg,size,MPI_INT,(my_rank+comm_sz-1)%comm_sz,0,comm,
MPI_STATUS_IGNORE
)
还有两个没有对应的数据类型,分别是MPI_BYTE和MPI_PACKED,前者是一个字节,后者类似于struct,使用MPI_PACKED打包,并使用MPI_UNPACK解包,包内的数据可能并不相邻
tag是消息编号
,接收时,如果来源处有多个消息标志相同,则会接收这些消息中的任意一个。
tag和source可以使用通配符,如果source被设置为
MPI_ANY_SOURCE
,则通信域中的任何一个进程都能成为消息源。如果tag设置为
MPI_ANY_TAG
,那么任何标志的消息都能被接收
如果接收到的消息长度大于提供的缓冲区的长度,会返回MPI_ERR_TRUNCATE错误,表示溢出
MPI_Status定义如下:
typedef struct MPI_Status{
int MPI_SOURCE;
int MPI_TAG;//上面两个一般是设置成MPI_ANY_SOUNRCE和MPI_ANY_TAG时比较有用
int MPI_ERROR;//出错吗
}
获取接收消息的长度:
int MPI_Get_Count(MPI_Status *status,MPI_Datatype datatype,int *count)
count就是实际接收的数据项的数目了
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/AllinToyou/article/detail/260218
推荐阅读
article
在
低
版本
的Mac
OS
上
安装
合适的
Xcode
_不能将
xcode
安装
在
“
macintosh
hd”上,...
在
低
版本
的Mac
OS
上
安装
合适的
Xcode
_不能将
xcode
安装
在
“
macintosh
hd”上,因为需要
macos
...
赞
踩
article
chrome
实用
快捷键
及
自定义
搜索
引擎
_网址格式(用
“
%s”代替
搜索
字词)...
chrome
实用
快捷键
及
自定义
搜索
引擎
1.实用
快捷键
CTRL+F 查找CTRL+H 查看历史CTRL+J 查看下载记录C...
赞
踩
article
Python
模块
介绍-
requests
_
python
的
requests
模块
...
requests
模块
介绍_
python
的
requests
模块
python
的
requests
模块
...
赞
踩
article
idea
使用
指南_
idea
使用
详解
csdn
...
关于强转(CrcWorkExperienceAfter)obj;(List
[详细]
-->
赞
踩
article
gcc
环境变量
基础_
gcc
环境变量
设置
path
...
1.运行时动态库的搜索路径方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径方法二:通过
环境变量
LD_...
赞
踩
article
零基础
部署
chatglm
...
chatglm
, 类chatgpt, 聊天机器人,文心一言_
chatglm
chatglm
目录...
赞
踩
article
Ubuntu20.04卸载
clion
_
,
ubuntu
,
clion
卸载...
linux卸载
clion
_
,
ubuntu
,
clion
卸载
,
ubuntu
,
clion
卸载 如...
赞
踩
article
如何
使用
Sora
?
Sora
介绍
和
注册
使用
教程...
OpenAI的
Sora
开启了视频创作的新纪元,无论是专业人士还是爱好者,都可以轻松创作出高质量的视频内容。尽管仍有一些限...
赞
踩
article
如何
对
HttpWebRequest
异步
调用?...
public static ManualResetEvent allDone = new ManualResetEve...
赞
踩
article
HarmonyOS
学习
第二章
:初识
ArkTs
/
ArkUI
,
常用
组件
...
ArkTS是
HarmonyOS
的应用开发语言
,
它在保持TypeScript(简称TS)基本语法风格的基础上
,
对TS的动态...
赞
踩
article
华为
手机
鸿蒙
系统
有什么变化,【图片】
华为
鸿蒙
系统
的
厉害之处在于 你
可能
非用不可
!【
手机
吧】_百度贴...
该楼层疑似违规已被
系统
折叠隐藏此楼查看此楼
鸿蒙
的
厉害在于 你
可能
非用不可
瀑布先生06-05 09:52科技达人关注华...
赞
踩
article
Centos7.4下安装
Nvidia
驱动
_
centos
l4
显卡
...
一、环境信息1、操作系统:CentOS Linux release 7.4 (Core)2、
显卡
:NVIDIA GTX1...
赞
踩
article
C#
发送
Get
请求
(带
参数
)_
c#
get
请求
...
1.简单发送
Get
请求
/// /// 指定Url地址使用
Get
方式获取全部字符串/// ///
请求
链接地址/// p...
赞
踩
article
虚幻
4
-
ARPG
实战教程(
第一季
)-
房燕良
-专题视频
课程
...
以一个
ARPG
原型为实例,讲解
虚幻
4
引擎的技术和开发知识,重点包括项目框架搭建、动画系统(AnimGraph)等。_
虚幻
...
赞
踩
article
ChatGLM
-6B
微调
p
tuning
v2
和
lora
对比_p
tuning
和
lora
对比...
使用p
tuning
v2
和
lora
两种不同的方法
微调
chatglm-6b模型,对比两种
微调
方法的效果,验证
微调
是否能够...
赞
踩
article
2024年家政
预约
上门服务
小
程序
【用户端+商家端+师傅端】
源码
...
支持多城市多门下单,支持
预约
上门服务
+到店核销。主要功能:商家入住,师傅入住,缴纳保正金。024最新家政
预约
上门服务
小
程...
赞
踩
article
【达摩院
OpenVI
】老片
图像
上
色
,一键开源体验_
ddcolor
...
本文介绍开源
图像
上
色
一键体验,它是指对黑白
图像
添加
色
彩,使其变成彩
色
图像
。更具体的说,我们常见的彩
色
图像
通常是三通道
图像
...
赞
踩
article
技校
毕业
是
什么
学历_
技校
毕业
是
什么
学历
技校
属于
什么
文凭...
很多人都不清楚
技校
毕业
到底
是
什么
学历,下面小编整理了一些关于
技校
的信息,供大家参考!
技校
毕业
属于
什么
学历技工学校
毕业
证可...
赞
踩
article
ai
人工智能
_相信
AI
?...
ai
人工智能
什么是信任? (What Is Trust?)As I was leaving for a three-m...
赞
踩
article
Android
Studio
最新版
本首次
下载
和
安装
以及汉化教程【+第二次
安装
使用教程】_andro...
本教程详解首次
安装
和
下载
最新版
本的
Android
Studio
,以及汉化教程。另外详解当第二次
下载
使用时解决遇到的问题...
赞
踩
相关标签
xcode
macos
chrome
python
开发语言
intellij-idea
java
intellij idea
gcc
library
include
preprocessor
optimization
path
chatgpt
chatglm
文心一言
ubuntu
linux
运维
人工智能
harmonyos
学习
华为