Compaq Visual Fortran 66 并行編程環(huán)境的配置_第1頁
Compaq Visual Fortran 66 并行編程環(huán)境的配置_第2頁
Compaq Visual Fortran 66 并行編程環(huán)境的配置_第3頁
Compaq Visual Fortran 66 并行編程環(huán)境的配置_第4頁
Compaq Visual Fortran 66 并行編程環(huán)境的配置_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Compaq Visual Fortran 6.6并行編程環(huán)境的配置Windows平臺并行編程環(huán)境的配置所用的軟件:mpich2-1.0.5-win32-ia32.msiCompaq Visual Fortran 6.61、如果本機上沒有安裝過Microsoft .NET .Framework,安裝1.0.5這個版本的 mpich2時,那么會提示你安裝,我裝的是2.0版本dotnetfx.exe,2.0版本以上 的都行,然后把mpich2-1.0.5裝上。2、mpich2安裝成功后,為了使用命令行方式執(zhí)行程序的方便,將mpi路徑 C:ProgramFilesMPICH2bin添加到環(huán)境變量pa

2、th中,這樣就可以在任何地方使 用 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程序中要用u

3、se mpi來替代include mpif.h,可是mpich2-1.0.5中的lib和include文件夾里都沒有那個mpi.mod , 其他的mpich版本好像也沒有,至少mpich.nt.125.exe沒有。解決辦法:1 )、在90程序中也使用include mpif.h,而且要把mpif.h中以C 開頭的注釋前加上!,還有三行以CDEC$開頭,也要用!來注釋,不然出錯。 這中解決辦法會更改mpif.h文件,那么再寫77程序時是不是還要改回來呢,我 試了 helloworld程序,不改回來的話,77程序倒也不出錯。2)、參考了網(wǎng)上的資料,自己做一個mpi.mod文件,寫這樣一段 程序:m

4、odule mpi! include mpif.h! *end module mpiprogram mainend將mpif.h文件中的內(nèi)容都復制到星號處,并且也將以C開頭的行改成前加上!。 然后到U debug目錄下就找到了一個mpi.mod文件,將其拷貝到mpich的include 目錄下,再寫90程序時就可以用use mpi 了。當然也可以弄一個release模式的, 不過我連接時有兩個警告,還沒弄明白怎么回事。5、CVF編譯連接選項的配置主要看了一篇官方文檔,是在下載mpich時一起下載的。這里主 要的步驟是紅色字標出的,其他的選項不做也能成功編譯連接,當然最好還是都 改了。C/C+

5、Tab - CATEGORY: PreprocessorAdd “C:mpich2include” to the “Additional include directories” box.Link Tab - CATEGORY: InputAdd “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.li

6、b” should be used for the Debug configuration.其實這里只填fmpich2s.lib就可以了,當然最好都填上吧。而且可以不在 Link=Gaegory : Input這個選項卡上改,而是在程序文件的開始處加上一 行:!DEC$ OBJCOMMENT LBI:fmpich2s.lib這樣程序的可移植性更好。Fortran Tab - CATEGORY: External ProceduresArgument Passing Conventions:C, by referenceString length argument passing: After

7、all argsFortran Tab - CATEGORY: PreprocessorPredefined 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:mpich2includeSelect Use FPP6、每新建一個工程,都要像5中那樣去設(shè)置選項,很是麻煩。在CVF這里可以 保存下這些設(shè)置。點擊菜單File=Save Fort

8、ran Environment,點擊Save Environment按鈕,即保存一個新的環(huán)境(可以給一個名稱),這樣就可以在進 行并行程序設(shè)計的時候,較為方便地使用這一編譯環(huán)境,舉例如下:點擊菜單 File-New.;在Projects標簽中選擇Fortran Console Application,然后再右側(cè)輸入 框中給出項目的名稱,點擊OK;在接下來的對話框中選擇An empty project,點擊Finish。這時會彈出對話框”Would you like to consider applying options from a Saved Fortran Console Environ

