NGHIÊN CU GiI PHÁP CÔNG NGH TÍNH TOÁN HIU
NĂNG CAO VỚI B X LÝ ĐỒ HA GPU VÀ NG DNG.
Nguyễn Đức Minh
Trường Đi hc Công ngh - Đại hc Quc gia Hà Ni
Luận văn Thạc sĩ chuyên ngành: K thut phn mm;
Mã s: 60 480 10 3
Ngưi hưng dn: TS. Lê Quang Minh
Năm bảo v: 2016
Abstract: Trình bày s thuyết v tính toán hiệu năng cao tính toán song
song,trên cơ sởthuyết v tính toán song song và kiến thc v GPU và CUDA đưa ra
các bài toán ng dng trên GPU để làm hiu nng tính toán v mt thi gian so vi
tính toán đơn thun trên CPU.
Keywords: Tính toán song song, GPU, CUDA
MỞ ĐẦU
S bùng n ca Internet, s bùng n ca xu thế mi thiết b đều kết ni (Internet
of thing - IOT), s bùng n v nhu cầu thưng các sn phầm âm thanh đồ họa độ phân
gii cao chất lượng cao, s bùng n ca các dch v lưu trữ đám mây, dịch v trc
tuyến, đã khiến cho khôi lượng d liu mà vi x lý (CPU) phi tính toán ngày càng ln
thc s đã vượt quá nhanh so vi s phát trin tốc độ ca CPU. Không nhng thế
con người mc mun nhiều thông tin hơn, thông tin phi tốt hơn lại n mun
tốc độ x phải nhanh hơn, điều y càng làm cho nhu cầu tính toán trong lĩnh vực
khoa hc, công ngh đã đang trở thành mt thách thc ln. T đó các giải pháp
nhằm tăng tc đ tính toán đã được ra đời.
Tư năm 2001 đến 2003 tốc độ của Pentium 4 đã tăng gấp đôi từ 1.5GHz lên đến
3GHz. Tuy nhiên hiệu năng của CPU không tăng tương xứng như mức gia tăng xung
nhp ca CPU việc tăng xung nhịp cũng chỉ đạt ti gii hn công ngh. C th tính
đến 2005 xung nhp ca Pentium 4 mi ch tăng lên được 3.8GHz. Việc tăng xung
nhp ca CPU dn đến việc tăng nhiệt độ làm vic ca CPU. Các công ngh m mát
th không đáp ứng được do b mt tiếp xúc ca CPU ngày càng nhỏ. Trước tình
hình y các nhà nghiên cu vi x đã chuyển sang hướng phát trin công ngh đa
lõi nhằm song song hóa các quá trình tính toán đ tăng tốc độ tiết kiệm điện năng.
Mt trong các công ngh đa lõi xử song song ra đời b x đồ ha GPU
(Graphic Processing Unit). GPU ban đầu ra đời ch phc v cho mục đích xử đồ
ha, ngành công nghip Game. Tuy nhiên ngày nay vi công ngh CUDA được
phát trin bi hãng NVIDIA t năm 2007 đã cho phép thực hin các tính toán song
song vi các phép tính phc tạp như du chấm động. Vi hiu xut c ngàn lnh trong
mt thời điểm. Chính vy một xu hướng nghiên cu mới đã ra đời đó phát triển
các thut toán song song thc hin trên GPU. Vi CUDA các lp trình viên th
nhanh tróng phát trin các ng dng tính toán song song cho rât nhiu ng dng khác
nhau như: Điện toán, sp xếp, tìm kiếm, x lý tín hiu s, ảnh,
Việc nghiêp cứu áp dụng CUDA để tăng tốc độ tính toán cho các bài toán
cần phải xử một khối dữ liệu đầu vào khổng lồ hoặc các bài toán yêu cầu tính thời
gian thực đã thực sự trở thành một vấn đề cấp thiết trong thực tế. Xuất phát từ như
cầu y i đã chọn đề tài : NGHIÊN CỨU GiẢI PHÁP CÔNG NGHỆ TÍNH
TOÁN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG.
Luận văn gồm 3 chương chính:
Chương 1: Tổng quan v tính toán song song GPU, chương này giới thiu
nhng kiến thc tng quan v tính toán song song, t đó tìm hiểu nhng kiến thức
bn v b x lý đồ ha GPU và cách thc ng dng tính toán trên đó.
Chương 2: Tính toán song song trên GPU trong CUDA,. Chương này cung cp
các kiến thc v môi trường lp trình, ngôn ng lp trình, cách thiết lập chương trình
các ch dn hiệu năng khi cài đặt ng dng tính toán trên GPU.
Chương 3:Tăng tốc độ tính toán một số bài toán sử dụng GPU. Trên cở
các kiến thức được trình bày ở các chương trên, tác giả luận văn đã tiến hành cài
đặt và thử nghiệm mô phỏng bài toán trên CPU và GPU. Từ đó có những so sánh,
nhận xét về năng lực tính toán vượt trội của GPU so với CPU truyền thống.
Đồng thời cũng mở ra các hướng cải tiến hiệu năng mới cho bài toán chạy trên
GPU.
DANH MỤC THUẬT NGỮ
Tiếng Anh
Tiếng Việt
1
API
Application Program Interface: một API định nghĩa một
giao diện chuẩn để triệu gọi một tập các chức năng.
2
coproccessor
bộ đồng xử lý
3
gpgpu
tính toán thông dụng trên GPU
4
GPU
Bộ xử lý đồ họa
5
kernel
hạt nhân
6
MIMD
Multiple Instruction Multiple Data: đa lệnh đa dữ liệu
7
primary surface
Bề mặt chính, khái niệm dùng trong kết cấu
8
proccessor
Bộ xử lý
9
Rasterization
Sự quét mành trên màn hình
10
SIMD
Single Instruction Multiple Data: đơn lệnh đa dữ liệu
11
stream
Dòng
12
streaming processor
Bộ xử lý dòng
13
texture
Kết cấu: cấu trúc của đối tượng, nó được xem như mô hình
thu nhỏ của đối tượng.
14
texture fetches
Hàm đọc kết cấu
15
texture reference
Tham chiếu kết cấu
16
warp
Mỗi khối được tách thành các nhóm SIMD của các luồng.
DANH MỤC HÌNH VẼ
Hình 1. Mô t kiến trúc Von Neumann ........................................................... 10
Hình 2. Máy tính song song có b nh chia s ................................................ 14
Hình 3. Máy tính song song có b nh phân tán ............................................. 14
Hình 4. Mô hình kiến trúc máy SISD .............................................................. 15
Hình 5. Mô hình kiến trúc máy SIMD ............................................................. 15
Hình 6. Mô hình kiến trúc máy MISD ............................................................. 16
Hình 7. Mô hình kiến trúc máy MIMD ........................................................... 16
Hình 8. Mô hình lp trình truyn thông gia hai tác v trên hai máy tính ..... 18
Hình 9. Mô hình lp tnh song song d liu .................................................... 18
Hình 10: nh chp 3dfx Voodoo3 ................................................................... 22
Hình 11: Kiến trúc GPU ca NVIDIA AMD mt ng đ s các đơn v
lp trình đưc t chc song song thng nht ................................................... 28
Hình 12:Hiu năng quét trên CPU, GPU da trên đ ha (s dng OpenGL),
GPU tính toán trc tiếp (s dng CUDA). Kết qu thc hin trên GeForce
8800 GTX GPU và Intel Core2Duo ................................................................ 37
Hình 13: Kiến trúc b phn mm CUDA ........................................................ 41
Hình 14: Các thao tác thu hi và cp phát b nh ........................................... 42
Hình 15: Vùng nh dùng chung mang d liu gn ALU hơn ......................... 43
Hình 16: đ hoạt động truyn d liu gia Host và Device ...................... 44
Hình 17: Khi lung ........................................................................................ 46
Hình 18: Mô hình b nh trên GPU ................................................................ 47
Hình 19: Chiu của lưới và khi vi ch s khi và lung.............................. 52
Hình 20: Phương pháp đánh ch s lung........................................................ 56