MPICHPBS用户使用指南.doc

MPICHPBS用户使用指南.doc

ID:59120478

大小:81.00 KB

页数:9页

时间:2020-09-15

MPICHPBS用户使用指南.doc_第1页
MPICHPBS用户使用指南.doc_第2页
MPICHPBS用户使用指南.doc_第3页
MPICHPBS用户使用指南.doc_第4页
MPICHPBS用户使用指南.doc_第5页
资源描述:

《MPICHPBS用户使用指南.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MPICH&PBS使用指南一、MPI编程1二、MPICH下编译和运行3三、PBS环境下运行4一、MPI编程1、MPI编程函数介绍MPI实际上是一个提供并行程序消息传递机制的函数库,有40多个函数,常用的有6个基本函数。下面以C语言为例简单介绍这些函数。(1)MPI_Init函数定义:intMPI_Init(int*argc,char***argv)功能:用命令行参数初始化MPI环境输入:argc、argv—表示命令行参数,同C语言的main()函数参数格式,argv中包含欲并行运行的进程数输出:返回值—非零/零表示初始化是否成功说明:该函数必须为程序中第一个调用

2、的MPI函数示例:MPI_Init(&argc,&argv);//argc、argv引用的是mian()函数的参数(2)MPI_Finalize函数定义:intMPI_Finalize(void)功能:结束MPI程序的运行,指结束MPI环境的使用输入:无输出:返回值—非零/零表示结束MPI环境是否成功说明:该函数必须为程序中最后一个调用的MPI函数示例:MPI_Finalize();(3)MPI_Comm_size函数定义:intMPI_Comm_size(MPI_Commcomm,int*size)功能:得到总进程数输入:comm通信域句柄(系统默认的为MPI

3、_COMM_WORLD,也可自己定义)输出:size,即通信域comm内包括的进程数整数(4)MPI_Comm_rank函数定义:intMPI_Comm_rank(MPI_Commcomm,int*rank)功能:得到本进程的进程号输入:comm,该进程所在的通信域句柄输出:rank,调用进程在comm中的标识号(5)MPI_Send函数定义:intMPI_Send(void*buf,intcount,MPI_Datatypedatatype,intdest,inttag,MPI_Commcomm)功能:发送消息给特定的进程输入:buf发送缓冲区的起始地址(可选

4、类型)count将发送的数据的个数(非负整数)datatype发送数据的数据类型(句柄)dest目的进程标识号(整型)tag消息标志(整型)comm通信域(句柄)输出:无(6)MPI_Recv函数定义:intMPI_Recv(void*buf,intcount,MPI_Datatypedatatype,intsource,inttag,MPI_Commcomm,MPI_Status*status)功能:接受别的进程发过来的消息输入:count最多可接收的数据的个数(整型)datatype接收数据的数据类型(句柄)source接收数据的来源即发送数据的进程的进程标

5、识号(整型)tag消息标识与相应的发送操作的表示相匹配相同(整型)comm本进程和发送进程所在的通信域(句柄)输出:buf接收缓冲区的起始地址(可选数据类型)status返回状态(状态类型MPI_Status)2、MPI程序示例MPI程序中必须包含MPI库的头文件,C语言头文件名为mpi.h,FORTRAN语言头文件名为mpif.h。/*helloworld.c程序清单*/#include“mpi.h”main(intargc,char**argv){intnumprocs,myrank,i,j,k;MPI_Statusstatus;charmsg[20];MP

6、I_Init(&argc,&argv);MPI_Comm_size(MPI_COMM_WORLD,&numprocs);//MPI_Comm_rank(MPI_COMM_WORLD,&myrank);if(myrank==0){strcpy(msg,”HelloWorld”);MPI_Send(msg,strlen(msg)+1,MPI_CHAR,1,99,MPI_COMM_WORLD);}elseif(myrank==1){MPI_Recv(msg,20,MPI_CHAR,0,99,MPI_COMM_WORLD,&status);printf(“Receive

7、message=%s”,msg);}MPI_Finalize();}二、MPICH下编译和运行1、编译MPICH环境下,程序的编译采用命令行方式,即在Linux命令行下用mpicc命令进行编译。编译命令格式:mpicc–o可执行文件名源程序文件名命令参数说明:(1)源程序文件经过mpicc编译连接以后得到可执行文件;(2)此处的mpicc命令就是/usr/local/topspin/mpi/mpich/bin/mpicc,下文中的mpirun_rsh也是在此目录下。程序编译示例:mpicc–ohelloworldhelloworld.c2、运行MPICH环境

8、下,程序的运行亦采用命令

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。