理解VS2003代碼相關技巧
我在外培訓時課堂里用的是VS2003代碼編制,老師做的例子讓我們拷回去,我自家電腦里由于還沒有安裝VS2003版本這個開發工具,所以無法打開看,我去買軟件看到現在又有2006版的了,如果將2006版的安裝后,能不能打開老師在課堂用VS2003版本做的例子?能不能繼續使用?
MPICH2在WinXP下的配置和使用
一、預備工作
0.在自己電腦上建立一個用于并行計算的帳戶并設置密碼。
二、下載
1. 去官方網站http://www.mcs.anl.gov/research/projects/mpich2/下載自己電腦的相應版本。
三、安裝
2. 用具有管理權限的帳戶登陸計算機。
3. 執行mpich2-1.0.7-win32-ia32.msi,選擇所有缺省安裝。
這里假設文件安裝在D:\Program Files\MPICH2\
4. 在每臺計算機上均執行上述過程2、3。
四、配置
5. 運行配置工具
開始->所有程序->MPICH2->wmpiregister.exe,利用先前建立的計算機帳戶名和密碼注冊。
6. 開始->所有程序->MPICH2->wmpiconfig.exe,搜索并加入已經安裝MPICH2的主機,可以用的主機名在搜索完后會顯示綠色。
7.點擊 [Apply] 保存
8 點擊 [OK] 退出#t#
五、測試
9. 打開MPICH2的例子文件:D:\Program Files\MPICH2\examples\examples.sln
10. 按照文章前半部分的方法,編譯調試該cpi和cxxpi項目。
11. D:\Program Files\MPICH2\examples\Release\cpi.exe和cxxpi.exe 到每一臺機器某一同樣路徑目錄。
如:C:\Temp\cpi.exe和cxxpi.exe
12. 打開命令窗口,改變當前路徑到 c:\temp 下(與前相同)
13. 執行命令
D:\Program Files\MPICH2\bin\mpiexec.exe -hosts 2 hosta 2 hostb 1 -noprompt C:\Temp\cpi.exe
D:\Program Files\MPICH2\bin\mpiexec.exe -hosts 2 hosta 2 hostb 1 -noprompt C:\Temp\cxxpi.exe
-hosts 2表示有兩臺主機。
hosta 2 hostb 1表示主機hosta開2個進程,主機hostb開1個進程。
注意,多機并行計算時,進程很容易被防火墻擋住,所以計算時最好關閉防火墻。而多核電腦的單機多進程并行計算則不受防火墻影響。當然直接選擇開始->所有程序->MPICH2->wmpiexec.exe進入圖形界面運行效果一樣,也更直觀容易理解了。
附上最簡單的測試代碼如下:
- #include "mpi.h"
- #include <cstdio>
- #include <math.h>
- int main(int argc, char* argv[])
- {
- int myid,numprocs;
- int namelen;
- char processor_name[MPI_MAX_PROCESSOR_NAME];
- MPI_Init(&argc,&argv);/**//*程序初始化*/
- MPI_Comm_rank(MPI_COMM_WORLD,&myid);/**//*得到當前進程號*/
- MPI_Comm_size(MPI_COMM_WORLD,&numprocs);/**//*得到總的進程數*/
- MPI_Get_processor_name(processor_name,&namelen);/**//*得到機器名*/
- fprintf(stderr," Process %d of %d SAY HELLO TO MPI on %s\n",
- myid, numprocs, processor_name);
- MPI_Finalize();/**//*結束*/
- return 0;
- }