Home > Programming > Chạy chương trình MPI với Visual Studio 2008

Chạy chương trình MPI với Visual Studio 2008

MPI (Message Passing Interface) là một thư viện chứa các hàm được viết sẵn nhằm hỗ trợ cho việc viết các chương trình chạy song song. MPI có thể sử dụng trong chương trình C/C++ hoặc Fortran để chia nhỏ phần tính toán nào đó cho nhiều máy tính cùng thực hiện. Bài này hướng dẫn dùng Visual Studio 2008 để viết và debug một chương trình MPI.

Bước 1: vào trang http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads để download gói MPICH2 phù hợp. Ví dụ tôi đang xài Win7 32bits thì down gói MPICH2 Windows IA32 (binary) (8M)

Bước 2: cài đặt gói vừa down, thư mục mặc định là C:\Program Files\MPICH2, cài xong file smpd.exe sẽ tự động chạy và hỏi bạn  fire wall có cho access không thì bạn chọn yes nhé, nếu smpd.exe không tự chạy thì bạn tự khởi động nó lên (nó nằm trong folder bin đó)

Bước 3: chạy file wmpiregister.exe nhập vào account trong máy bạn (ví dụ Administrator) và password, sau đó click nút register

Bước 4: Trong Visual Studio 2008 chọn Tools–>Options, thiết lập như 2 hình sau:

Hình trên là Include files, hình dưới là library files.

Bước 5: Tạo 1 New empty project (Win32 Console Application), tạo 1 file main.cpp với nội dung như sau:

#include <stdio.h>
#include <mpi.h>

int main(int argc, char *argv[]) {
int numprocs, rank, namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];

MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Get_processor_name(processor_name, &namelen);

printf(“Process %d on %s out of %d\n”, rank, processor_name, numprocs);

MPI_Finalize();
}

Bước 6: vào Project–>Properties, thiết lập như các hình sau:

Dòng -np 2 “$(TargetPath)” > “$(OutDir)\out.txt”  có nghĩa là sẽ có 2 process cùng chạy song song với nhau, kết quả sẽ ghi vào file out.txt nẳm trong folder Debug chung với file exe của chương trình (trong VS 2008, khi bạn chọn Debug chương trình, khi chạy xong cmd sẽ tự động exit, do đó không thể thấy được cái mình càn in ra màn hình)

Bước 7: chọn Debug–>Start debugging, mở file out.txt xem kết quả (CAT ở đây là tên máy tính của tui)

Process 0 on CAT out of 2
Process 1 on CAT out of 2

Categories: Programming Tags:
  1. September 24, 2014 at 11:46 AM

    Hello mates, how is everything, and what you wish for to say on the topic of this paragraph, in my view its really awesome for me.

  1. January 23, 2012 at 9:24 PM
  2. February 22, 2012 at 11:27 PM

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: