(Luận văn thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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 thạc sĩ) 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
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐỨC MINH NGHIÊN CỨU GiẢI PHÁP CÔNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐỨC MINH NGHIÊN CỨU GiẢI PHÁP CƠNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ QUANG MINH Hà Nội 2016 MỤC LỤC MỞ ĐẦU DANH MỤC THUẬT NGỮ DANH MỤC HÌNH VẼ CHƯƠNG 1: TỔNG QUAN VỀ TÍNH TỐN SONG SONG VÀ GPU 1.1 Tổng quan tính tốn song song 1.1.1 Tổng quan tính tốn song song 1.1.2 Mơ hình máy tính song song 1.1.3 Mơ hình lập trình song song 12 1.1.4 Nguyên lý thiết kế giải thuật song song 14 1.2 Tổng quan GPU 16 1.2.1 Giới thiệu GPU 16 1.2.2 Lịch sử phát triển GPU 16 1.2.3 Kiến trúc GPU 19 1.2.4 Tính tốn GPU 23 1.2.5 Môi trường phần mềm 27 1.2.6 Kỹ thuật ứng dụng 30 1.2.7 Giải thuật ứng dụng 32 Chương 36 TÍNH TỐN SONG SONG TRÊN GPU TRONG CUDA 36 2.1 Giới thiệu môi trường phát triển CUDA 36 2.2 Mơi trường lập trình chế hoạt động chương trình CUDA 38 2.2.1 Mơi trường lập trình 38 2.2.1 Cơ chế hoạt động chương trình CUDA 38 Mơ hình lập trình 40 Bộ đồng xử lý đa luồng mức cao 40 Gom lô luồng 40 Khối luồng 40 Lưới khối luồng (Grid of Thread Blocks) 41 Mơ hình nhớ 43 2.3.Lập trình ứng dụng với CUDA 44 2.3.1 CUDA mở rộng ngơn ngữ lập trình C 44 2.3.2 Những mở rộng CUDA so với ngôn ngữ lập trình C 45 Các biến Built-in 47 2.3.3 Biên dịch với NVCC 48 2.4 Ví dụ tính toán song song CUDA 49 2.5 Ứng dụng CUDA lĩnh vực công nghệ 53 CUDA cho ngành cơng nghiệp trị chơi 53 CUDA cho ứng dụng video số 53 Chương 3: TĂNG TỐC ĐỘ TÍNH TỐN MỘT SỐ BÀI TOÁN SỬ DỤNG GPU 55 3.1 Giới thiệu số toán 55 3.2 Biến đổi FFT GPU 55 3.2.1 Phân tích Fourier 55 3.1.1 Phép biến đổi Fourier 56 3.1.2 Phân tích biến đổi FFT GPU 56 3.1.3 Chương trình thử nghiệm 57 3.1.4 Kết thử nghiệm 58 3.1.4.2 3.2 Phát biên ảnh 60 3.2.3 3.3 Đánh giá hiệu suất tính tốn 60 Kết thử nghiệm 63 Tạo ảnh sơn mài 64 3.3.1 Cài đặt thuật toán tạo ảnh sơn mài GPU 64 3.3.2 Kết thử nghiệm 66 3.4 Hướng phát triển 67 KẾT LUẬN 69 TÀI LIỆU THAM KHẢO 70 Tài liệu tiếng anh 70 LỜI CAM ĐOAN Với mục đích học tập, nghiên cứu để nâng cao kiến thức trình độ chun mơn nên tơi làm luận văn cách nghiêm túc hồn tồn trung thực Trong luận văn, tơi có sử dụng tài liệu tham khảo số tác giả Tôi nêu phần tài liệu tham khảo cuối luận văn Tôi xin cam đoan chịu trách nhiệm nội dung trung thực luận văn tốt nghiệp Thạc sĩ mình! Hà Nội, tháng 05 năm 2016 Học viên Nguyễn Đức Minh LỜI CẢM ƠN Những kiến thức luận văn kết ba năm (20132016) tơi có may mắn thầy cô giáo Trường Đại học Công Nghệ Đại học Quốc Gia Hà Nội, thầy cô giáo thầy cô giáo Trường Đại học, Viện nghiên cứu trực tiếp giảng dạy, đào tạo dìu dắt Tơi xin bày tỏ lời cảm ơn chân thành tới thầy cô giáo Bộ môn Kỹ Thuật Phần Mềm – Khoa Công nghệ thông tin – Đại học Công Nghệ - ĐHQG Hà Nội, Phịng đào tạo sau đại học – Đại học Cơng Nghệ - ĐHQG Hà Nội tạo điều kiện thuận lợi cho thời gian học tập trường Tơi xin bày tỏ lịng biết ơn chân thành, lời cảm ơn sâu sắc thầy giáo TS Lê Quang Minh trực tiếp hướng dẫn, định hướng cho giải vấn đề luận văn Tôi xin cảm ơn anh chị em đồng nghiệp Trường ĐH Công Nghệ Thông Tin & Truyền Thông Trường ĐH Kỹ Thuật Công Nghiệp ủng hộ giúp đỡ tơi q trình thực luận văn Luận văn xin lời chia vui với người thân, đồng nghiệp, bạn bè bạn đồng môn lớp cao học K20 Hà Nội, tháng 05 năm 2016 Học viên Nguyễn Đức Minh MỞ ĐẦU Sự bùng nổ Internet, bùng nổ xu thiết bị kết nối (Internet of thing - IOT), bùng nổ nhu cầu thưởng sẩn phầm âm đồ họa độ phân giải cao chất lượng cao, bùng nổ dịch vụ lưu trữ đám mây, dịch vụ trực tuyến, khiến cho khôi lượng liệu mà vi xử lý (CPU) phải tính tốn ngày lớn thực vượt nhanh so với phát triển tốc độ CPU Không người muốn có nhiều thơng tin hơn, thơng tin phải tốt lại muốn tốc độ xử lý phải nhanh hơn, điều làm cho nhu cầu tính tốn lĩnh vực khoa học, cơng nghệ trở thành thách thức lớn Từ giải pháp nhằm tăng tốc độ tính tốn đời Tư năm 2001 đến 2003 tốc độ Pentium tăng gấp đôi từ 1.5GHz lên đến 3GHz Tuy nhiên hiệu CPU không tăng tương xứng mức gia tăng xung nhịp CPU việc tăng xung nhịp đạt tới giới hạn cơng nghệ Cụ thể tính đến 2005 xung nhịp Pentium tăng lên 3.8GHz Việc tăng xung nhịp CPU dẫn đến việc tăng nhiệt độ làm việc CPU Các cơng nghệ làm mát không đáp ứng bề mặt tiếp xúc CPU ngày nhỏ Trước tình hình nhà nghiên cứu vi xử lý chuyển sang hướng phát triển cơng nghệ đa lõi nhằm song song hóa q trình tính tốn để tăng tốc độ tiết kiệm điện Một công nghệ đa lõi xử lý song song đời xử lý đồ họa GPU (Graphic Processing Unit) GPU ban đầu đời phục vụ cho mục đích xử lý đồ họa, ngành công nghiệp Game Tuy nhiên ngày với công nghệ CUDA phát triển hãng NVIDIA từ năm 2007 cho phép thực tính tốn song song với phép tính phức tạp dấu chấm động Với hiệu xuất ngàn lệnh thời điểm Chính xu hướng nghiên cứu đời phát triển thuật toán song song thực GPU Với CUDA lập trình viên nhanh tróng phát triển ứng dụng tính tốn song song cho rât nhiều ứng dụng khác như: Điện toán, xếp, tìm kiếm, xử lý tín hiệu số, ảnh,… Việc nghiêp cứu áp dụng CUDA để tăng tốc độ tính tốn cho toán mà cần phải xử lý khối liệu đầu vào khổng lồ tốn u cầu tính thời gian thực thực trở thành vấn đề cấp thiết thực tế Xuất phát từ cầu mà chọn đề tài : NGHIÊN CỨU GiẢI PHÁP CÔNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG Luận văn gồm chương chính: Chương 1: Tổng quan tính tốn song song GPU, chương giới thiệu kiến thức tổng quan tính tốn song song, từ tìm hiểu kiến thức xử lý đồ họa GPU cách thức ứng dụng tính tốn Chương 2: Tính tốn song song GPU CUDA, Chương cung cấp kiến thức môi trường lập trình, ngơn ngữ lập trình, cách thiết lập chương trình dẫn hiệu cài đặt ứng dụng tính tốn GPU Chương 3:Tăng tốc độ tính tốn số tốn sử dụng GPU Trên cở kiến thức trình bày chương trên, tác giả luận văn tiến hành cài đặt thử nghiệm mơ tốn CPU GPU Từ có so sánh, nhận xét lực tính tốn vượt trội GPU so với CPU truyền thống Đồng thời mở hướng cải tiến hiệu cho toán chạy GPU DANH MỤC THUẬT NGỮ Tiếng Anh Tiếng Việt API Application Program Interface: API định nghĩa giao diện chuẩn để triệu gọi tập chức 2coproccessor đồng xử lý 3gpgpu tính tốn thơng dụng GPU 4GPU Bộ xử lý đồ họa 5kernel hạt nhân 6MIMD Multiple Instruction Multiple Data: đa lệnh đa liệu 7primary surface Bề mặt chính, khái niệm dùng kết cấu 8proccessor Bộ xử lý 9Rasterization Sự quét mành hình 1SIMD Single Instruction Multiple Data: đơn lệnh đa liệu 1stream 1streaming processor 1texture Dòng 1texture fetches 1texture reference 1warp Hàm đọc kết cấu Bộ xử lý dịng Kết cấu: cấu trúc đối tượng, xem mơ hình thu nhỏ đối tượng Tham chiếu kết cấu Mỗi khối tách thành nhóm SIMD luồng DANH MỤC HÌNH VẼ Hình Mơ tả kiến trúc Von Neumann 10 Hình Máy tính song song có nhớ chia sẻ 14 Hình Máy tính song song có nhớ phân tán 14 Hình Mơ hình kiến trúc máy SISD 15 Hình Mơ hình kiến trúc máy SIMD 15 Hình Mơ hình kiến trúc máy MISD 16 Hình Mơ hình kiến trúc máy MIMD 16 Hình Mơ hình lập trình truyền thơng hai tác vụ hai máy tính 18 Hình Mơ hình lập trình song song liệu 18 Hình 10: Ảnh chụp 3dfx Voodoo3 22 Hình 11: Kiến trúc GPU NVIDIA AMD có lượng đồ sộ đơn vị lập trình tổ chức song song thống 28 Hình 12:Hiệu quét CPU, GPU dựa đồ họa (sử dụng OpenGL), GPU tính toán trực tiếp (sử dụng CUDA) Kết thực GeForce 8800 GTX GPU Intel Core2Duo 37 Hình 13: Kiến trúc phần mềm CUDA 41 Hình 14: Các thao tác thu hồi cấp phát nhớ 42 Hình 15: Vùng nhớ dùng chung mang liệu gần ALU 43 Hình 16: Sơ đồ hoạt động truyền liệu Host Device 44 Hình 17: Khối luồng 46 Hình 18: Mơ hình nhớ GPU 47 Hình 19: Chiều lưới khối với số khối luồng 52 Hình 20: Phương pháp đánh số luồng 56 ... QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐỨC MINH NGHIÊN CỨU GiẢI PHÁP CÔNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG Ngành: Công nghệ thông tin Chuyên ngành: Kỹ... Phân biệt xử lý song song xử lý Trong tính tốn với xử lý thời điểm thực phép toán Trong tính tốn song song nhiều xử lý kết hợp với để giải toán giảm thời gian xử lý thời điểm thực đồng thời nhiều... đầu vào khổng lồ tốn u cầu tính thời gian thực thực trở thành vấn đề cấp thiết thực tế Xuất phát từ cầu mà chọn đề tài : NGHIÊN CỨU GiẢI PHÁP CƠNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA