1. Trang chủ
  2. » Công Nghệ Thông Tin

slide bài giảng tính toán lưới - nguyễn hữu đức bài 3 giới thiệu về lập trình song song theo mô hình truyền thông điệp

24 924 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 324,9 KB

Nội dung

Chu n MPI Message Passing Interface ẩ Chuẩn MPI là kết quả sau hơn 2 năm thảo luận của MPI Forum, 1 nhóm gồm khoảng 60 người từ 40 tổ chức khác nhau đại diện cho những nhà phân phối các

Trang 1

Gi i thi u v l p trình song song ớ ệ ề ậ theo mô hình truy n thông đi p ề ệ

Center of High Performance Computing

Hanoi University of Technology

{hpcc@mail.hut.edu.vn}

Hà n i, 6/2008 ộ

Đ i h c Bách khoa Hà N i ạ ọ ộ

Trang 2

N i dung bài h c ộ ọ

Mô hình truy n thông đi p ề ệ

C u trúc ch ấ ươ ng trình truy n thông đi p ề ệ

Các khái ni m trong ch ệ ươ ng trình

Chu n b môi tr ẩ ị ườ ng l p trình ậ

Biên d ch, ch y ch ị ạ ươ ng trình song song

Demo

Trang 3

Mô hình truy n thông đi p ề ệ (Message Passing Model)

Procesor 2

Trang 4

Chu n MPI (Message Passing Interface) ẩ

 Chuẩn MPI là kết quả sau hơn 2 năm thảo luận của MPI Forum,

1 nhóm gồm khoảng 60 người từ 40 tổ chức khác nhau đại diện cho những nhà phân phối các hệ thống song song, những phòng thí nghiệm quốc gia và những trường đại học danh tiếng

 MPI là một thư viện các hàm có thể chèn vào mã nguồn để

truyền dữ liệu giữa các tiến trình

http://www.mpi-forum.org

Trang 5

Chu n MPI ẩ

 Chuẩn MPI-1:

 Xác định quy cách đặt tên, quá trình thực hiện và kết quả trả về của các hàm/chương trình con trong thư viện Mọi hàm/chương trình con trong thư viện đều phải tuân theo những quy tắc trên, điều này đảm bảo khả năng khả chuyển của các chương trình viết theo chuẩn MPI khi biên dịch và chạy trên các kiến trúc máy tính, hệ điều hành khác nhau.

 Chi tiết cài đặt của các hàm/chương trình con trong thư viện là do những nhà cung cấp quyết định (vd: trường Đại học Indiana, Hoa Kỳ phát triển LAM/MPI, MPICH, OPENMPI,…)

 Quá trình cài đặt các hàm/chương trình con trong thư viện phải tương thích với hầu hết các kiến trúc máy tính, hệ điều hành phổ biến.

 Năm 1994: MPI-1.0; hiện nay mới nhất là MPI-2.1

 Chuẩn MPI-2.1 định nghĩa thêm các định tuyến nâng cao: vào

ra song song, truyền thông 1 phía, …

 Tuy nhiên chưa được hỗ trợ nhiều

Trang 6

Khi nào dùng và không dùng MPI

 Đoạn mã song song có tính khả chuyển thông qua các flatform khác nhau

 Cần đạt hiệu năng cao

 Cần viết thư viện song song

 Có thể đạt hiệu năng bằng cách dùng các hàm song song sẵn có của thư viện Fortran hoặc của OpenMP

 Đã có các thư viện song song viết bằng MPI, như thư viện toán học song song

 Không cần đoạn mã nào chạy song song

Trang 7

C u trúc ch ấ ươ ng trình song song theo chu n MPI ẩ

Trang 8

Các đ c đi m c b n c a CT truy n thông đi p ặ ể ơ ả ủ ề ệ

tuyến trong thư viện MPI

 Khởi tạo, quản lý và ngắt qúa trình truyền thông

 Truyền thông giữa các cặp tiến trình(truyền thông điểm – điểm)

 Truyền thống giữa các nhóm nhóm(truyền thông công cộng)

 Tạo các loại dữ liệu có cấu trúc riêng

 Thao tác trên communicator

Trang 9

Quy ướ c đ t tên ặ

đều bắt đầu bằng từ MPI_

Trang 10

Đ nh tuy n MPI và giá tr tr v ị ế ị ả ề

cho biết trạng thái kết thúc của hàm (lỗi hay thành công)

int err;

err = MPI_Init($argc, $args);

if (err == MPI_SUCCESS){

}

Trang 11

(none) MPI_PACKED

long double MPI_LONG_DOUBLE

double MPI_DOUBLE

float MPI_FLOAT

unsigned long int MPI_UNSIGNED_LONG

u

n s i g n e d i n t

MPI_UNSIGNED

unsigned short int MPI_UNSIGNED_SHORT

unsigned char MPI_UNSIGNED_CHAR

signed long int MPI_LONG

signed int MPI_INT

signed short int MPI_SHORT

signed char MPI_CHAR

Ki u d li u ể ữ ệ

t ươ ng ng trong C ứ

Ki u d li u MPI ể ữ ệ

Trang 12

1

2 3

Trang 13

 Mỗi tiến trình trong 1 communicator

có 1 định danh, gọi là Rank, đánh số

Rank 0

Trang 14

Các đ nh tuy n ị ế thi t l p môi tr ế ậ ườ ng

và l y các thông s v môi tr ấ ố ề ườ ng

 Khởi tạo tham số cho môi trường MPI

 Trả về rank của tiến trình

 Trả về số tiến trình trong comm

 Giải phóng dữ liệu, ngắt các định tuyến MPI

Trang 15

Cài đ t môi tr ặ ườ ng th nghi m ử ệ

 Không đòi hỏi cấu hình, bảo trì, thay đổi máy tính cá nhân

 Tập trung vào viết chương trình

 Số lượng các nút tính toán nhiều

 Môi trường song song thực sự

 Hệ thống bkluster

 Địa chỉ: bkluster.hut.edu.vn

 Liên hệ người quản trị để lấy tài khoản đăng nhập

 Số lượng CPU ít

 Đòi hỏi công sức cài đặt, bảo trì

Trang 16

 Có thể dùng máy ảo để cài hệ điều hành

 Hoặc cài đặt Cygwin trên môi trường Windows để thử nghiệm

 Bước 2: môi trường truyền thông điệp

Trang 17

Môi tr ườ ng so n th o mã ngu n ạ ả ồ

Chương trình eclipse, với plugin PTP

Trang 18

Môi tr ườ ng so n th o mã ngu n ạ ả ồ

Môi trường lập trình song song trực tuyến PCP

http://bkluster.hut.edu.vn/pcp

Trang 20

Biên d ch ch ị ươ ng trình

 mpicc helloworld.c –o helloworld

Biên dịch mã nguồn helloworld.c thành chương trình chạy

có tên helloworld

Trang 21

Kh i t o môi tr ở ạ ườ ng LAMMPI

 Khởi động:

Lệnh: lamboot –v hostfile

 Tệp tin hostfile chưa tên các máy cần để chạy chương trình song song

có nội dung: localhost

 Xem thông tin môi trường đã khởi động

 lamnodes

# vi du hostfile localhost cpu=2

Trang 22

Ch y ch ạ ươ ng trình helloworld

 mpirun –np 4 helloworld

 Chạy chương trình hello với 4 tiến trình

 Mở 1 terminal mới

 Gõ lệnh: ps –aux | grep tenchuongtrinh

 ps –aux | grep helloworld

 lamhalt

Trang 23

K t qu ế ả

Ngày đăng: 24/10/2014, 11:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w