MPIVS 配置及编译_第1页
MPIVS 配置及编译_第2页
MPIVS 配置及编译_第3页
MPIVS 配置及编译_第4页
MPIVS 配置及编译_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 MPI+VS2010 配置及编译分类: 并行计算2013-04-06 16:57 1584人阅读 评论(0) 收藏 举报目录(?)+上学期学了多核计算,现在由于需要要重新配置环境,竟然忘了。又走了很多弯路,所以还是要记录下来。一  下载mpi for windows     在这一块我浪费了很多时间。首先windows下(自己电脑的多核)和一般的工作站是不一样的。windos为了兼容mpi,自己做了一个基于一般电脑的MPI实现,如果要安装真正意义的mpi,在intel上有。我这里是为

2、了在自己笔记本上学习mpi,用的市微软的HPC Pack 2008 R2 MS-MPI Redistributable Package with Service Pack 4 - 中文(简体),下载地址:。   不过如果是想在自己笔记本上用fortran版的mpi,即用fortran编译mpi,那么和这里的不一样。这里是c的。fortran的以后添加。二 安装mpi   我的电脑是64位的,所以安装的是mpi_x64.msi,默认安在C:Program FilesMicrosoft HPC Pack 2008 R2,三 配置vs2010 

3、60;  这里的配置有点多。   3.1配置目录,即加载Include和Lib库 3.2配置运行库 3.3预处理处理,这里至于为什么,我没搞懂, 3.4加载依赖项 四 编译这是一个测试例子,在vs2010下编译生成xx.exe文件(具体看自己的命名)cpp view plaincopy1. /* 2.   功能:mpi点对点通信 3.   时间: 4. */  5. #include<stdio.h> &

4、#160;6. #include<string.h>  7. #include"mpi.h"  8.   9. #define BUFLEN 512  10. int main(int argc, char *argv)  11.   12.     int myid,numprocs,next,namelen;  

5、13.     char bufferBUFLEN,processor_nameMPI_MAX_PROCESSOR_NAME;  14.     MPI_Status status;  15.   16.     /  17.     MPI_Init(&argc, &argv);  18.

6、    MPI_Comm_size(MPI_COMM_WORLD, &numprocs);  19.     MPI_Comm_rank(MPI_COMM_WORLD, &myid);  20.     MPI_Get_processor_name(processor_name, &namelen);  21.   22.  

7、0;  printf("Process %d on %s n", myid, processor_name);  23.     printf("Process %d of %d n", myid, numprocs);  24.     memset(buffer, 0, BU

8、FLEN*sizeof(char);  25.     if(myid = numprocs-1)  26.       27.         next = 0;  28.       29.     else

9、0; 30.       31.         next = myid+1;  32.       33.     if(myid = 0)  34.       35.    

10、     strcpy(buffer,"hello there");  36.         printf("%d sending '%s' n",myid, buffer);fflush(stdout);  37.         MPI_

11、Send(buffer,strlen(buffer)+1, MPI_CHAR, next, 99, MPI_COMM_WORLD);  38.         printf("%d receving n", myid);fflush(stdout);  39.         MPI_Recv(buffer,

12、 BUFLEN, MPI_CHAR, MPI_ANY_SOURCE, 99, MPI_COMM_WORLD, &status);  40.         printf("%d received '%s' n", myid, buffer);fflush(stdout);  41.    

13、60;  42.     else  43.       44.         printf("%d receiving n",myid);fflush(stdout);  45.         MPI_Recv(buffer,

14、0;BUFLEN, MPI_CHAR, MPI_ANY_SOURCE, 99, MPI_COMM_WORLD, &status);  46.         printf("%d received '%s' n", myid, buffer);fflush(stdout);  47.         MPI_Send(buffer,strlen(buffer)+1, MPI_CHAR, next, 99, MPI_COMM_WORLD);  48.         printf("%d sending '%s' n",myid, buffer);fflush(stdou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论