




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Compaq Visual Fortran 6.6并行編程環境的配置Windows平臺并行編程環境的配置所用的軟件: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安裝成功后,為了使用命令行方式執行程序的方便,將mpi路徑 C:ProgramFilesMPICH2bin添加到環境變量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)、參考了網上的資料,自己做一個mpi.mod文件,寫這樣一段 程序:m
4、odule mpi! include mpif.h! *end module mpiprogram mainend將mpif.h文件中的內容都復制到星號處,并且也將以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中那樣去設置選項,很是麻煩。在CVF這里可以 保存下這些設置。點擊菜單File=Save Fort
8、ran Environment,點擊Save Environment按鈕,即保存一個新的環境(可以給一個名稱),這樣就可以在進 行并行程序設計的時候,較為方便地使用這一編譯環境,舉例如下:點擊菜單 File-New.;在Projects標簽中選擇Fortran Console Application,然后再右側輸入 框中給出項目的名稱,點擊OK;在接下來的對話框中選擇An empty project,點擊Finish。這時會彈出對話框”Would you like to consider applying options from a Saved Fortran Console Environ
9、ments? ”,點“是”; 在對話框中List of Console Environment中,選擇前面準備好的環境名稱,點擊Apply按鈕,并確認;(5)在接下來的對話框中直接點擊OK。/很多Windows用戶在應用并行環境時,發現對工程的設置非常麻煩,其實這 一問題可以容易的解決。本文將就Compaq Visual Fortran 6.5環境中如何實現 MPICH2并行計算做一簡單的介紹。首先,介紹一下MPICH2的安裝,MPICH2可以在以下網站免費下載 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目錄 下有兩個執行文件,smpd.exe和mpiexec.exe。在后面將介紹其應用。在“
11、我的 電腦”環境變量設置中將bin目錄寫入路徑path變量,這樣就可以在任何地方執 行此目錄下的文件了(或者,你可以將其copy到工作目錄如果你不閑煩的話)。其次,設置CVF6.5環境,這一步需要將MPICH2的include和lib目錄寫進 CVF6.5的搜索目錄。其做法請參考設置過程圖解cvfdemo.html,其中需要注意的 是將圖解中的對應目錄換成MPICH2目錄下的include和lib。設置完成后,將本 壓縮包中mpich2.mod文件拷貝到MPICH2目錄下的include子目錄下。Mpich2.mod是我自己編寫的一個接口程序,用于簡化CVF6.5與MPICH2之間 的環境設置
12、,此程序必需放在正確的地方。最后,介紹如何運行并行程序。在本壓縮包中有一個FORTRAN編碼的例 子hello.f90,此程序可以在CVF6.5環境下直接進行編譯。注意,以后所有的并行 程序的最前面必需加上“use mpich2”這一行。這樣才能正確編譯并行程序。編譯 好后,會在當前工作目錄的子目錄debug下找到可執行文件hello.exe。在DOS 命令行模式下,進入debug目錄,首先鍵入“smpd”回車,這樣開始調用并行運行 服務,再執行“mpiexec -n 5 hello”,就可以看到U hello.exe程序的運行結果。當然, 這里的“5”是節點的個數,你可以更改此值,自己進行嘗
13、試。Ok,恭喜你,現在 你已經可以運行一個完整的并行程序了。要想成為高手,還要不斷努力。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加入到系統的PATH環境變量中。編譯、鏈接MPI應用程序為了方便使用Visual Fortran 6.x編譯器進行并行程序編譯鏈接,在第一次使 用其編譯程序前,可以增加一個Fortran項目環境:點擊菜單 File-New.;在Projects標簽中選擇Fortran Console Application,然后再右側輸入框中 填入新項目的名稱,點擊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)的操作,只是庫文件變為:ws2_32.lib、mpich.lib、pmpich.lib、romio.lib ;點擊OK。(6)點擊菜單 File-Save Fortran Environment;(7)點擊Save Environment按鈕,即保存一個新的環境(可以給一個名稱);(8)關閉這個項目文件,并刪除這個項目文件。這樣就可以在進行并行程序設計的時候,較為方便地使用這一編譯環境,舉 例如下:1)點擊菜單 File-New.;2)在Projects標簽中選擇Fort
17、ran 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 ;在這個項目中就可以進行并行程
18、序的開發。特別指出的是,在源程序中必須添加語句 “include mpif.h”。運行MPI應用程序對于已經編譯好的MPI程序,若只啟動一個進程,則可以直接鍵入程序名, 回車,即可運行。若啟動多個進程則需要執行mpirun。具體用法可由命令提示 符下直接執行該命令獲得。對于只準備在單機上,進行調試的用戶,相對容易。只需要鍵入mpirun -np #numproc 程序名 ,或者鍵入 mpirun -localonly #numproc 程序名 ,即可。(#numproc指的是準備啟動的進程數)對于在多臺機器上進行計算,需要進行下面的操作來建立環境:(這里假設 用戶沒有安裝NFS)(1)確認在每
19、臺機器上都安裝了這個程序包,最少是安裝了遠程調用的程序 和必須得動態庫。(2)確認在每臺機器上都啟動了 RemoteShellServer。可以通過控制面板-服 務,來檢查,推薦將這個服務設為自動,可以減少以后的維護。(3)運行程序。這里分幾種情況逐一說明。I)用mpirun -np #numproc 程序名 的形式在多臺機器上啟動,方法如 下:(這一方法只適合啟動SPMD程序,并且可執行程序應在各臺機器上放置在相 同的目錄結構中)i)啟動mpiconfig,選擇準備運行的機器,并點擊setup,再點擊OK按 鈕,結束配置。(注:選中機器后,必須按setup,才可以完成配置,否則在后 面的運行
20、中會出現奇怪的錯誤)ii)鍵入mpirun -np #numproc 程序名 即可啟動程序,當#numproc大于 配置的機器數時,系統可以自動在機器列表中循環利用。II)用配置文件的方式在多臺機器上啟動,方法如下:i)編寫純文本的配置文件,格式如下:exe 可執行文件的全路徑及名稱可選參數hosts主機名1 #n1 可執行文件的全路徑及名稱主機名2 #n2 可執行文件的全路徑及名稱 主機名3 #n3 可執行文件的全路徑及名稱 其中#n1,n2,n3. 表示在對應機器上啟動的進程數,每臺主機上的進程數可以不 同;若主機后的可執行文件的全路徑及名稱不填,則默認使用exe那一行所指定 的文件;若每臺主機都獨立的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《咖啡主題咖啡館》課件
- 考動植物保護的知識掌握試題及答案
- 2024年體育經紀人考試的心理建設 試題及答案
- 農作物繁育員責任與義務試題及答案
- 2024年模具設計師資格認證考試期間心態調整與試題及答案
- 2024年植保員考生的常見疑問試題及答案
- 足球裁判員專業知識將略試題與答案
- 連鎖藥店服務規范培訓
- 模具管理的現代化方向試題及答案
- 輕松應對2024年體育經紀人資格考試試題及答案
- 第六單元 資本主義制度的初步確立 復習課件 2024-2025學年統編版九年級歷史上冊
- 國際經濟法學習通超星期末考試答案章節答案2024年
- 人工智能崗位招聘筆試題及解答(某大型央企)2025年
- xxx智慧醫院整體網絡安全建設方案V3
- 200道100以內四個數字的加減法混合題目
- 建設事業中心工程項目大臨設施標準
- 光明乳業財務戰略研究
- 水電站斜井工程施工方案
- 4.3 誠實守信(課件)-2024-2025學年八年級道德與法治上冊 (統編版2024)
- 第六單元實驗活動3創新實驗:二氧化碳的制取與性質一體化實驗說課-2024-2025學年九年級化學人教版上冊
- 工地會議室使用管理制度
評論
0/150
提交評論