Tải bản đầy đủ (.ppt) (21 trang)

NGHIÊN cứu các GIẢI THUẬT SONG SONGTRÊN hệ THỐNG xử lý đồ họa GPU đa LÕITRÊN hệ THỐNG xử lý đồ họa GPU đa lõi nền MÓNG NHÀ CAO TẦNG

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 (467.91 KB, 21 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN

BẢO VỆ LUẬN VĂN THẠC SĨ
CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH

NGHIÊN CỨU CÁC GIẢI THUẬT SONG SONG
TRÊN HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU ĐA LÕI

HVTH: TRƯƠNG VĂN HIỆU
Lớp: KHMT-K19 (Khóa 2009-2011)
CBHD: TS. NGUYỄN THANH BÌNH
Đà Nẵng, tháng 09/2011

1


NỘI DUNG TRÌNH BÀY
1

Giới thiệu đề tài

2

Cơ sở lý thuyết song song

3

Giới thiệu GPU và CUDA



4

Giải
Giảipháp
phápgiải
giảiquyết
quyếtbài
bàitốn
tốn so
sosánh
sánh trình
trình tự
tự

5

Kết luận và hướng phát triển

2/23


Giới thiệu đề tài
Do nhu cầu tính tốn
ngày càng cao

Cơng nghệ xử lý song
song GPU ra đời

Năm 2007, GPU NV30

của NVIDIA ra đời

Tăng tốc độ CPU

Nhiệt độ CPU
sẽ quá cao

Phát triển công nghệ đa
lõi, nhiều lõi

CUDA phát triển ứng dụng song
song: Điện tốn hóa học, sắp xếp,
tìm kiếm, vật lý, y khoa…

Q trình tính tốn cần phải có giải thuật song
song hữu hiệu. Đề tài: “nghiên cứu các giải thuật
song song trên hệ thống xử lý đồ họa GPU đa lõi”
3/23


Giới thiệu đề tài(tt)










Mục tiêu của đề tài:
Tìm hiểu các giải thuật và cách thiết kế mẫu trong tính
tốn song song.
Tìm hiểu cấu trúc GPU và triển khai lập trình song
song với CUDA.
Phát biểu, phân tích, xây dựng và cài đặt bài tốn so
sánh trình tự bằng giải thuật song song trên thiết bị đồ
họa GPU. Đánh giá kết quả.
Ý nghĩa thực tiễn: Việc nghiên cứu các giải thuật song
song trên hệ thống xử lý đồ họa GPU làm cơ sở để
giải quyết một số bài tốn cần lượng tính toán lớn với
dữ liệu khổng lồ.
4/23


Cơ sở lý thuyết song song
Định nghĩa xử lý song song: là quá trình xử lý gồm
nhiều tiến trình được kích hoạt đồng thời và cùng
tham giải quyết một bài tốn. Nói chung, xử lý
song song được thực hiện trên những hệ thống đa
bộ xử lý.
 Phân biệt xử lý song song và xử lý tuần tự: Trong
tính tốn tuần tự với một bộ xử lý thì tại mỗi thời
điểm chỉ được thực hiện một phép tốn. Trong
tính tốn song song thì nhiều bộ xử lý cùng kết
hợp với nhau để giải quyết cùng một bài toán cho
nên giảm được thời gian xử lý vì mỗi thời điểm có
thể thực hiện đồng thời nhiều phép toán.



5/23


Nguyên lý thiết kế giải thuật song song
Phân chia dữ liệu
cho các tác vụ

Chỉ ra cách truy cập
và chia sẻ dữ liệu

Khi thiết kế giải thuật song
song, cần phải thực hiện
Phân các tác vụ
cho các tiến trình
(cho bộ xử lý)

Các tiến trình được
đồng bộ ra sao
6/23


Nhận thức vấn đề, chương trình có thể song song hóa


Trước khi phát triển giải pháp song song cho một
bài tốn  hãy xác định đó là vấn đề mà trên thực
tế có thể song song hóa được hay khơng ?




Ví dụ về vấn đề có
thể song song hóa
được: tính tổng hai
ma trận, nhân hai ma
trận



Ví dụ về vấn đề
khơng song song hóa
được:
Tính n! trong đó n N*

7/23


Một số mơ hình lập trình song song


Lập trình bộ nhớ dùng chung



Lập trình truyền thơng điệp



Mơ hình song song dữ liệu

8/23



Ví dụ thiết kế giải thuật song song cho bài tốn tính
tổng


Phát biểu bài tốn: Tính tổng N số (n1, n2,…, nN)

Giải pháp tuần tự: dùng vòng for.
 Giải pháp song song: Giả sử có N/2 bộ xử lý
Bước 1: tính (n1, n2), (n3, n4), …, (nN-1, nN)


Bước tiếp theo: tính trên N/4 cặp dữ liệu…
Qua logn bước sẽ tính toán xong.

9/23


Giới thiệu GPU


GPU (Graphic Proccessing Unit): bộ xử lý đồ họa

10/23


So sánh GPU và CPU
CPU: bộ vi xử lý trung tâm dùng để tính tốn và
xử lý các chương trình, dữ kiện... và điều phối

hoạt động các thiết bị khác.
 GPU: bộ vi xử lý chuyên xử lý các dữ liệu về hình
ảnh, đồ họa.


Số phần tử tốn học GPU nhiều hơn hẳn CPU, cho
nên GPU có khả năng xử lý song song hiệu quả.
11/23


Giới thiệu CUDA
CUDA: từ viết tắt của thuật ngữ Compute Unified
Device Architecture, là kiến trúc thiết bị hợp nhất
cho tính tốn.
 CUDA xuất hiện từ 07/2007 đóng vai trị là bộ
công cụ phát triển PM dựa trên ngôn ngữ C.


Kiến trúc
bộ phần
mềm
CUDA
12/23


Cơ chế hoạt động chương trình CUDA
Host: Là những tác vụ và cấu trúc phần cứng,
phần mềm được xử lý từ CPU.
 Divice: Là những tác vụ và cấu trúc phân cứng,
phần mềm được xử lý tại GPU.

Sơ đồ hoạt
động truyền
dữ liệu
Host,Device


B1: Dữ liệu tính tốn tại bộ nhớ của Host  truyền
dữ liệu cần tính tốn từ Host qua bộ nhớ Device.
 B2: Sau đó Device sẽ tính tốn dữ liệu  trả về
bộ nhớ Host.


13/23


Ví dụ tính tốn song song bằng CUDA


Mơ tả: cộng hai ma trận A[n][m] và B[n][m], kết quả
trả về ma trận C[n][m].



Mô tả: Nhân hai ma trận A[n][k] và B[k][m], kết
quả trả về ma trận C[n][m].

14/23


Một số định nghĩa so sánh trình tự

So sánh trình tự: là quá trình nghiên cứu sự giống
nhau giữa các chuỗi trình tự và đo lường sự giống
nhau giữa các trình tự.
 Hệ thống kí tự = {A, C, G, T, λ} để biểu diễn ADN.
Ký tự λ gọi là gap và được thay bằng ‘-‘ .


15/23


Phát biểu bài tốn so sánh trình tự


Mơ tả bài tốn: so sánh trình tự giữa hai chuỗi S1
và S2 tạo ra hai chuỗi S1’ và S2’ bằng cách thêm
các ký tự gap “-“ vào S1 và S2, trong đó: |S1’|=|S2’|



Ví dụ: so sánh hai trình tự ACGCTG và CATGT
Tiêu chí đánh giá: Nếu hai thành phần trong chuỗi
là giống nhau thì hàm đánh giá sẽ có kết quả +2,
nếu hai thành phần trong chuỗi khác nhau thì hàm
đánh giá tại vị trí này sẽ có kết quả -1.
Kết quả: hàm đánh giá là: 3*(2)+(-1)*5=1.






16/23


Xây dựng giải thuật bằng quy hoạch động


Xây dựng ma trận đánh giá trên công thức
S(i, j) = max { S(i-1, j-1) + σ(S1[i], S2[ j]) , S(i-1, j) r , S(i, j-1) - r }, với i > 0, j > 0.

 2 a b
 Hàm đánh giá:   a , b   
  1 a b

17/23


Xây dựng giải thuật bằng pp song song


Nhận xét: Tại bước xây dựng ma trận đánh giá ta
nhận thấy khi tính giá trị cho các phần tử nằm trên
đường chéo phụ khơng phụ thuộc lẫn nhau, do đó
có thể tính toán riêng rẽ từng phần tử trên từng
luồng khác nhau.
 Với từng phần tử của
đường chéo được tính
bởi một luồng riêng.
Như vậy đường chéo
có n phần tử thì cần n
luồng để tính giá trị cho

đường chéo.
18/23


Kết quả


Kết quả chạy thực nghiệm bằng phương pháp quy hoạch động và song song trên
CPU core i5 2.5GHz và GPU GeForce 310M của NVIDIA.

19/23


Hướng phát triển


Cần thử nghiệm trên các hệ thống thiết bị đồ họa
GPU có năng lực tính tốn mạnh hơn, áp dụng với
dữ liệu lớn hơn để đánh giá độ so khớp tin cậy
hơn.



Nghiên cứu cải tiến thêm giải thuật để chương
trình chạy nhanh hơn, nhằm nâng cao hiệu suất
và có thể tính tốn với khối lượng đầu vào lớn.



Xây dựng giao diện đồ họa trực quan để dễ dàng

tương tác với người dùng. Chuyển ứng dụng này
lên trang web nhằm giúp mọi người trong lĩnh vực
tin sinh học có công cụ hỗ trợ để nghiên cứu.
20/23


21/23



×