win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入
1. Mpich下载地址http://www.mpich.org/downloads/,下载mpich2-1.4.1p1-win-x86-64(32位系统请下载mpich2-1.4.1p1-win-ia32)并安装!
2. 最好切换到管理员(administrator)用户安装mpich2,可以省掉很多麻烦!此教程安装目录为D:\Program Files\MPICH2
3. 安装完成后,打开“开始-所有程序-MPICH-wmpiregister.exe” ,在Account中输入本机用户名,在password中输入本机密码,(win8.1系统绑定outlook邮箱的账号,使用装机时用户名+outlook邮箱密码登陆),点击Register按钮注册并按OK按钮退出。

4. 打开进程管理器,若里面没有"smpd.exe"进程在运行的话,就要以管理员身份打开cmd,移动到安装目录(C:\Program Files\MPICH2\bin),运行命令:smpd -install -phrase beHappy
注意:此处必须以管理员身份运行,否则就会出现 OpenSCManager failed
5. 进程管理器里面有"smpd.exe"进程运行的话就可以开始测试mpich2-1.4自带例子!
6. mpich2-1.4安装目录下有examples目录,安装完成后可以打开“开始-所有程序-MPICH-wmpiexec.exe”,在Application右边浏览找到你examples目录下的cpi.exe, 设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。若提示 Credentials for yyy rejected connecting to XXX则表明账户用户名或密码不匹配。注册的用户名和密码必须要是能登陆电脑的用户名和密码。若出现如下图的提示,则表明安装成功。

若程序涉及scanf输入字符,请先勾选run in an separate window前面的复选框,再点击Execute,在命令行窗口中执行!如下图:

7. 新建一个VC++空项目,在源文件上点击右键,添加->新建项->c++文件!在刚新建的文件里写如下内容并保存:
#include "mpi.h"
#include <stdio.h>
#include <math.h>
void main(int argc,char *argv[])
{
//整型变量myid 和numprocs分别用来记录某一个并行执行进程的标识和所有参加计算的进程的个数
int myid, numprocs;
//namelen是实际得到的机器名字的长度
int namelen;
//机器名放在变量processor_name
char processor_name[MPI_MAX_PROCESSOR_NAME];
//初始化
MPI_Init(&argc,&argv);
//得到当前正在运行的进程的标识号, 放在myid中
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
//得到所有参加运算的进程的个数 放在numprocs中
MPI_Comm_size(MPI_COMM_WORLD,&numprocs);
MPI_Get_processor_name(processor_name,&namelen);
fprintf(stderr," Hello World! Process %d of %d on %s\n",myid, numprocs, processor_name);
//结束
MPI_Finalize();
}
8. 在项目名称上右键选择【属性】,即进入【属性页】窗口。
9. 展开左边Configuration Properties【配置属性】,选中其中的VC++ Directories【VC++ 目录】,在右边Include Directories【包含目录】加入“D:\Program Files\MPICH2\include;”(此处为mpich2安装目录)
10. 展开左边Configuration Properties【配置属性】,选中其中的VC++ Directories【VC++ 目录】,在右边Library Directories【库目录】加入“D:\Program Files\MPICH2\lib;” (此处为mpich2安装目录)


11. 同样展开C/C++,选中Code Generation【代码生成】,把右边的Runtime Library【运行库】更改为”Multi-threaded Debug (/MTd)”【多线程调试(/MTd)】(此外有下拉菜单可选到它)。

12. 展开左边的Linker【链接器】,选中Input【输入】,在右边Additional Dependencies【附加依赖项】中加入“mpi.lib;”。

13. 如果用32位的同学,这时候就能成功编译了!!若使用64位的同学则还需要在选择Debug环境的时候要选择x64而不是win32。设置方法也很简单:点击你原来win32的下拉菜单,有个“配置管理器”,点击会有个对话框,击平台的那个下拉菜单,新建,选择x64并确定!

配置完成后生成解决方案开始测试新建的项目!
14. 如何运行MPI程序?
打开“开始-所有程序-MPICH-wmpiexec.exe”,在Application右边浏览找到你在VS2010中生成的exe文件(64位操作系统必须选择x64-debug下的exe文件),设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。


