




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Compaq Visual Fortran 6.6 并行编程环境的配置Windows平台并行编程环境的配置所用的软件:mpich2-1.0.5-win32-ia32.msi Compaq Visual Fortran 6.6 1、如果本机上没有安装过Microsoft .NET .Framework,安装1.0.5这个版本的mpich2时,那么会提示你安装, 我装的是2.0版本dotnetfx.exe,2.0版本以上的都行,然后把mpich2-1.0.5装上。2、mpich2安装成功后,为了使用命令行方式执行程序的方便,将mpi路径C:ProgramFilesMPICH2bin添加到环境变量path中,这样就可以在任何地方使用mpiexec了。3、CVF安装没什么,就是序列号老记不住,再写一遍,3320600007。然后将mpich2的include和lib路径添加到CVF的搜索路径,在Tools=Options=Directories的Include files和Library files中。 4、解决头文件问题。 在fortran77的固定格式程序中,要加入一行 include mpif.h ,头文件 mpif.h 中定义了MPI的一些常量。90程序就有点麻烦了,因为在fortran90程序中,习惯使用module,书上也说在90程序中要用 use mpi 来替代 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文件,写这样一段程序: module mpi ! include mpif.h ! *end module mpiprogram mainend将mpif.h文件中的内容都复制到星号处,并且也将以C开头的行改成前加上!。然后到debug目录下就找到了一个mpi.mod文件,将其拷贝到mpich的include目录下,再写90程序时就可以用 use mpi 了。当然也可以弄一个release模式的,不过我连接时有两个警告,还没弄明白怎么回事。5、CVF编译连接选项的配置 主要看了一篇官方文档,是在下载mpich时一起下载的。这里主要的步骤是红色字标出的,其他的选项不做也能成功编译连接,当然最好还是都改了。A. C/C+ Tab CATEGORY: PreprocessorAdd “C:mpich2include” to the “Additional include directories” box.B. Link Tab CATEGORY: Input Add “C:mpich2lib” to the “Additional library path”. Add “cxx.lib”, “mpi.lib”, “fmpich2.lib”, “fmpich2s.lib”, and “fmpich2g.lib” to the end of the “Object/library modules” box. “cxxd.lib” should be used for the Debug configuration.其实这里只填 fmpich2s.lib 就可以了,当然最好都填上吧。而且可以不在 Link=Gaegory : Input 这个选项卡上改,而是在程序文件的开始处加上一行:!DEC$ OBJCOMMENT LBI:fmpich2s.lib 这样程序的可移植性更好。C. Fortran Tab CATEGORY: External Procedures Argument Passing Conventions:C, by reference String length argument passing:After all argsD. Fortran Tab CATEGORY: Preprocessor Predefined Preprocessor Symbols:MPI (add this to what is there). (This is only really needed if preprocessing is done, but wont hurt to add.) INCLUDE and USE Paths:C:mpich2include Select Use FPP6、每新建一个工程,都要像5中那样去设置选项,很是麻烦。在CVF这里可以保存下这些设置。点击菜单File=Save Fortran Environment,点击Save Environment按钮,即保存一个新的环境(可以给一个名称),这样就可以在进行并行程序设计的时候,较为方便地使用这一编译环境,举例如下: (1) 点击菜单File-New. ; (2) 在Projects标签中选择Fortran Console Application,然后再右侧输入框中给出项目的名称,点击OK; (3) 在接下来的对话框中选择An empty project,点击Finish。这时会弹出对话框 ”Would you like to consider applying options from a Saved Fortran Console Environments? ”,点“是” ; (4) 在对话框中List of Console Environment中,选择前面准备好的环境名称,点击Apply按钮,并确认; (5) 在接下来的对话框中直接点击OK。/ 很多Windows用户在应用并行环境时,发现对工程的设置非常麻烦,其实这一问题可以容易的解决。本文将就Compaq Visual Fortran 6.5环境中如何实现MPICH2并行计算做一简单的介绍。 首先,介绍一下MPICH2的安装,MPICH2可以在以下网站免费下载/mpi/mpich2/,我下载的是Win32 IA32平台的安装程序/mpi/mpich2/downloads/mpich2-0.971-2-win32-ia32.msi 。在Windows下安装此程序即可,其默认安装目录为c:program filesmpich2。在此目录下有四个子目录,分别为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环境下直接进行编译。注意,以后所有的并行程序的最前面必需加上“use mpich2”这一行。这样才能正确编译并行程序。编译好后,会在当前工作目录的子目录debug下找到可执行文件hello.exe。在DOS命令行模式下,进入debug目录,首先键入“smpd”回车,这样开始调用并行运行服务,再执行“mpiexec n 5 hello”,就可以看到hello.exe程序的运行结果。当然,这里的“5”是节点的个数,你可以更改此值,自己进行尝试。Ok,恭喜你,现在你已经可以运行一个完整的并行程序了。要想成为高手,还要不断努力。Good luck。 MPICH安装 这里仅针对使用Digital Visual Fortran 6.x编译器的情况对MPICH安装程序所附 的说明文档作补充说明。对于Visual C+ 6.0编译器的情况仅提供参考。 1. 安装 运行Setup.exe安装时,建议完全安装。Setup.exe运行完毕后,进行下面操作: (1) 将MPICH_rootSdkInclude和MPICH_rootSdkLib目录下的所有文件 分别拷贝到Microsoft Visual StudioDf98Include和Microsoft Visual StudioDf98Lib目录下; (2) 将MPICH_rootRemoteShellBin加入到系统的PATH环境变量中。 2. 编译、链接MPI应用程序 为了方便使用Visual Fortran 6.x编译器进行并行程序编译链接,在第一次使用其编译程序前,可以增加一个Fortran项目环境: (1) 点击菜单File-New.; (2) 在Projects标签中选择Fortran Console Application,然后再右侧输入框中填入新项目的名称,点击OK; (3) 在接下来的对话框中选择An empty project,点击Finish; (4) 在接下来的对话框中直接点击OK; (5) 点击菜单Project-Settings.,进行下面操作: I) 在setting for中,选择Win32 debug; II) 选择Fortran标签,进行下面操作: i) 在Category一栏中选择“External Procedures”; ii) 在“Argument Passing”一栏中选择“C, By Reference”; iii) 在“String Length Argument”一栏中选择“After All Args”; III) 选择Link标签,进行下面操作: i) 在Category一栏中选择“General”; ii) 在Object/library modules中,添加ws2_32.lib、mpichd.lib、pmpichd.lib、romiod.lib,各库文件间用空格分开; IV) 在setting for中,选择Win32 release; V) 重复II)、III)的操作,只是库文件变为:ws2_32.lib、mpich.lib、pmpich.lib、romio.lib; VI) 点击OK。 (6) 点击菜单File-Save Fortran Environment; (7) 点击Save Environment按钮,即保存一个新的环境(可以给一个名称); (8) 关闭这个项目文件,并删除这个项目文件。 这样就可以在进行并行程序设计的时候,较为方便地使用这一编译环境,举例如下: 1) 点击菜单File-New.; 2) 在Projects标签中选择Fortran Console Application,然后再右侧输入框中给出项目的名称,点击OK; 3) 在接下来的对话框中选择An empty project,并选中复选框“There are saved Fortran Console environments. Would you like to consider applying options from one of them?”,点击Finish; 4) 在对话框中List of Console Environment中,选择前面准备好的环境名称,点击Apply按钮,并确认; 5) 在接下来的对话框中直接点击OK; 在这个项目中就可以进行并行程序的开发。特别指出的是,在源程序中必须添加语句“include mpif.h”。 3. 运行MPI应用程序 对于已经编译好的MPI程序,若只启动一个进程,则可以直接键入程序名,回车,即可运行。若启动多个进程则需要执行mpirun。具体用法可由命令提示符下直接执行该命令获得。 对于只准备在单机上,进行调试的用户,相对容易。只需要键入mpirun -np #numproc ,或者键入mpirun -localonly #numproc ,即可。(#numproc指的是准备启动的进程数) 对于在多台机器上进行计算,需要进行下面的操作来建立环境:(这里假设用户没有安装NFS) (1) 确认在每台机器上都安装了这个程序包,最少是安装了远程调用的程序和必须得动态库。 (2) 确认在每台机器上都启动了RemoteShellServer。可以通过控制面板-服务,来检查,推荐将这个服务设为自动,可以减少以后的维护。 (3) 运行程序。这里分几种情况逐一说明。 I) 用mpirun -np #numproc 的形式在多台机器上启动,方法如下:(这一方法只适合启动SPMD程序,并且可执行程序应在各台机器上放置在相同的目录结构中) i) 启动mpiconfig,选择准备运行的机器,并点击setup,再点击OK按钮,结束配置。(注:选中机器后,必须按setup,才可以完成配置,否则在后面的运行中会出现奇怪的错误) ii) 键入mpirun -np #numproc 即可启动程序,当#numproc大于配置的机器数时,系统可以自动在机器列表中循环利用。 II) 用配置文件的方式在多台机器上启动,方法如下: i) 编写纯文本的配置文件,格式如下:exe 可选参数hosts #n1 可执行文件的全路径及名称 #n2 可执行文件的全路径及名称 #n3 可执行文件的全路径及名称.其中#n1,n2,n3.表示在对应机器上启动的进程数,每台主机上的进程数可以不同; 若主机后的可执行文件的全路径及名称不填,则默认使用exe那一行所指定的文件; 若每台主机都独立的列出可执行文件的全路径及名称,则exe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024中国移动山西公司高层次人才社会招聘笔试参考题库附带答案详解
- 2025年河北省保定市莲池区中考一模道德与法治试题(原卷版+解析版)
- 护理不良事件管理1585098336
- 2024北京四中初一(下)期中数学试题及答案
- 2024-2025学年四川省成都市成华区某校高一(下)月考历史试卷(3月份)-教师用卷
- 立秋市场深耕策略
- 2025年某地空白空白太阳能供暖工程施工安装合同
- 2025关于房屋租赁合同范本
- 八年英语试卷试卷
- 2025石油石化行业合同能源管理创新与实践研究
- 2025-2030中国实验动物行业市场深度调研及市场前瞻与投资战略研究报告
- 湖南湘潭高新集团有限公司招聘考试真题2024
- 2025春季学期国开电大本科《政府经济学》一平台在线形考(形考任务1至4)试题及答案
- 2025年03月四川成都农业科技中心公开招聘笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025至2030年中国台式特定电磁波谱治疗器数据监测研究报告
- 正式恋爱协议书
- 2024年多媒体应用设计师理论知识试题及答案
- 创建全国文明城市培训
- 2024年北京体育大学招聘考试真题
- 2024-2025学年七年级数学人教版(2024)下学期期中考试模拟卷A卷(含解析)
- 2025年大学生心理健康趣味知识竞赛参考题库及答案(共150题)
评论
0/150
提交评论