Tải bản đầy đủ (.pptx) (30 trang)

LẬP TRÌNH SONG SONG VỚI MPI MESSAGE PASSING INTERFACE CHO BÀI TOÁN NHÂN 2 MA TRẬN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (595.84 KB, 30 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
LẬP TRÌNH SONG SONG VỚI MPI (MESSAGE-
PASSING INTERFACE) CHO BÀI TOÁN NHÂN 2
MA TRẬN
NHÓM 7: GVHD: PGS.TS TRẦN CAO ĐỆ
LÊ PHƯỚC KHIÊM (M000107) NGUYỄN THÁI HÙNG (M000998)
TRẦN QUỐC LỊNH (M001002) VÕ ĐĂNG KHOA (M001001)
PHAN MINH NHẬT (M001009) ĐINH HOÀNG VĂN BỬU THỊNH (M001012)
Cần Thơ, tháng 04/2013
BÁO CÁO ĐỒ ÁN MÔN HỌC
PHÂN TÍCH & THIẾT KẾ GIẢI THUẬT NÂNG CAO
2
NỘI DUNG TRÌNH BÀY
Cài đặt giải thuật nhân 2 ma trận
3
Thực nghiệm
4
Giới thiệu
1
Lập trình song song với MPI
2
Kết luận và hướng phát triển
5
3
Giới thiệu

Mục tiêu:

Tìm hiểu bài toán nhân 2 ma trận và tổng
quan các giải thuật tuần tự.



Tìm hiểu kỹ thuật lập trình song song với
MPI.

Mô tả một giải thuật tuần tự và giải thuật
song song với MPI cho bài toán.

Thực nghiệm, phân tích, đánh giá và so
sánh kết quả.
Giới thiệu (tt)

Mục đích:
Nghiên cứu này nhằm kiểm chứng rằng
giải thuật song song cho bài toán nhân 2 ma
trận hiệu quả hơn giải thuật tuần tự.
4
Giới thiệu (tt)

Bài toán nhân 2 ma trận
Cho: Ma trận A có kích thước m x n
Ma trận B có kích thước n x p
Ma trận C có kích thước m x p là kết
quả của phép nhân A và B. Phần tử của C ở
hàng thứ i, cột thứ j được xác định bởi:
5
ci,j = ai,1 b1,j + ai,2b2,j + … + ai,nbn,j
Giới thiệu (tt)

Các giải thuật tuần tự


Cài đặt trực tiếp, sử dụng công thức:

Độ phức tạp thời gian là O(n3).
6

n
=k
kjikij
BA=C
1
Giới thiệu (tt)

Giải thuật Strassen (1969)
Chỉ cần 7 phép nhân đệ qui n/2 x n/2 ma trận và
O(n2) phép cộng trừ vô hướng.
Với ma trận 2x2:

T(n) = 7T(n/2) + 18 (n/2)2 € O(nlg7 ) =
O(n2.81)
7

























2221
1211
2221
1211
2221
1211
bb
bb
aa
aa=
cc
cc
8
Lập trình song song với MPI

Xử lý song song là gì?


Xử lý gồm nhiều tiến trình được kích hoạt
đồng thời để giải quyết một bài toán.

Xử lý được thực hiện trên những hệ
thống đa bộ xử lý.

Mục đích xử lý song song?

Dùng nhiều hơn 1 processor để tính toán
nhanh hơn.

Giải quyết tốt các bài toán lớn: dự báo
thời tiết, mô phỏng, xử lý ảnh,…
Lập trình song song với MPI (tt)

Phân biệt xử lý song song và xử lý tuần tự
Xử lý
tuần tự
Tại mỗi thời điểm
chỉ thực hiện
được một phép
toán
Tốc độ
chậm
Phù hợp
với bài
toán nhỏ
Xử lý
song

song
Tại mỗi thời điểm
có thể thực hiện
đồng thời nhiều
phép toán
Tốc độ
nhanh
Phù hợp
với bài
toán lớn
9
10
Lập trình song song với MPI (tt)

Lập trình song song
Mô hình song song
Giải thuật

Bài toán nào có thể song song hóa?

Tính toán tuần tự theo hàm mũ: NO

Tính toán tuần tự lớp P: OK

Tính toán tuần tự lớp NP-Complete: NO

Một phần bài toán có thể song song hóa. OK
Lập trình song song
11
Lập trình song song với MPI (tt)


MPI (Message-Passing Interface)
- Một dạng giao thức kết nối của máy tính
- Kết nối giữa các nút chạy một
chương trình song song trên
bộ nhớ chia sẻ được phân phối.
- MPI bao gồm một thư viện các thủ tục
gọi được từ các chương trình Fortran, C,
C++ hay Ada
Lập trình song song với MPI (tt)

Ưu điểm của MPI
- MPI thực thi cho hầu hết các kiến trúc bộ nhớ
phân phối
- Mỗi thủ tục được tối ưu hóa cho phần cứng
12
Cài đặt MPI
Cài đặt MPI (tt)
Cài đặt MPI (tt)
Lập trình song song với MPI (tt)

Thư viện hàm của MPI
16
TÊN HÀM TÊN HÀM
MPI_Init() MPI_Wtime()
MPI_Finalize() MPI_Wtick()
MPI_Comm_size(MPI_CO
MM_WORLD, &size)
MPI_Reduce(void *local,
void *global, int count,

MPI_Datatype type,
MPI_Op operator, int root,
MPI_Comm comm)
MPI_Comm_rank(MPI_CO
MM_WORLD, &rank)
MPI_Send()
MPI_Finalized(&flag) MPI_Receive()
MPI_Barrier()

Lập trình song song với MPI (tt)
Tên Ki u d li u C t ng ngể ữ ệ ươ đươ
MPI_CHAR signed char
MPI_DOUBLE double
MPI_FLOAT Float
MPI_INT Int
MPI_LONG Long
MPI_LONG_DOUBLE long double
MPI_SHORT Short
MPI_UNISIGNED_CHAR unsigned char
MPI_UNISIGNED unsigned int
MPI_UNSIGNED_LONG unsigned long
…. …
17

Kiểu dữ liệu
CÀI ĐẶT GIẢI THUẬT NHÂN 2 MA TRẬN

Giải thuật tuần tự
18
GIẢI THUẬT TUẦN TỰ (tt)

19
GIẢI THUẬT Fox’s
20
GIẢI THUẬT Fox’s (tt)
21
GIẢI THUẬT Fox’s (tt)
GIẢI THUẬT Fox’s (tt)
23
GIẢI THUẬT Fox’s (tt)
24
GIẢI THUẬT Fox’s (tt)
25

×