您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Compaq-Visual-Fortran-6.6-并行编程环境的配置
CompaqVisualFortran6.6并行编程环境的配置Windows平台并行编程环境的配置所用的软件:mpich2-1.0.5-win32-ia32.msiCompaqVisualFortran6.61、如果本机上没有安装过Microsoft.NET.Framework,安装1.0.5这个版本的mpich2时,那么会提示你安装,我装的是2.0版本dotnetfx.exe,2.0版本以上的都行,然后把mpich2-1.0.5装上。2、mpich2安装成功后,为了使用命令行方式执行程序的方便,将mpi路径C:\ProgramFiles\MPICH2\bin添加到环境变量path中,这样就可以在任何地方使用mpiexec了。3、CVF安装没什么,就是序列号老记不住,再写一遍,33206-050-0010743-00007。然后将mpich2的include和lib路径添加到CVF的搜索路径,在Tools=Options=Directories的Includefiles和Libraryfiles中。4、解决头文件问题。在fortran77的固定格式程序中,要加入一行include'mpif.h',头文件mpif.h中定义了MPI的一些常量。90程序就有点麻烦了,因为在fortran90程序中,习惯使用module,书上也说在90程序中要用usempi来替代include'mpif.h',可是mpich2-1.0.5中的lib和include文件夹里都没有那个mpi.mod,其他的mpich版本好像也没有,至少mpich.nt.1.2.5.exe没有。解决办法:1)、在90程序中也使用include'mpif.h',而且要把mpif.h中以C开头的注释前加上!,还有三行以CDEC$开头,也要用!来注释,不然出错。这中解决办法会更改mpif.h文件,那么再写77程序时是不是还要改回来呢,我试了helloworld程序,不改回来的话,77程序倒也不出错。2)、参考了网上的资料,自己做一个mpi.mod文件,写这样一段程序:modulempi!include'mpif.h'!****************endmodulempiprogrammainend将mpif.h文件中的内容都复制到星号处,并且也将以C开头的行改成前加上!。然后到debug目录下就找到了一个mpi.mod文件,将其拷贝到mpich的include目录下,再写90程序时就可以用usempi了。当然也可以弄一个release模式的,不过我连接时有两个警告,还没弄明白怎么回事。5、CVF编译连接选项的配置主要看了一篇官方文档,是在下载mpich时一起下载的。这里主要的步骤是红色字标出的,其他的选项不做也能成功编译连接,当然最好还是都改了。A.C/C++Tab–CATEGORY:PreprocessorAdd“C:\mpich2\include”tothe“Additionalincludedirectories”box.B.LinkTab–CATEGORY:Input·Add“C:\mpich2\lib”tothe“Additionallibrarypath”.·Add“cxx.lib”,“mpi.lib”,“fmpich2.lib”,“fmpich2s.lib”,and“fmpich2g.lib”totheendofthe“Object/librarymodules”box.·“cxxd.lib”shouldbeusedfortheDebugconfiguration.其实这里只填fmpich2s.lib就可以了,当然最好都填上吧。而且可以不在Link=Gaegory:Input这个选项卡上改,而是在程序文件的开始处加上一行:!DEC$OBJCOMMENTLBI:fmpich2s.lib这样程序的可移植性更好。C.FortranTab–CATEGORY:ExternalProcedures·ArgumentPassingConventions:C,byreference·Stringlengthargumentpassing:AfterallargsD.FortranTab–CATEGORY:Preprocessor·PredefinedPreprocessorSymbols:MPI(addthistowhatisthere).(Thisisonlyreallyneededifpreprocessingisdone,butwon’thurttoadd.)·INCLUDEandUSEPaths:C:\mpich2\include·SelectUseFPP6、每新建一个工程,都要像5中那样去设置选项,很是麻烦。在CVF这里可以保存下这些设置。点击菜单File=SaveFortranEnvironment,点击SaveEnvironment按钮,即保存一个新的环境(可以给一个名称),这样就可以在进行并行程序设计的时候,较为方便地使用这一编译环境,举例如下:(1)点击菜单File-New...;(2)在Projects标签中选择FortranConsoleApplication,然后再右侧输入框中给出项目的名称,点击OK;(3)在接下来的对话框中选择Anemptyproject,点击Finish。这时会弹出对话框”WouldyouliketoconsiderapplyingoptionsfromaSavedFortranConsoleEnvironments?”,点“是”;(4)在对话框中ListofConsoleEnvironment中,选择前面准备好的环境名称,点击Apply按钮,并确认;(5)在接下来的对话框中直接点击OK。/////////////////////////////很多Windows用户在应用并行环境时,发现对工程的设置非常麻烦,其实这一问题可以容易的解决。本文将就CompaqVisualFortran6.5环境中如何实现MPICH2并行计算做一简单的介绍。首先,介绍一下MPICH2的安装,MPICH2可以在以下网站免费下载,我下载的是Win32IA32平台的安装程序。在Windows下安装此程序即可,其默认安装目录为c:\programfiles\mpich2。在此目录下有四个子目录,分别为bin,example,include和lib。其中bin目录下有两个执行文件,smpd.exe和mpiexec.exe。在后面将介绍其应用。在“我的电脑”环境变量设置中将bin目录写入路径path变量,这样就可以在任何地方执行此目录下的文件了(或者,你可以将其copy到工作目录,如果你不闲烦的话)。其次,设置CVF6.5环境,这一步需要将MPICH2的include和lib目录写进CVF6.5的搜索目录。其做法请参考设置过程图解cvfdemo.html,其中需要注意的是将图解中的对应目录换成MPICH2目录下的include和lib。设置完成后,将本压缩包中mpich2.mod文件拷贝到MPICH2目录下的include子目录下。Mpich2.mod是我自己编写的一个接口程序,用于简化CVF6.5与MPICH2之间的环境设置,此程序必需放在正确的地方。最后,介绍如何运行并行程序。在本压缩包中有一个FORTRAN编码的例子hello.f90,此程序可以在CVF6.5环境下直接进行编译。注意,以后所有的并行程序的最前面必需加上“usempich2”这一行。这样才能正确编译并行程序。编译好后,会在当前工作目录的子目录debug下找到可执行文件hello.exe。在DOS命令行模式下,进入debug目录,首先键入“smpd”回车,这样开始调用并行运行服务,再执行“mpiexec–n5hello”,就可以看到hello.exe程序的运行结果。当然,这里的“5”是节点的个数,你可以更改此值,自己进行尝试。Ok,恭喜你,现在你已经可以运行一个完整的并行程序了。要想成为高手,还要不断努力。Goodluck。MPICH安装这里仅针对使用DigitalVisualFortran6.x编译器的情况对MPICH安装程序所附的说明文档作补充说明。对于VisualC++6.0编译器的情况仅提供参考。1.安装运行Setup.exe安装时,建议完全安装。Setup.exe运行完毕后,进行下面操作:(1)将{MPICH_root}\Sdk\Include和{MPICH_root}\Sdk\Lib目录下的所有文件分别拷贝到{MicrosoftVisualStudio}\Df98\Include和{MicrosoftVisualStudio}\Df98\Lib目录下;(2)将{MPICH_root}\RemoteShell\Bin加入到系统的PATH环境变量中。2.编译、链接MPI应用程序为了方便使用VisualFortran6.x编译器进行并行程序编译链接,在第一次使用其编译程序前,可以增加一个Fortran项目环境:(1)点击菜单File-New...;(2)在Projects标签中选择FortranConsoleApplication,然后再右侧输入框中填入新项目的名称,点击OK;(3)在接下来的对话框中选择Anemptyproject,点击Finish;(4)在接下来的对话框中直接点击OK;(5)点击菜单Project-Settings...,进行下面操作:I)在settingfor中,选择Win32debug;II)选择Fortran标签,进行下面操作:i)在Category一栏中选择“ExternalProcedures”;ii)在“ArgumentPassing”一栏中选择“C,ByReference”;iii)在“StringLengthArgument”一栏中选择“AfterAllArgs”;III)选择Link标签,进行下面操作:i)在Category一栏中选择“General”;ii)在Object/librarymodules中,添加ws2_32.lib、mpichd.lib、pmpichd.lib、romiod.lib,各库文件间用空格分开;IV)在settingfor中,选择Win32release;V)重复II)、III)的操作,只是库文件变为:ws2_32.lib、mpich.lib、pmpich.lib、romio.lib;VI)点击OK。(6)点击菜单File-SaveFortranEnvironment;(7)点击SaveEnvironment按钮,即保存一个新的环境(可以给一个名称);(8)关闭这个项目文件,并删除这个项目文件。这样就可以在进行并行程序设计的时候,较为方便地使用这一编译环境,举例如下:1)点击菜单File-New...;2)在Projects标签中选择FortranConsoleApplication,然后再右侧输入框中给出项目的名称,点击OK;3)在接下来的对话框中选择Anemptyproject,并选中复选框“TherearesavedFortranConsoleenvironments.Wouldyouliketoconsiderapplyingoptionsfromoneofthem?”,点击Finish;4)在对话框中ListofConsoleEnvironment中,选择前面准备好的环境名称,点击Apply按钮,并确认;5)在接下来的对话框中直接点击OK;在这个项目中就可以进行并行程序的开发。特别指出的是,在源程序中必须添加语句“include'mpif.h'”。3.运行MPI应用程序对于已经编译好的MPI程序,若只启动一个进程,则可以直接键入程序名,回车,即可运行
本文标题:Compaq-Visual-Fortran-6.6-并行编程环境的配置
链接地址:https://www.777doc.com/doc-4408580 .html