• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            萬星星@豌豆莢 歡迎加入我們
            一個吃軟飯的男人!!!!!我只想寫程序####
            微博:http://weibo.com/wanlianwen
            posts - 172,  comments - 1253,  trackbacks - 0
            自從失戀以來,很久沒有寫隨筆,多謝大家對我鼓勵,總覺得要寫一點什么的,苦于學校壓力和外面工作需要,時間甚少。這里先發關于上學期一門課程開發入門文章,是我自己寫的。隨后將推出一系列軟件設計的文章,因為目前跟孫輝老師學技術,將拿出來和大家分享,也算是技術推廣吧!

            系統環境配置

            Win2K Adv Svr + VC6

            MPI開發包下載

            網上搜索下載MPICH2地址http://www-unix.mcs.anl.gov/mpi/mpich2/

            MPI開發包安裝

            ?????? 下載完畢,開始安裝MPICH2開發包,提示需要.NET 1.1 框架。鑒于本人對VS.NET 2003愛好,直接安裝了整個開發環境,也可以只安裝.NET框架。可以到微軟官方網站下載安裝包(http://msdn.microsoft.com/netframework/downloads/framework1_1/)。安裝.NET框架后便可以安裝MPICH2開發包。安裝后可以看到MPICH2目錄層次:

            環境配置

            ?????? 我的電腦”path中設置MPICH2bin目錄(%MPICH2%\bin)以便運行mpiexec程序。我的具體設置如下:

            ?????? VC6開發環境中包含MPICH2開發包的include目錄和lib目錄。具體步驟:打開VC6,選擇”Tools->Options”,在彈出的“Options”對話框中選擇Directories選項卡,分別設置如下圖:

            (設置Include目錄%MPICH2%/include

            (設置Lib目錄%MPICH2%/LIB

            ?????? MPICH2環境配置。運行%MPICH2%/LIBwmpiregister,在注冊界面輸入本機器用戶名和密碼以便mpiexec運行程序。

            開發第一個程序“Hello World

            ?????? 經過上面的步驟,MPICH2開發環境已經建立好,下面便可以步入MPICH2的大殿了。開始最簡單也是最經典程序“Hello World”,在過程中倒是遇到不少麻煩。

            ?????? 打開VC6,建立一個控制臺應用程序,如下圖:

            ?????? 依照課本,包含頭文件且把代碼敲入main函數中。

            ?????? #include "mpi.h"

            #include <cstdio>

            ?

            ?

            int main(int argc, char* argv[])

            {

            ??????

            ?????? MPI_Init(&argc, &argv);

            ?????? printf("Hello World!\n");

            ?????? MPI_Finalize();

            ?????? return 0;

            }

            ?????? 編譯程序,發現出現很多編譯錯誤,一時間不知道怎么辦好。在細看錯誤,都是一些函數重載錯誤。原本想修改代碼,但是沒有全部源代碼。再進一步,發現全部是mpicxx.h文件導致的錯誤,于是想是否MPI_Init等函數與此文件有關。通過搜索包含文字,發現MPI_Init等函數只在mpi.h中定義,于是想辦法不包含mpicxx.h文件以避開問題。在mpi.h中發現代碼:

            #if !defined(MPICH_SKIP_MPICXX)

            #include "mpicxx.h"

            #endif

            #endif

            這下有辦法,在程序中定義宏MPICH_SKIP_MPICXX,然后重新編譯程序(注意在包含mpi.h前定義)。哈哈,果然避開了mpicxx.h文件,有出現幾個為定義錯誤,包含Lib文件就OK!如下圖:

            ?????? 有個建議,既然包含頭文件必須連接庫的話,可以在頭文件中指定庫。本人在開發過程中一直這樣做,感覺很好。這樣可以避免入門者不會設定庫。

            ?????? 下面是運行。運行命令行,輸入:

            E:\MyProject\MPIPractice\HelloWorld\Debug>mpiexec -np 4 helloworld

            輸出結果:

            Hello World!

            Hello World!

            Hello World!

            Hello World!

            這樣便完成第一個MPI程序,下面的任務就是依據并行算法思想解決復雜問題,留帶大家自己解決。

            總結

            ?????? 耗費一下午重新安裝系統和各種軟件,大約一個小時編制及調試“Hello World”程序,盡管簡單,但是畢竟對于MPI編程入門,感覺良好。耗費一小時書寫文檔,總結問題,以便其他同學遇到麻煩好解決,希望互相學習進步。

            ?

            萬連文

            2005/10/19晚于寢室

            posted on 2006-06-12 17:50 萬連文 閱讀(19187) 評論(42)  編輯 收藏 引用 所屬分類: 亂七八糟

            FeedBack:
            # re: 并行編程--MPI開發入門
            2006-06-12 20:12 | 史傳紅
            我現在也在搞這方面的研究,不過是在linux系統下,多多向你學習。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-06-12 20:49 | 萬連文
            學習到不敢當,只是當時學習的時候了解了一下,為入門的朋友們方便。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-06-23 10:16 | 祝喬
            我現在想學習MPI,但是感覺它好難哦,我想問,MPI能在單機上運行,并驗證程序的正確性嗎?  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-06-23 12:17 | 萬連文
            可以在單機運行,我就是在單機測試的。
            其實MPI主要是想法,就是如何分配任務以并行處理。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-07-12 11:59 | 郭恒明
            你好! 我也是剛開始學MPI,我裝的是MPICH2,在vc下環境已經配置好了,運行c+mpi時沒有問題,但是在運行mpi+c++時,總是出現下面的問題,請問一下怎么樣解決,先謝謝了!
            d:\program files\mpich2\include\mpicxx.h(1417) : error C2555: 'MPI::Nullcomm::Clone' : overriding virtual function differs from 'MPI::Comm::Clone' only by return type or calling convention
            d:\program files\mpich2\include\mpicxx.h(1051) : see declaration of 'Comm'
            d:\program files\mpich2\include\mpicxx.h(1483) : error C2555: 'MPI::Intercomm::Clone' : overriding virtual function differs from 'MPI::Comm::Clone' only by return type or calling convention
            等,內容太長了,放不下,不過都是上面顯示的這些問題。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-07-12 12:15 | 萬連文
            由于時間隔太長,不太記得,確實存在問題,但是可以避開包含mpicxx.h文件:
            在mpi.h中發現代碼:

            #if !defined(MPICH_SKIP_MPICXX)

            #include "mpicxx.h"

            #endif

            #endif

            這下有辦法,在程序中定義宏MPICH_SKIP_MPICXX,然后重新編譯程序(注意在包含mpi.h前定義)。
            我寫過幾個程序都這樣避開的,要真解決我倒沒有做過。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-07-12 14:06 | 郭恒明
            謝謝了。我自己再看一下。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-08-07 15:17 |
            其實只要在#include所有頭文件前,包含mpi.h即可
            如果工程中包含stdafx.h那么就在stdafx.h的最初包含mpi.h即可  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-08-07 15:54 |
            另外這里通過#define MPICH_SKIP_MPICXX的方法雖然可以解決當下的問題,但是你這里使用的是mpi的C語言方式,如果使用MPI::Init這樣的C++方式,就行不通了。

            所以依我看,把mpi.h的包含位置提前是根本的解決之道,而且mpich2的示例程序也是這樣做的。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-08-07 16:21 | 萬連文
            恩,謝謝拉。要是以前知道的話就可以試驗一下,可惜放下很久了。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-08-14 09:29 | zhongyuan
            我運行MPI程序時出現如下問題(huangzhongyuan是我用wmpiregister.exe 注冊的一個用戶):
            Credentials for huangzhongyuan rejected connecting to huangzhongyuan
            Aborting: Unable to connect to huangzhongyuan
            請問如何解決該問題
            我的Email:zhongyuan2@hotmail.com  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-08-14 09:35 | zhongyuan
            我剛才已經解決,多謝  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-09-12 17:02 | Dew
            真是太好了,我也是剛在接觸MPI,也在為上面所說的問題苦惱,謝謝大家?。?!  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2006-11-20 11:15 | angel
            謝謝哈:)  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-03-05 18:30 | Anoba
            我使用VS2005+MPICH2 1.0.5+Winserver2003寫了一個程序,編譯沒問題,wmpiexec運行該程序,報錯:Aborting:unable to connect to master,smpd version mismatch
            按CTRL+C出現
            error encountered before initializing MPICH
            如果不選復選框"run in an seperate window"則能運行,這是怎么回事啊?
              回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-03-05 18:33 | Anoba
            還有我運行的服務器是4CPU,將該EXE文件復制到一臺單CPU的WINXP機器上則可以運行,不管選不選那個復選框.  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-03-05 22:38 | 萬連文
            不好意思,我已經很久沒有這方面研究了,不敢誤人子弟,請另處尋找答案。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-03-08 20:33 | Anoba
            @zhongyuan
            你的問題是怎么解決的啊?我的郵箱是anoba@163.com  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-03-08 20:34 | Anoba
            你的問題是怎么解決的啊?我的郵箱是anoba@163.com@zhongyuan
              回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-03-08 21:01 | Anoba
            @萬連文
            還是謝謝你的文章啊!這方面的材料太少了.  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-03-10 13:09 | 萬連文
            @Anoba
            你可以通過郵件與zhongyuan 聯系  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-05-10 16:40 | angus
            為什么我用這個命令test.exe -np 4就不能輸出四次呢?求助  回復  更多評論
              
            # 請教MPICH2安裝失敗的原因
            2007-05-21 16:12 | wangzr
            我在windows XP操作系統下,按要求安裝了.NET 1.1 框架,再安裝MPICH2時,提示"there is a problem with this windows installer package.A problem runs a part of the setup did not finish as expected....."的信息,請幫我分析一下是什么原因啊  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-05-22 09:37 | 萬連文
            建議你安裝一個虛擬機,然后多做幾次安裝試驗。這個東西我已經1年多沒有在玩了,所以.......  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-06-08 10:36 | jiaoyang
            did you have some books about learning how to make procedure with mpi, I mean that MPI include some API and then can be used for realizing parallel caculation.  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-06-08 13:20 | 萬連文
            這里我再次聲明下,這個東西是一年多前學習了一段時間,后來一直沒有接觸。所以沒有什么深入研究,請大家原諒。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-09-17 17:12 | jiajd
            您好:我在用java做MPI開發,主要是項目需要,看了幾天資料一時不知道怎樣入手,還忘指點  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-11-19 21:35 | anqiongdy
            請問 有沒有人在多機環境下實現過啊,我在多機的配置上遇到問題了,有高手做過的話,還望指點下啊。(E_mail:anqiongdy@163.com)  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-11-20 12:11 | llmwm
            我運行MPI程序時出現如下問題(huangzhongyuan是我用wmpiregister.exe 注冊的一個用戶):
            Credentials for huangzhongyuan rejected connecting to huangzhongyuan
            Aborting: Unable to connect to huangzhongyuan
            請問如何解決該問題

            這個問題怎么解決的啊,急求!  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2007-11-20 12:18 | 萬連文
            請使用administrator帳戶注冊試一下,有可能是權限問題。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2008-03-29 21:20 | gjx
            不知道有誰知道如何在vs2005下調試mpi程序,每次按msdn說明還是無法進入預設的斷點,不知道為什么?  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2008-04-22 16:00 | cow
            呵呵,居然還有在win32平臺上做計算的?  回復  更多評論
              
            # re: 并行編程--MPI開發入門[未登錄]
            2009-10-19 16:25 | 攀升
            CuteFTP 8 Professional
            SSH Secure Shell Client
            SSH Secure File Transfer Client
            集群的這三個軟件怎么用???哪位能夠提供一個使用文檔~謝謝
            如何在集群上運行程序?。?
            郵箱:pstrueman@163.com.QQ:493231671  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2010-03-10 09:31 | YWT
            樓主有QQ沒,我也在做并行計算,想交流一下QQ:252601388  回復  更多評論
              
            # re: 并行編程--MPI開發入門[未登錄]
            2010-04-23 11:05 | wang
            @wangzr
            裝新版本的mpi
              回復  更多評論
              
            # re: 并行編程--MPI開發入門[未登錄]
            2010-06-17 10:58 | paul
            MPI初學者,大家一起交流一下 QQ:408474219   回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2010-08-24 09:57 | Hmilyy
            可以向你學習MPI嗎?麻煩了 我的QQ是469082066  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2011-11-28 12:48 | izatgul
            hi ,我在linux系統下用 c++ 編一個程序, 但是總是找不到我的頭文件mpi.h這怎么會事? 明明有這個頭文件。 在makefile文件里面寫它的路徑也試過
            INCLUDE = -I/usr/locsl/mpich/include
            你們看看這個mpi程序寫makefile的時候有什么規則嗎?  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2012-08-24 23:05 | overman
            你是怎么解決的?@郭恒明
              回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2013-03-14 10:38 | hcc
            怎么從根本上解決mpicxx.h的問題?如果我要用到這個里邊的函數的話。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2014-05-27 19:35 | wangnann
            @萬連文
            是的。就是權限問題。該帳號必須是系統當前使用帳號并擁有管理權限。用wmpiconfig 中的scan Hosts 下面用戶顯示綠色可以,不然就出現Aborting: Unable to connect to。。。。  回復  更多評論
              
            # re: 并行編程--MPI開發入門
            2015-10-15 20:53 | M琨M
            我是用的vs+MPICH2,用wmpiexec運行我的exe的時候,不能連接到主機是什么鬼啊。。求回復  回復  更多評論
              
            簡歷下載
            聯系我

            <2016年1月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(66)

            隨筆分類

            隨筆檔案

            相冊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久无码国产精品不卡| 久久精品国产99久久香蕉| 久久久久久国产精品无码下载| 伊人久久大香线蕉AV一区二区 | 国产精品视频久久久| 久久九九久精品国产免费直播| 亚洲精品99久久久久中文字幕| 久久精品国产乱子伦| 四虎国产精品免费久久5151| 久久精品国产精品亚洲艾草网美妙| 久久综合色老色| 国产精自产拍久久久久久蜜| 三级三级久久三级久久 | 精品久久久无码中文字幕| 久久精品国产亚洲AV久| 狠狠久久亚洲欧美专区| 一本色道久久综合狠狠躁篇 | 午夜精品久久久久久久| 久久国产免费直播| 亚洲国产精品久久66| 浪潮AV色综合久久天堂| 日韩欧美亚洲综合久久| 国产激情久久久久影院老熟女免费| 久久综合亚洲欧美成人| 亚洲国产精品久久久天堂| 亚洲午夜久久久| 久久久久97国产精华液好用吗| AV无码久久久久不卡蜜桃| 亚洲精品国产美女久久久| 久久亚洲中文字幕精品一区| 亚洲&#228;v永久无码精品天堂久久| 久久国产精品无码一区二区三区| 久久精品无码一区二区WWW| 伊色综合久久之综合久久| 久久久精品久久久久久 | 人妻无码αv中文字幕久久| 国产免费久久精品99re丫y| 久久青青色综合| 一本一本久久A久久综合精品 | 久久久精品国产sm调教网站 | 久久久久国产精品麻豆AR影院|