windows+mpich2+vs2013环境搭建
- 格式:docx
- 大小:1.14 MB
- 文档页数:13
MPICH2在Windows系统Visual Studio 2010的环境搭建本机运行环境:机器型号:联想G450处理器:Pentium(R)Dual-Core CPU T4200 @ 2.00GHz运行内存(RAM):2GB操作系统:Windows 7(32位)程序开发环境:Visual Studio 2008MPI版本:mpich2-1.3.2p1-win-ia32安装程序MPI的编译和运行对于简单的程序,可以使用专门的编译命令。
对于大的项目,最好使用标准的Makefile。
MPICH提供的编译命令有mpicc和mpif77,它们分别是C和Fortran的编译命令: mpicc -o first first.cmpif77 -o first firstf.f对于编译得到的目标程序,运行的命令为:mpirun –arch xxx –np yyy first其中xxx为machines.<arch>的<arch>,yyy为申请的进程数目。
MPICH的安装和配置文中使用的MPICH2安装文件是mpich2-1.4-win-ia32(/mpi/mpich),在Windows下安装MPICH2比较简单,但是要有Microsoft .NET Framework的支持。
安装基本上只要单击“Next”即可。
在安装过程中会提示输入进程管理器的密码,这个密码被用来访问所有的程序,这里使用的密码为admin。
如果是多台机器执行mpi,那么这多台机器上必须配置相同的mpi用户,就是新用户的用户名和密码必须相同。
安装完成后,安装目录下的include子目录包含了编程所需要的所有头文件,lib子目录包含了相应的程序库,而子目录bin则包含了MPI在Windows下面必须的运行程序。
运行时需要的动态链接库被安装在了Windows系统目录中。
在Windows平台下可以使用Microsoft Visual Studio来开发MPI程序。
windows环境下VS2013编译openSSLopenssl版本:1.0.2h编译器:MSVC (VS2013) 需要准备工具:perl。
windows环境的perl下载请戳这里:/activeperl 打开VS2013的x86 Native command prompt(编译的是32位版本),并切换到ssl 的解压根路径:perl Configure VC-WIN32--prefix=C:\Build-OpenSSL-VC-32 #release版本用VC-WIN32 debug版本用debug-VC-WIN32ms\do_ms.batnmake -f ms\nt.maknmake -f ms\nt.mak install 运行之上命令,结果出错:ssembling:tmp32\sha1-586.asmtmp32\sha1-586.asm(1432) : errorA2070:invalid instruction operandstmp32\sha1-586.asm(1576) : error A2070:invalid instruction operands 然后原因追查到这里:https:///openssl/openssl/issues/169 看了之后才明白,原因是原来do_ms.bat 编译汇编是用的MASM编译器,MASM编译sha1-586.asm文件的时候出错了。
issue上面有人说说不要用masm编译,换成NASM编译,然后我再从NASM的官网下载了NASM,配上环境变量,运行以下命令: perl Configure VC-WIN32--prefix=C:\Build-OpenSSL-VC-32 #release版本用VC-WIN32 debug版本用debug-VC-WIN32ms\do_nasm.batnmake -f ms\nt.maknmake -f ms\nt.mak install 然后就能编译成功了。
并行计算环境搭建一.搭建并调试并行计算环境MPI的详细过程。
1.首先,我们选择在Windows XP平台下安装MPICH。
第一步确保Windows平台下安装上了.net框架。
2.在并行环境的每台机子上创建相同的用户名和密码,并使该平台下的各台主机在相同的工作组中。
3.登陆到新创建的帐号下,安装MPICH软件,在选择安装路径时,每台机子的安装路径要确保一致。
安装过程中,需要输入一致的passphrase,也即本机的用户名。
4.安装好软件后,要对并行环境进行配置(分为两步):第一步:注册。
在每台机器上运行wmpiregister,按照提示输入帐号和密码,即本机的登录用户名和密码。
第二步:配置主机。
在并行环境下,我们只有一台主机,其他机子作为端结点。
运行主机上的wmpiconfig,在界面左侧栏目中选择TNP工作组,点击“select”按钮,此时主机会在网络中搜索配置好并行环境的其他机子。
配置好并行环境的其他机子会出现绿色状态,点击“apply”按钮,最后点击“OK”按钮。
5.在并行环境下运行的必须是.exe文件,所以我们必须要对并行程序进行编译并生成.exe文件。
为此我们选择Visual C++6.0编译器对我们的C语言程序进行编译,在编译过程中,主要要配置编译器环境:(1)在编译器环境下选择“工程”,在“link”选项卡的“object/library modules”中输入mpi.lib,然后点击“OK”按钮。
(2)选择“选项”,点击“路径”选项卡,在“show directories for”下选择“Include files”,在“Directories”中输入MPICH软件中“Include”文件夹的路径;在“show directories for”下选择“Library files”,在“Directories”中输入MPICH软件中Library文件夹的路径,点击“OK”。
(3)对并行程序进行编译、链接,并生成.exe文件。
MPICH2的配置Windows环境下1.安装MPICH2,假设程序安装在C:\Program Files\MPICH2目录下2.将MPICH2路径C:\Program Files\MPICH2\bin加入到PA TH路径下:3.注册MPICH2,有两种方式1.窗口式:点击C:\Program Files\MPICH2\bin目录下的wmpiregister.exe, 出现如下窗口输入本地计算机的用户名和密码,点击Register,点击OK2.命令行式,开始->运行…->输入cmd->输入mpiexec –register, 出现如下窗口依次输入用户名和密码再确认一次,即可输入4.打开MPICH进程管理器服务程序:控制面板->管理工具->服务,找到如下服务确认其已经打开5.在VC项目中的程序配置1.打开VC6,在菜单工具->options…下的Directories下添加Include files:2.添加Library files:3.以C项目为例,新建一个C项目MPITest,新建一C文件HelloWorld.c, 文件内容如下:#include “mpi.h”#include <stdio.h>int main(int argc, char** argv){MPI_Init(&argc, &argv);printf(“Hello World!\n”);MPI_Finalize();return 0;}4.编译与连接:在工程菜单下的Setting…下选择Link选项卡,加入库文件mpi.lib,对于C++文件,加入cxx.lib和mpi.lib文件,对于fortran文件,VC6中加入fmpich2s.lib,VC2008中加入fmpich2.lib文件5.运行:运行时建议关闭防火墙1.命令行方式:在命令行模式下进入该目录,输入mpiexec –n 4 MPITest.exe, 即可得结果:2.窗口方式:在C:\Program Files\MPICH2\bin目录下打开wmpiexec.exe, 找到运行文件,设置进程数目,点击运行即可。
一、首先自己的计算机上进行测试1、命令行方式:注册:mpiexec -register输入你当前登陆帐户名和密码,不注册的话每次执行程序都要求输入帐户和密码。
运行:mpiexec -n 2 helloworld.exe这里用两个进程执行当前目录下的helloworld.exe,如果在linux下就应该写为mpiexec -n 2 ./helloworld.exe2、GUI方式:注册:开始菜单=>所有程序=>MPICH2=>wmpiregister.exe填上当前登陆用户名和密码,点击“register”将信息写入磁盘,再点“ok”关闭程序。
若先点击“ok”则是写入内存,重启机器后还要再注册。
想更换其他用户运行mpi程序时,点“remove”将原来的信息删除。
运行:开始菜单=>所有程序=>MPICH2=>wmpiexec.exe在Application处选择可执行程序,在Number of processes处选择用几个进程。
点“Execute”执行,“B reak”终止程序。
下面有个选项“more options”,选中后有更多的参数可选用,包括用配置文件执行程序,单机测试没必要写配置文件了吧。
二、加上多台计算机上测试首先、在其他的机器上也安装mpich2,版本不应该相差太远,最好同样版本,如mpich2-1.0.6。
其次、每个机器上的帐户要一样,如administrator,更重要的是密码也要一样!希望新手要注意:用户和密码都要求一致。
再次、一定要把所有机器的防火墙都关掉,windows防火墙最好也关掉,不然可能相互连接不上,或者执行的时候有奇怪的错误。
最后、是注册,配置,运行,还是有两种方式,分别介绍一下。
1、命令行方式:注册:将每台机器都注册,与单机测试时一样。
配置:写配置文件,在MPICH2中配置文件config_mpich2的格式如下:-n 2 -host 192.168.1.104 c:\mpi\helloworld.exe-n 2 -host 192.168.1.123 c:\mpi\helloworld.exe 表示在两台机器上各启动两个进程,这里可以写IP,也可以写机器名,如我WXFENG,JLU-F0BCE9654EA等等。
Vs2013学习心得一.关于如何发布程序:要想将自己的程序可以在其它电脑上运行,那么要做两点工作。
1.将平台工具集选择“Visual Studio 2013 -Windows XP”2.将运行库选择为【多线程/MT】或【多线程调试/MTD】3.如果使用了MFC,同理的要设置【在静态库中使用MFC】二.Vs2013下使用Armadillo+Openblas1.到网上下载相应的软件,查看Aramadillo下的D:\softFile\armadillo-6.200.5\include\armadillo_bits\config.hpp用notepad打开取下面两个注释:2.在vs2013中添加相应的库文件3.Openblas中的D:\softFile\OpenBlas\OpenBLAS-v0.2.15-Win64-int32\bin\libopenblas.dl l制作动态库libopenblas.lib1)用记事本新建文件命名nmake.bat写入一下几条语句set path=%path%;"D:\softFile\vs2013\VC\bin"cmd.exe \vcvars32.bat其中D:\softFile\vs2013\VC\bin是你的VS2013的安装路径2)将上面生成的文件保存在你下载的Openblas文件的bin文件目录下,并且双击鼠标,将会弹出cmd见面,然后在命令窗口中输入dumpbin -exports libopenblas.dll > t.txt3)将生成的t.txt中按一下删除。
4)将删除提示的语句,并且在剩下的第一列数字的前面加上@(整个一列)然后与最后一列对换。
如上图所示。
最后文件由t.txt重新命名libopenblas.def文件名。
5)再次双击nmake.bat文件输入:lib.exe /machine:x64 /def:liopenblas.def将会自动生成这两个文件。
Windows系统下搭建MPI环境MPI的全称是Message Passing Interface即标准消息传递界面,可以用于并行计算。
MPI的具体实现一般采用MPICH。
下面介绍如何在Windows XP系统下VC6中搭建MPI环境来编写MPI程序。
一.准备工作1.1 安装MPI的SDK——MPICH2。
mpich2-1.4.1p1-win-ia32安装程序的下载地址:/research/projects/mpich2/downloads/tarballs/ 1.4.1p1/mpich2-1.4.1p1-win-ia32.msi本文以设置安装在C:\Program Files\MPICH2目录下为例。
测试所安装的MPICH2测试前首先需要注册一个用户,具体操作如下:“开始”按钮-->所有程序-->MPICH2-->wmpiregister.exe。
输入用户名、密码。
有一点需要说明:该用户名须为有效的操作系统管理员账户,密码对应为系统登录密码。
如图所示:接下来选择开始-->所有程序-->MPICH2-->wmpiexec.exe;选择Application为c:\program files\mpich2\examples\cpi.exe (就是自带的一个计算圆周率的例子程序)。
在Number of processes的数量选择2表示用二个进程来协同完成。
选中“run in separate windw”选项。
再点击Excute就可以执行了。
然后在控制台窗口下提示输入number of intervals ,随便输入个大点的数字(50000,5000000)就可以看到求的的圆周率值。
如下图:注意到上图中的Show Comman中的字符串,可以在控制台下输入应该字符串得到类似结果,这里就不再介绍了。
1.2 在VC6中添加MPICH2先在VC6.0中加入mpi的include和lib。
vs2013使用教程VS2013(即Visual Studio 2013)是由微软公司开发的一款集成开发环境(IDE),主要用于开发软件应用程序。
下面是一份简要的VS2013使用教程,帮助您快速上手使用该IDE进行编程开发。
首次打开VS2013时,您将看到一个欢迎界面,这是一个起始页,提供了快速启动、创建项目、打开最近项目等功能。
您可以在这里选择相关操作来开始您的编程任务。
要创建新项目,您可以点击“新建项目”按钮或选择菜单栏中的“文件”>“新建”>“项目”。
在弹出的窗口中,您可以选择应用程序类型,如Windows应用程序、控制台应用程序、Web应用程序等。
选择适合您需求的项目类型后,您需要为项目指定一个名称、保存路径和解决方案名称。
点击“确定”后,VS2013将会自动为您创建项目的文件夹结构和一些默认的代码文件。
在VS2013中,您可以通过“工具”>“选项”来进行一些设置和配置。
这包括更改界面主题、设置字体和颜色、调整快捷键等。
此外,您还可以通过“工具”>“扩展和更新”来安装和管理各种扩展,以增强VS2013的功能和性能。
编写代码是使用VS2013的核心功能之一。
您可以通过“解决方案资源管理器”窗口访问项目文件,并在其中创建或编辑代码文件。
VS2013支持多种编程语言,如C++、C#、 等,您可以根据您的需求选择适合的语言来编写代码。
在代码编辑器中,您可以利用智能感知、代码提示、代码重构等功能来提高编码效率。
在VS2013中,调试代码是一个非常重要的步骤。
您可以通过点击“调试”>“开始调试”来启动调试器。
调试器允许您逐行执行代码,并在运行时查看变量的值、调用堆栈等信息,以帮助您找出代码中的错误和问题。
除了编程和调试功能外,VS2013还提供了其他一些有用的工具和功能,如资源管理器、源代码管理、报告生成器等。
您可以通过浏览“视图”>“其他窗口”来打开这些窗口,并在其上执行相关操作。
MPICH2配置和使用2.配置MPICH2环境变量在安装完成后,需要配置MPICH2的环境变量,以便系统能够找到MPICH2的安装路径。
在Windows系统中,可以在系统属性的高级选项中设置环境变量;在Linux和Mac OS系统中,可以在.bashrc或.profile文件中添加相应的环境变量。
3.编写并行程序使用MPICH2进行并行计算需要编写并行程序。
MPICH2支持多种编程语言,包括C、C++和Fortran。
根据自己的编程语言选择合适的编程接口,例如MPI(消息传递接口)或OpenMP(多线程编程接口)。
根据并行算法和计算模型,设计并实现相应的并行算法。
4.编译并行程序在编写完并行程序后,需要使用编译器将程序源代码编译成可执行文件。
对于C和C++程序,可以使用gcc或g++编译器;对于Fortran程序,可以使用gfortran编译器。
编译时需要链接MPICH2的库文件,以确保程序能够调用MPICH2提供的并行计算功能。
5.运行并行程序在编译完成后,可以使用命令行或脚本来运行并行程序。
运行时需要指定并行程序的执行方式、计算节点的数量和计算节点的地址。
MPICH2提供了一系列命令和选项,用于控制并行程序的执行和调试。
可以通过命令行参数或配置文件来指定这些选项。
6.监测和调试并行程序在并行程序运行过程中,可以使用MPICH2提供的工具来监测和调试程序的运行状态。
MPICH2提供了一系列命令行工具和图形界面工具,用于查看程序的运行日志、性能指标和调试信息。
可以根据需要选择合适的工具,以便及时发现和解决程序中的问题。
64位机+WIN7+VS2012+Intel.Visual.Fortran.XE2013-SP1+MPICH2并行环境设置实现攻略本人属于电脑菜鸟、编程菜鸟、并行菜鸟级初学者,在没有人指导的基础上,通过网上前辈积累的经验,和无数次撞墙,终于在64位win7台式机(8核,32G内存)上实现VS2012+IVF2013并行程序的编译,并且实现MPICH2下的并行计算。
如果有条件,建议在linux下进行并行运算,这是大牛们的建议。
但是本人计算机不能联网,且只有windows系统,所开展的并行计算规模也不是太大,主要是为了节省时间提高效率。
相信部分朋友还是有在windows下并行计算的需求,请并行大牛们不要鄙视,绕道通过。
IVF本身带MKL,可以开展并行计算,但是我不懂怎么弄,只好忽略。
以下是64位机+WIN7+VS2012+IVF2013-SP1+MPICH2实现的过程:1.设置计算机系统管理员用户名和密码。
这是由于在win7下装mpich2必须要使用管理员进行注册。
2.关掉window自带的防火墙,和安装的杀毒软件。
据说可能会导致mpich2成功启用,我没有严格对照过出现的问题是否是杀毒软件引起的,存疑,建议关闭防火墙和杀毒功能。
3.首先安装VS2012旗舰版。
安装位置默认是C:\Program Files (x86)\Microsoft Visual Studio11.0,但是不影响对64位的支持,前提是安装过程中全部安装(当中包括支持64位的选项),这一步具体可以参考别人的文章,海量。
4.其次安装IVF2013-SP1。
我仍然不确定IVF是否有32位和64位的差别,但是我下载的Intel.Visual.Fortran.XE2013-SP1安装过程中出现的部分语句显示是支持64的。
这一步具体参考别人的文章。
步骤3和步骤4的重点不在安装,而在环境设置中,参考步骤12-13。
5.现在安装MPICH2,我选择的64位:mpich2-1.4.1p1-win-x86-64。
OMG搭环境搭的要疯掉了,一定要写下来自己这一天的心路历程!!by ly
第一步:配置mpich2环境
1、一定要搞清楚64位还是32位。
我安装的是64位,mpich2用的是D:\安装程序\mpich2-1.4.1p1-win-x86-64.msi
安装过程:管理员身份运行cmd,找到.exe所在目录(C:\),输入
安装。
装到C:\Program Files\MPICH2
2、打开开始-所有程序-MPICH2-wmpiregister
3、打开进程管理器,若里面没有"smpd.exe"进程在运行的话,就要以管理员身份打开cmd,移动到安装目录(C:\Program Files\MPICH2\bin),运行命令:smpd -install-phrase beHappy
注意:此处必须以管理员身份运行,否则就会出现 OpenSCManager failed
进程管理器里面有"smpd.exe"进程运行的话就可以开始测试mpich2-1.4自带例子!
4、测试mpich2是否安装成功。
execute ,没有错误,可以运行
第二步:和vs2013连起来
一、fortran
1、新建项目
mpitest
2、找一个.f程序,编译运行,得到x64\Debug\ .exe文件
3、交给开始-->所有程序-->wmpiexec运行
4、
我最后配置好的截图(For):
二、c++
在预编译处理器定义里加一条_CRT_SECURE_NO_WARNINGS解决scanf报警的问题
(针对vs2012以上版本)
参考文档:
1、(对于配置mpich环境+vs2013C++有帮助)windows x64位系统下在VS2010下配置MPICH2&测试
/tao_405960616/article/details/49272101
2、(对于配置vs2013Fortran有帮助)/p-728410179.html
3
/z909768094/article/details/50926162
可供测试的程序(Fortran):
program main
implicit none
include'mpif.h'
integer ierr, rank, size, len
call MPI_INIT(ierr)
call
MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)
write(*, '("Hello, world, I am ", i2, " of ", i2, ": ", a)')
&rank, size
call MPI_FINALIZE(ierr)
end
可供测试的程序(c++):
#include"mpi.h"
#include<stdio.h>
int main(int argc,char*argv[])
{
int myid,nump;
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,&nump);
MPI_Get_processor_name(processor_name,&namelen);
fprintf(stderr,"hello world process %d of %d on %s\n", myid,nump,processor_name);
MPI_Finalize();
return0;
}。