• <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>
            萬星星@豌豆莢 歡迎加入我們
            一個(gè)吃軟飯的男人!!!!!我只想寫程序####
            微博:http://weibo.com/wanlianwen
            posts - 172,  comments - 1253,  trackbacks - 0
            自從失戀以來,很久沒有寫隨筆,多謝大家對我鼓勵(lì),總覺得要寫一點(diǎn)什么的,苦于學(xué)校壓力和外面工作需要,時(shí)間甚少。這里先發(fā)關(guān)于上學(xué)期一門課程開發(fā)入門文章,是我自己寫的。隨后將推出一系列軟件設(shè)計(jì)的文章,因?yàn)槟壳案鷮O輝老師學(xué)技術(shù),將拿出來和大家分享,也算是技術(shù)推廣吧!

            系統(tǒng)環(huán)境配置

            Win2K Adv Svr + VC6

            MPI開發(fā)包下載

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

            MPI開發(fā)包安裝

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

            環(huán)境配置

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

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

            (設(shè)置Include目錄%MPICH2%/include

            (設(shè)置Lib目錄%MPICH2%/LIB

            ?????? MPICH2環(huán)境配置。運(yùn)行%MPICH2%/LIBwmpiregister,在注冊界面輸入本機(jī)器用戶名和密碼以便mpiexec運(yùn)行程序。

            開發(fā)第一個(gè)程序“Hello World

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

            ?????? 打開VC6,建立一個(gè)控制臺應(yīng)用程序,如下圖:

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

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

            #include <cstdio>

            ?

            ?

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

            {

            ??????

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

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

            ?????? MPI_Finalize();

            ?????? return 0;

            }

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

            #if !defined(MPICH_SKIP_MPICXX)

            #include "mpicxx.h"

            #endif

            #endif

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

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

            ?????? 下面是運(yùn)行。運(yùn)行命令行,輸入:

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

            輸出結(jié)果:

            Hello World!

            Hello World!

            Hello World!

            Hello World!

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

            總結(jié)

            ?????? 耗費(fèi)一下午重新安裝系統(tǒng)和各種軟件,大約一個(gè)小時(shí)編制及調(diào)試“Hello World”程序,盡管簡單,但是畢竟對于MPI編程入門,感覺良好。耗費(fèi)一小時(shí)書寫文檔,總結(jié)問題,以便其他同學(xué)遇到麻煩好解決,希望互相學(xué)習(xí)進(jìn)步。

            ?

            萬連文

            2005/10/19晚于寢室

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

            FeedBack:
            # re: 并行編程--MPI開發(fā)入門
            2006-06-12 20:12 | 史傳紅
            我現(xiàn)在也在搞這方面的研究,不過是在linux系統(tǒng)下,多多向你學(xué)習(xí)。  回復(fù)  更多評論
              
            # re: 并行編程--MPI開發(fā)入門
            2006-06-12 20:49 | 萬連文
            學(xué)習(xí)到不敢當(dāng),只是當(dāng)時(shí)學(xué)習(xí)的時(shí)候了解了一下,為入門的朋友們方便。  回復(fù)  更多評論
              
            # re: 并行編程--MPI開發(fā)入門
            2006-06-23 10:16 | 祝喬
            我現(xiàn)在想學(xué)習(xí)MPI,但是感覺它好難哦,我想問,MPI能在單機(jī)上運(yùn)行,并驗(yàn)證程序的正確性嗎?  回復(fù)  更多評論
              
            # re: 并行編程--MPI開發(fā)入門
            2006-06-23 12:17 | 萬連文
            可以在單機(jī)運(yùn)行,我就是在單機(jī)測試的。
            其實(shí)MPI主要是想法,就是如何分配任務(wù)以并行處理。  回復(fù)  更多評論
              
            # re: 并行編程--MPI開發(fā)入門
            2006-07-12 11:59 | 郭恒明
            你好! 我也是剛開始學(xué)MPI,我裝的是MPICH2,在vc下環(huán)境已經(jīng)配置好了,運(yùn)行c+mpi時(shí)沒有問題,但是在運(yùn)行mpi+c++時(shí),總是出現(xiàn)下面的問題,請問一下怎么樣解決,先謝謝了!
            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
            等,內(nèi)容太長了,放不下,不過都是上面顯示的這些問題。  回復(fù)  更多評論
              
            # re: 并行編程--MPI開發(fā)入門
            2006-07-12 12:15 | 萬連文
            由于時(shí)間隔太長,不太記得,確實(shí)存在問題,但是可以避開包含mpicxx.h文件:
            在mpi.h中發(fā)現(xiàn)代碼:

            #if !defined(MPICH_SKIP_MPICXX)

            #include "mpicxx.h"

            #endif

            #endif

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

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

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

            <2012年7月>
            24252627282930
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(66)

            隨筆分類

            隨筆檔案

            相冊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            亚洲国产日韩综合久久精品| 亚洲精品乱码久久久久久| 久久精品无码午夜福利理论片| 久久国产精品免费一区| 99精品国产在热久久| 新狼窝色AV性久久久久久| 国产精品一区二区久久精品涩爱| 999久久久国产精品| 久久久久久久综合日本亚洲| 99国产欧美久久久精品蜜芽| 久久精品人人做人人爽97| 精品久久久久久亚洲精品| 91精品国产91久久久久福利| 久久久老熟女一区二区三区| 久久大香香蕉国产| 99久久er这里只有精品18| 999久久久无码国产精品| 国产午夜精品理论片久久影视 | 99久久777色| 青青青伊人色综合久久| 亚洲精品高清久久| 日日狠狠久久偷偷色综合免费 | 久久精品国产亚洲av日韩| 伊人色综合久久天天人手人婷| 精品熟女少妇AV免费久久| 色综合久久无码中文字幕| 久久91精品国产91久久户| 久久国产精品免费一区| 久久久久se色偷偷亚洲精品av| 亚洲人成精品久久久久| 91精品国产综合久久精品| 国产精品99久久精品爆乳| 色综合久久久久综合99| 久久久久亚洲AV成人片| 国产毛片久久久久久国产毛片| 亚洲国产成人精品无码久久久久久综合| 亚洲精品第一综合99久久| 99久久精品午夜一区二区| 亚洲国产成人精品无码久久久久久综合| 中文字幕日本人妻久久久免费| 久久国产高清字幕中文|