intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tính toán song song - Bài 3: Lập trình thư viện MPI

Chia sẻ: Phuc Nguyen | Ngày: | Loại File: PDF | Số trang:22

161
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng cung cấp cho người học các kiến thức: Lập trình thư viện MPI, mô hình lập trình, định dạng các hàm trong MPI, cấu trúc của chương trình MPI,... Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu. Mời các bạn cùng tham khảo chi tiết nội dung tài liệu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tính toán song song - Bài 3: Lập trình thư viện MPI

5/11/16 <br /> <br /> LẬP TRÌNH THƯ VIỆN MPI<br /> MESSAGE PASSING INTERFACE<br /> ThS. Phan Trọng Tiến<br /> Bộ môn CNPM – Khoa CNTT<br /> Học Viện Nông nghiệp Việt Nam<br /> Email: phantien84@gmail.com<br /> Website: http://timoday.edu.vn<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 1<br /> <br /> MPI là gì?<br /> q  Là viết tắt của Message Passing Interface, chỉ một dạng giao<br /> <br /> thức kết nối của máy tính. Nó nằm trong chuẩn “de facto” cho<br /> kết nối giữa các nút chạy một chương trình song song trên bộ<br /> nhớ phân tán.<br /> q  Tập MPI thi hành bao gồm một thư viện các thủ tục sao cho có<br /> thể gọi được từ các chương trình Fortran, C, C++ hay Ada.<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 2<br /> <br /> 1 <br /> <br /> 5/11/16 <br /> <br /> Mô hình lập trình<br /> q  MPI ra đời mục đích dành cho các hệ thống máy tính có bộ<br /> <br /> nhớ phân tán. Tuy nhiên MPI cũng có thể triển khai được trên<br /> hệ thống máy tính có bộ nhớ chia sẻ.<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 3<br /> <br /> Lập trình MPI<br /> q  Header file:<br /> q Yêu cầu cho mọi chương trình được lập trình bởi MPI<br /> q  Định dạng các hàm trong MPI<br /> <br /> #include “mpi.h”<br /> rc = MPI_Xxxxx(parameter)<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 4<br /> <br /> 2 <br /> <br /> 5/11/16 <br /> <br /> Lập trình MPI<br /> q  Cấu trúc của chương<br /> <br /> trình MPI<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 5<br /> <br /> Communicators and Groups<br /> q  Communicators và Group là tập hợp tất cả các processes có<br /> <br /> thể giao tiếp được với nhau.<br /> q  Phần lớn các hàm trong thư viện MPI yêu cầu tham số<br /> Communicator.<br /> q  MPI_COMM_WORLD được định nghĩa sẵn.<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 6<br /> <br /> 3 <br /> <br /> 5/11/16 <br /> <br /> Rank<br /> q  Với mỗi Communicator, mỗi processes có một ID nhất định.<br /> q  Rank được bắt đầu từ 0<br /> q  Sử dụng rank trong các message để chỉ ra nguồn (source) và<br /> <br /> đích (destination)<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 7<br /> <br /> Các hàm quản lý môi trường<br /> q  MPI_Init<br /> q Khởi tạo môi trường thực thi MPI. Hàm này được gọi trong mọi chương<br /> trình MPI, được gọi trước các hàm MPI khác, và chỉ được gọi một lần duy<br /> nhất.<br /> <br /> int MPI_Init(int *argc,char ***argv)<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 8<br /> <br /> 4 <br /> <br /> 5/11/16 <br /> <br /> Các hàm quản lý môi trường<br /> q  MPI_Comm_size<br /> q Xác định số lượng process trong nhóm ứng với một Communicator<br /> (thường là MPI_COMM_WORLD)<br /> q  MPI_Comm_rank<br /> q Trả về id của Communicator hiện tại<br /> <br /> int MPI_Comm_size(MPI_Comm comm,int *size )<br /> int MPI_Comm_rank (comm,&rank)<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 9<br /> <br /> Các hàm quản lý môi trường<br /> q  MPI_Abort<br /> q Hủy bỏ tất cả các MPI processes gắn với một Communicator<br /> <br /> int MPI_Abort(MPI_Comm comm,int errorcode)<br /> <br /> 1/1/2015<br /> <br /> Lập trình thư viện MPI<br /> <br /> 10<br /> <br /> 5 <br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2