9、ments? ”,點“是”; 在對話框中List of Console Environment中,選擇前面準備好的環(huán)境名稱,點擊Apply按鈕,并確認;(5)在接下來的對話框中直接點擊OK。/很多Windows用戶在應(yīng)用并行環(huán)境時,發(fā)現(xiàn)對工程的設(shè)置非常麻煩,其實這 一問題可以容易的解決。本文將就Compaq Visual Fortran 6.5環(huán)境中如何實現(xiàn) MPICH2并行計算做一簡單的介紹。首先,介紹一下MPICH2的安裝,MPICH2可以在以下網(wǎng)站免費下載 HYPERLINK /mpi/mpich2/%ef%bc%8c%e6%88%91%e4%b8%8b%e8%bd%bd%e7%9a%8

10、4%e6%98%af /mpi/mpich2/,我下載的是 Win32 IA32 平臺的安裝程 序 HYPERLINK /mpi/mpich2/downloads/mpich2-0.971-2-win32-ia32.ms /mpi/mpich2/downloads/mpich2-0.971-2-win32-ia32.msi。在Windows下安裝此程序即可,其默認安裝目錄為c:program filesmpich2。 在此目錄下有四個子目錄,分別為bin,example,include和lib。其中bin目錄 下有兩個執(zhí)行文件,smpd.exe和mpiexec.exe。在后面將介紹其應(yīng)用。在“

11、我的 電腦”環(huán)境變量設(shè)置中將bin目錄寫入路徑path變量,這樣就可以在任何地方執(zhí) 行此目錄下的文件了(或者,你可以將其copy到工作目錄如果你不閑煩的話)。其次,設(shè)置CVF6.5環(huán)境,這一步需要將MPICH2的include和lib目錄寫進 CVF6.5的搜索目錄。其做法請參考設(shè)置過程圖解cvfdemo.html,其中需要注意的 是將圖解中的對應(yīng)目錄換成MPICH2目錄下的include和lib。設(shè)置完成后,將本 壓縮包中mpich2.mod文件拷貝到MPICH2目錄下的include子目錄下。Mpich2.mod是我自己編寫的一個接口程序,用于簡化CVF6.5與MPICH2之間 的環(huán)境設(shè)置

12、,此程序必需放在正確的地方。最后,介紹如何運行并行程序。在本壓縮包中有一個FORTRAN編碼的例 子hello.f90,此程序可以在CVF6.5環(huán)境下直接進行編譯。注意,以后所有的并行 程序的最前面必需加上“use mpich2”這一行。這樣才能正確編譯并行程序。編譯 好后,會在當前工作目錄的子目錄debug下找到可執(zhí)行文件hello.exe。在DOS 命令行模式下,進入debug目錄,首先鍵入“smpd”回車,這樣開始調(diào)用并行運行 服務(wù),再執(zhí)行“mpiexec -n 5 hello”,就可以看到U hello.exe程序的運行結(jié)果。當然, 這里的“5”是節(jié)點的個數(shù),你可以更改此值,自己進行嘗

13、試。Ok,恭喜你,現(xiàn)在 你已經(jīng)可以運行一個完整的并行程序了。要想成為高手,還要不斷努力。Good luck。MPICH安裝這里僅針對使用Digital Visual Fortran 6.x編譯器的情況對MPICH安裝程序所附 的說明文檔作補充說明。對于Visual C+ 6.0編譯器的情況僅提供參考。1.安裝運行Setup.exe安裝時建議完全安裝。Setup.exe運行完畢后進行下面操作:將MPICH_rootSdkInclude 和MPICH_rootSdkLib 目錄下的所有文件 分別拷貝到Microsoft Visual StudioDf98Include 和 MicrosoftVis

14、ual StudioDf98Lib 目錄下;將MPICH_rootRemoteShellBin加入到系統(tǒng)的PATH環(huán)境變量中。編譯、鏈接MPI應(yīng)用程序為了方便使用Visual Fortran 6.x編譯器進行并行程序編譯鏈接,在第一次使 用其編譯程序前,可以增加一個Fortran項目環(huán)境:點擊菜單 File-New.;在Projects標簽中選擇Fortran Console Application,然后再右側(cè)輸入框中 填入新項目的名稱,點擊OK;在接下來的對話框中選擇An empty project,點擊Finish ;在接下來的對話框中直接點擊OK ;點擊菜單Project-Setting

