MPI初学-安装及OpenMPI函数说明
2016-08-14 19:39
316 查看
一、Mac下OpenMPI的安装
所用电脑:MacBook Pro,OSX 10.11.2
从openmpi官网下载相应版本:OpenMPI 1.8下载解压文件
双击解压或者tar zxvf openmpi***.tar.gz
指定安装路径
进入解压的目录,指定要安装的路径:./condigure --prefix=/usr/local
编译mpi源码
make all
sudo make安装
sudo make install
检查是否加入环境变量
echo $PATH 查看MPI所在的/usr/local/bin是否在环境变量PATH中
编译examples源码并运行
首先进入examples文件夹,该文件夹下有一些MPI的简单源码例子
编译hello world的C程序,mpicc hello_c.c -o test
或者编译hello world的C++程序,mpicxx hello_cxx.cc -o test
这样生成名叫test的可执行程序,然后使用mpirun执行:mpirun -np 2 ./test //np指定使用几个进程
二、MPI函数简单说明
下面以examples里的hello_c.c为例说明MPI常用函数int myid, numprocess; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myid); MPI_Comm_size(MPI_COMM_WORLD, &numprocess); MPI_Get_processor_name(processor_name, &namelen); fprintf(stderr, "To you : Process %d of %d on %s\n", myid, numprocess, processor_name); MPI_Finalize(); return 0;
初始化 MPI_Init(int argc, char **argv)
参数:argc变量个数,argv变量数组
获取当前进程标识 MPI_Comm_rank(MPI_Comm comm, int rank)
参数:comm该进程所在的通信域句柄,rank该进程在通信域中的标识号
获取通信域进程总数 MPI_Comm_size(MPI_Comm comm,int size)
参数:comm该进程所在的通信域句柄,size通信域comm中的进程总数
获取本线程机器名 MPI_Get_processor_name(char *name,int resultlen)
参数:name为返回的机器名字符,resultlen为机器名长度
结束函数 MPI_Finalize()
另外,MPI有预定义的数据类型与C语言中的对应关系如下:
MPI数据类型 对应C数据类型MPI_CHAR signed char
MPI_SHORT signed short int
MPI_INT signed int
MPI_LONG signed long int
MPI_UNSIGNED_CHAR unsigned char
MPI_UNSIGNED_SHORT unsigned short int
MPI_UNSIGNED unsigned int
MPI_UNSIGNED_LONG unsigned long int
MPI_FLOAT float
MPI_DOUBLE double
MPI_LONG_DOUBLE long double
MPI_BYTE 无相应数据类型
MPI_PACKED 无相应数据类型
MPI_LONG_LONG_INT long long int
相关文章推荐
- MPI函数说明及示例
- Vim初学 - 经典vim插件功能说明、安装方法和使用方法介绍
- MPI 函数说明 Dining philosophers哲学家进餐问题
- TC2.0函数说明
- SQLServer2000 JDBC驱动的完整安装及测试说明
- phplib7.2 模版功能函数说明
- php中几个字符处理函数的说明
- WebSphere多节点安装及"克隆"配置说明
- C++的一些基本功,包括对常量成员函数的一些特殊说明
- oracle8i for unixware安装说明
- 关于Webmin:(一)安装说明
- header()函数使用说明
- 别人写的关于在Windows下安装BugZilla的说明,不错,值得借鉴
- Asp.Net Forums2.0安装说明
- 一些函数调用的说明
- JScript中正则表达函数的说明与应用
- iPlanet安装简单说明
- 转贴(csdn):JScript中正则表达函数的说明与应用
- JScript中正则表达函数的说明与应用
- Serv-U使用SQL Server作为存储源的安装说明