win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入的更多相关文章
- 联想笔记本V470安装Win8.1 X64位系统,关机黑屏、电源灯亮
以前的WIN7 X86系统用了很长时间了,软件业装了很多,现在使用的时候就有点卡了,最近决定重装个系统,后台发现开发的有一个东西要求WIN8 X64位的,就下载了一个准备直接安装了,也从此开始了整整2 ...
- 在win8.1 64位系统+cocos2d-x2.2.3下搭建android交叉编译环境
搭建前须要下载的软件包(默认已搭建好cocos2d-x而且可在VS上执行,本人VS版本号为2013): 1:java 下载地址:http://www.java.com/zh_CN/download/m ...
- (转)关于X64位系统IIS7下支持32位asp.net程序
最近在windows2008 x64位系统下的IIS7下部署asp.net程序. vs2005或vs2008默认的情况下是Any cpu 的也就是支持x86和x64两种系统的.可我的程序在引用了一个三 ...
- 【解决】U盘装系统(Win7/Win8)& 装双系统
作为一名计算机的学生,不会装系统是不是会被笑掉大牙?!! .. 我一直就不太会(不是不会,是不熟练) .. 所以今天闲着没事,把旧电脑捣鼓起来 .. 主要是为了熟悉U盘装系统和装双系统的步骤 .. 基 ...
- 64位系统web项目导出excel问题分析及解决方法汇总
最近在web项目中做了一个导出Excel功能.在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败. 一 ...
- linux下jdk环境变量配置深度分析----解决环境变量不生效的问题
1.linux下jdk环境变量配置 是否需要配置环境变量,主要看java -version 显示的版本是否为你期望的版本 1.1 不需要配置环境变量的情况 使用java -version查看,版本显示 ...
- win7/WIN8.1(x64) 下使用MSDE WIN10不行
通过强制安装(使用管理员权限),手工启动服务的方式,能够在其win7 win81上安装并使用MSDE Microsoft SQL Server 2000 Service Pack 4 Desktop ...
- Win7以上 32/64位系统隐藏托盘图标
前两天有朋友找我,让帮忙写个小工具,隐藏windows的托盘图标,想想最近在家也不想做太复杂的事,也好几年没写过windows上的小工具了,就答应了.想来挺简单的事,没想到还是有点小插曲的.特地来博客 ...
- 在Win8.1(64位)系统上安装Scrapy(python 2.7.7)
为了在win8.1上安装scrapy折腾了好久,最终安装成功,总结步骤如下: 下载安装Visual C++ 2008 redistributables 安装lxml-3.2.4.win-amd64-p ...
随机推荐
- 利用轮播原理结合hammer.js实现简洁的滑屏功能
最近有个任务,做一个非常小的h5的应用,只有2屏,需要做横向的全屏滑动切换和一些简单的动画效果,之前做这种东西用的是fullpage.js和jquery,性能不是很好,于是就想自己动手弄一个简单的东西 ...
- NAT概述
引言 私有IP是无法在因特网上使用的,而如今普遍使用的宽带网络(ADSL)最多所能提供给用户的IP为16个,最少则为一个,万一企业内部有50台计算机要同时连接上因特网,该如何解决呢?这个问题的正确解决 ...
- 用maven配置springboot+freemarker
1.创建项目 直接点下一步 原因: 不勾选 Create from archetype,是项目创建的骨架的时候,由于不知道什么原因就卡住了,一直在刷新 2.创建之后完成之后 添加依赖 <pa ...
- js实现两个页面之间跳转参数传递
html在设计时,规定跳转地址后加"?"表示从此开始为跟随页面地址跳转的参数. 有时候,我们希望获得相应的跳转前页面里的内容,这时候我们就可以考虑将内容以参数形式放到地址中传过来, ...
- thinkphp1
命名空间 含义:从广义上来说,命名空间是一种封装事物的方法. 用途:用来解决命名冲突 namespace xxx\xxx; 使用: use xxx\xx\yy; new\xx\xx\yy; // 单一 ...
- Ecshop:后台添加新功能栏目以及管理权限设置
一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...
- 《大道至简》第一章读后感(java语言伪代码)
中秋放假之际读了建民老师介绍的<大道至简>的第一章,其中以愚公移山的故事形象的介绍向介绍编程的精义.愚公的出现要远远早于计算机发展的历史,甚至早于一些西方国家的文明史.但是,这个故事许是我 ...
- Python环境安装
Windows: 1.Python安装包下载 可以去官网下载安装包:https://www.python.org/downloads/ 2.Python安装 默认安装路径:C:\python27:也可 ...
- osip2 代码分析
主要类型定义: 1.osip_t /** * Structure for osip handling. * In order to use osip, you have to manage at le ...
- Oracle 教程
视频教程 Oracle DBA数据库高级工程师职业学习指南与职业规划视频课程