15、s.,進行下面操作:在 setting for 中,選擇 Win32 debug ;選擇Fortran標簽,進行下面操作:在 Category 一欄中選擇“External Procedures”;在“Argument Passing”一欄中選擇“C, By Reference” ;在“String Length Argument”一欄中選擇“After All Args” ;選擇Link標簽,進行下面操作:在 Category 欄中選擇“General” ;在 Object/library modules 中添加 ws2_32.lib、mpichd.lib、pmpichd.lib、 romi

16、od.lib,各庫文件間用空格分開;在 setting for 中,選擇 Win32 release ;重復II)、III)的操作,只是庫文件變?yōu)椋簑s2_32.lib、mpich.lib、pmpich.lib、romio.lib ;點擊OK。(6)點擊菜單 File-Save Fortran Environment;(7)點擊Save Environment按鈕,即保存一個新的環(huán)境(可以給一個名稱);(8)關(guān)閉這個項目文件,并刪除這個項目文件。這樣就可以在進行并行程序設(shè)計的時候,較為方便地使用這一編譯環(huán)境,舉 例如下:1)點擊菜單 File-New.;2)在Projects標簽中選擇Fort

17、ran Console Application,然后再右側(cè)輸入框中 給出項目的名稱,點擊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中,選擇前面準備好的環(huán)境名稱, 點擊Apply按鈕,并確認;5)在接下來的對話框中直接點擊OK ;在這個項目中就可以進行并行程

18、序的開發(fā)。特別指出的是,在源程序中必須添加語句 “include mpif.h”。運行MPI應(yīng)用程序?qū)τ谝呀?jīng)編譯好的MPI程序,若只啟動一個進程,則可以直接鍵入程序名, 回車,即可運行。若啟動多個進程則需要執(zhí)行mpirun。具體用法可由命令提示 符下直接執(zhí)行該命令獲得。對于只準備在單機上,進行調(diào)試的用戶,相對容易。只需要鍵入mpirun -np #numproc 程序名 ,或者鍵入 mpirun -localonly #numproc 程序名 ,即可。(#numproc指的是準備啟動的進程數(shù))對于在多臺機器上進行計算,需要進行下面的操作來建立環(huán)境:(這里假設(shè) 用戶沒有安裝NFS)(1)確認在每

19、臺機器上都安裝了這個程序包,最少是安裝了遠程調(diào)用的程序 和必須得動態(tài)庫。(2)確認在每臺機器上都啟動了 RemoteShellServer??梢酝ㄟ^控制面板-服 務(wù),來檢查,推薦將這個服務(wù)設(shè)為自動,可以減少以后的維護。(3)運行程序。這里分幾種情況逐一說明。I)用mpirun -np #numproc 程序名 的形式在多臺機器上啟動,方法如 下:(這一方法只適合啟動SPMD程序,并且可執(zhí)行程序應(yīng)在各臺機器上放置在相 同的目錄結(jié)構(gòu)中)i)啟動mpiconfig,選擇準備運行的機器,并點擊setup,再點擊OK按 鈕,結(jié)束配置。(注:選中機器后,必須按setup,才可以完成配置,否則在后 面的運行

20、中會出現(xiàn)奇怪的錯誤)ii)鍵入mpirun -np #numproc 程序名 即可啟動程序,當#numproc大于 配置的機器數(shù)時,系統(tǒng)可以自動在機器列表中循環(huán)利用。II)用配置文件的方式在多臺機器上啟動,方法如下:i)編寫純文本的配置文件,格式如下:exe 可執(zhí)行文件的全路徑及名稱可選參數(shù)hosts主機名1 #n1 可執(zhí)行文件的全路徑及名稱主機名2 #n2 可執(zhí)行文件的全路徑及名稱 主機名3 #n3 可執(zhí)行文件的全路徑及名稱 其中#n1,n2,n3. 表示在對應(yīng)機器上啟動的進程數(shù),每臺主機上的進程數(shù)可以不 同;若主機后的可執(zhí)行文件的全路徑及名稱不填,則默認使用exe那一行所指定 的文件;若每臺主機都獨立的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論