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 ...
随机推荐
- [poj2337]求字典序最小欧拉回路
注意:找出一条欧拉回路,与判定这个图能不能一笔联通...是不同的概念 c++奇怪的编译规则...生不如死啊... string怎么用啊...cincout来救? 可以直接.length()我也是长见识 ...
- ZeroMQ接口函数之 :zmq_msg_close – 释放一个ZMQ消息
ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_msg_close zmq_msg_close(3) ØMQ Manual - ØMQ/3. ...
- Unity3D DFGUI根据名称获取多个子控件代码
dfPanel control = gameObject.GetComponent<dfPanel>(); dfLabel avatarName = control.Find<dfL ...
- 记一次程序排错与std::getline
今天忙活了半个下午,查找正式环境上面一个程序的问题.这个程序的作用是监控文件夹,处理每一个文件,分析每个文件的每行记录,然后将这个文件拆分成两个结果文件投放到另外两个不同的目录下面去,当处理完这个文件 ...
- GET,POST — 简述
本文主要对GET与POST基本区别进行汇总并掌握,如有错误与遗漏之处,请指出. 文章出处:http://www.cnblogs.com/useryangtao/ 1. HTTP HTTP(即超文本传输 ...
- Codeforces554A:Kyoya and Photobooks
A. Kyoya and Photobooks Time Limit: 2000ms Memory Limit: 262144KB 64-bit integer IO format: %I64d ...
- MyBatis学习总结(六)——调用存储过程(转载)
本文转载自:http://www.cnblogs.com/jpf-java/p/6013518.html 一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存 ...
- visual stdio 2015安装配置及原理
安装与配置: 1.先配置好IIS,再安装visual stdio,主要原因系统会自注册.net Framework,若顺序不正确,则需手动注册,步骤: a. IIS可承载的Web核心 b. IIS6 ...
- php5.6 一键编译
1. 替换成aliyun的源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O ...
- Spark1.6.2 java实现读取json数据文件插入MySql数据库
public class Main implements Serializable { /** * */ private static final long serialVersionUID = -8 ...