Mô phỏng song song sử dụng khối xử lý đồ họa GPGPU

87 333 0
Mô phỏng song song sử dụng khối xử lý đồ họa GPGPU

Đ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

MỤC LỤC DANH MỤC CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ MỞ ĐẦU CHƯƠNG .5 TỔNG QUAN VỀ GPGPU .5 1.1 Card đồ họa khối xử lý đồ họa 1.1.1 Sự phát triển đồ họa loại card đồ họa 1.1.2 Đường ống biểu diễn đồ họa 11 1.1.3 Các loại card đồ họa GPGPU đại 14 1.1.3.1 Cấu trúc card đồ họa GPGPU 15 1.2 Công nghệ NVidia CUDA 16 1.1.3.3 Công nghệ ATI Stream OpenCL 18  Tính toán thông dụng khối xử lý đồ họa GPGPU [3] 20 1.2.1 1.2.2 1.2.3 1.3  1.1.3.2 Lập trình GPU cho đồ họa 21 Lập trình GPU cho mục đích tính toán thông dụng 21 Môi trường phần mềm 23 Một số toán phù hợp với GPGPU 25 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 Những toán phù hợp cho GPU 25 Mô hệ thống phức 26 Khai phá liệu học máy với liệu lớn 27 Xử lý ảnh thị giác máy tính 28 Các thuật toán số học, thuật toán cấu trúc liệu song song 29 CHƯƠNG .31 CÔNG NGHỆ NVIDIA CUDA 31 VÀ TÍNH TOÁN SONG SONG TRÊN BỘ XỬ LÝ ĐỒ HỌA GPGPU 31 2.1 Công nghệ NVIDIA CUDA 31 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 NVidia CUDA gì? 31 Cấu trúc CUDA 34 Xử lý GPU 36 Các loại nhớ GPU 37 Nâng cao hiệu tính toán 40 Lập trình song song với CUDA [8] 41 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3 CUDA mở rộng ngôn ngữ lập trình C 41 Những mở rộng CUDA so với ngôn ngữ lập trình C 42 Từ khóa phạm vi kiểu hàm 42 Từ khóa phạm vi kiểu biến 44 Cấu hình thực thi 45 Các biến Built-in 46 Các lệnh điều khiển 46 Các lệnh với nhớ 47 Biên dịch chương trình với NVCC 52 Một số ví dụ tính toán song song với CUDA 53 2.3.1 2.3.2 2.3.3 2.3.4 Bài toán xếp nhanh 53 Bài toán nhân ma trận 55 Bài toán chuyển đổi Fourier 57 Bài toán phân cụm K-Means 58 CHƯƠNG .62 MÔ PHỎNG SONG SONG SỬ DỤNG KHỐI ĐỒ HỌA GPGPU .62 3.1 Mô N-Body .62 3.1.1 3.1.2 3.2 Mô chất lưu 65 3.2.1 3.2.2 3.3 Giới thiệu toán 62 Cài đặt thử nghiệm 64 Giới thiệu toán 65 Cài đặt thử nghiệm 70 Mô hệ hạt [14, 20, 21] 71 3.3.1 3.3.2 Giới thiệu toán 71 Cài đặt thử nghiệm 78 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 79 DANH MỤC TÀI LIỆU THAM KHẢO 80 DANH MỤC CHỮ VIẾT TẮT KÝ HIỆU CHỮ VIẾT TẮT GPGPU General Purpose computing on Graphics Processing Unit CUDA Compute Unified Device Architecture DPU Data Processing Unit DVST Direct View Storage Tube CAD Computer-Aided Design GUI Graphical User Interface ALU Arithmetic and Logic Unit API Application Programming Interface SIMT Single Instruction, Multiple Threads SM Streaming Multi Processor SPMD Single Program Multiple Data FEA Finite Element Analys ODE Ordinary Differential Equation DANH MỤC HÌNH VẼ Hình 1.1 Khung dây hình cầu Hình 1.2 Đồ họa quét mành Hình 1.3 Hình cầu tô bóng theo Gouraud Hình 1.4 Ấm trà Utah tô bóng Hình 1.5 Hình ảnh nhà sử dụng Blender3D Hình 1.6 So sánh GFlops GPU CPU 11 Hình 1.7 Lược đồ ống dẫn đồ họa 13 Hình 1.8 Sơ đồ cấu trúc CPU GPU 15 Hình 1.9 Sơ đồ kiến trúc thiết bị hơp card đồ họa Nvidia 16 Hình 1.10 Sơ đồ cấu trúc OpenCL 19 Hình 1.11 Cấu trúc thiết bị Stream ATI 20 Hình 2.1 Kiến trúc phần mềm NVidia CUDA 35 Hình 2.2 Các thao tác thu hồi cấp phát nhớ với CUDA 36 Hình 2.3 Vùng nhớ dùng chung mang liệu gần ALU 36 Hình 2.4 Phân cấp luồng CUDA 39 Hình 2.5 Bộ đa xử lý dòng 40 Hình 2.6 Luồng làm việc SIMT 40 Hình 2.7 Cấu trúc nhớ thiết bị GPU 41 Hình 2.8: Hiệu xếp nhanh nhờ sử dụng GPU so với sử dụng CPU 58 Hình 2.9 Thời gian thực nhân ma trận sử dụng CPU so với sử dụng GPU 60 Hình 2.10: Thời gian thực chuyển đổi Fourier sử dụng GPU so với CPU .62 Hình 2.11 So sánh thời gian tính toán k-means GPGPU CPU 65 Hình 3.1 Hình ảnh mô N-body 71 Hình 3.2 So sánh hiệu mô N-Body GPU CPU 73 Hình 3.3 Lưới vận tốc chất lưu (Mô trạng thái chất lưu biểu diễn lưới kích thước MxN Các mũi tên thể vận tốc) 74 Hình 3.4 Sự di chuyển chất lưu 77 Hình 3.5 Kết mô đám mây sử dụng động lực học chất lưu 78 Hình 3.6 Kết mô động lực học chất lưu 79 Hình 3.7 Mô hạt sử dụng GPU 79 Hình 3.8 Một hệ hạt sử dụng để mô đám cháy 79 Hình 3.9 Một hệ hạt sử dụng để mô thiên hà 83 Hình 3.10 Một hệ hạt sử dụng để mô vụ nổ bom 84 Hình 3.11 Lưới đồng sử dụng phép toán nguyên tử 85 MỞ ĐẦU Mô trình phát triển mô hình hoá để mô đối tượng cần nghiên cứu Thay cho việc phải nghiên cứu đối tượng thực, cụ thể mà nhiều tốn kém, người ta mô hình hoá đối tượng phòng thí nghiệm tiến hành nghiên cứu đối tượng dựa mô hình Công nghệ mô liên quan đến nhiều ngành khoa học: toán, vật lý, mô hình hóa, tự động, điều khiển học… đặc biệt công nghệ thông tin Công nghệ mô ngày sử dụng rộng rãi lĩnh vực hoạt động người từ mô vụ nổ hạt nhân, phản ứng hóa học đến mô bão thảm họa thiên nhiên động đất, lũ lụt; từ mô nghiên cứu, phát triển khoa học, công nghệ đến ứng dụng mô lĩnh vực giáo dục, đào tạo Một chương trình máy tính mô diễn biến điều kiện thời tiết, mạch điện tử, phản ứng hóa học, điện tử, hệ thống điều khiển tương tác, chí trình sinh học phức tạp Về lý thuyết, vật, tượng mô tả liệu phương trình toán học mô máy tính Mô thường khó khăn hầu hết tượng tự nhiên có số lượng gần vô hạn tham số gây ảnh hưởng Vì để phát triển ứng dụng mô có hiệu cần xác định yếu tố quan trọng ảnh hưởng đến mục tiêu nhiệm vụ mô Tuy nhiên toán mô thời gian thực thường phức tạp đòi hỏi khối lượng tính toán vô lớn Để giảm thời gian tính toán mô phỏng, việc cải tiến mặt thuật toán việc tăng hiệu thiết bị tính toán quan trọng Hiện việc tăng tốc độ CPU chạm tới ngưỡng tối đa tốc độ cao, nhiệt độ CPU tăng cao giải pháp tản nhiệt đến mức giới hạn, đáp ứng khả làm mát CPU Trước tình hình nhà nghiên cứu vi xử lý chuyển hướng sang phát triển công nghệ đa lõi với chế xử lý song song máy tính Trong năm gần đây, hướng nghiên cứu nhiều tiềm sử dụng chip đồ họa GPU công nghệ xử lý song song CUDA hãng NVIDIA phát triển nhằm tăng tốc độ xử lý, nâng cao hiệu thuật toán Việc tăng tốc trình tính toán đòi hỏi thiết bị GPU có khả xử lý tốc độ cao với liệu khổng lồ mà cần phải có giải thuật song song hữu hiệu Xuất phát từ nhu cầu chọn đề tài: “Mô song song sử dụng khối xử lý đồ họa GPGPU” Mục tiêu nhiệm vụ nghiên cứu Mục đích đề tài nghiên cứu số toán tính toán mô song song khối xử lý đồ họa GPGPU: - Tìm hiểu sở lý thuyết cấu trúc hệ thống xử lý đồ họa GPU công nghệ NVIDIA CUDA - Nghiên cứu, cài đặt thử nghiệm đánh giá hiệu tính toán qua số toán tính toán song song khối xử lý GPGPU - Nghiên cứu cài đặt thử nghiệm, đánh giá hiệu số toán mô khối xử lý đồ họa GPGPU Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu Trong khuôn khổ luận văn thuộc loại nghiên cứu ứng dụng, giới hạn nghiên cứu vấn đề sau: - Lý thuyết tính toán song song - Kiến trúc GPU công nghệ NVIDIA CUDA - Cài đặt số toán tính toán mô tiêu biểu thiết bị xử lý đồ họa GPU ngôn ngữ lập trình CUDA, qua đánh giá hiệu thiết bị so với thuật toán tương tự CPU Phạm vi nghiên cứu - Nghiên cứu chuyển số giải thuật sang song song chạy thiết bị đồ họa GPU NVIDIA ngôn ngữ CUDA Phương pháp nghiên cứu - Về lý thuyết: Áp dụng lý thuyết thu nhận từ nhiều nguồn phát triển theo mục tiêu đề tài, có định hướng giúp đỡ giáo viên Nghiên cứu sở toán học, bổ sung kiến thức cần thiết cho luận văn: Lý thuyết tính toán song song, số toán tiếng sử dụng tính toán song song, số toán mô phỏng, lý thuyết chế hoạt động tính toán GPU công nghệ CUDA Tìm hiểu, nghiên cứu, phân tích công trình liên quan đến đề tài luận văn: tài liệu, tạp chí, báo… - Về thực nghiệm: Cài đặt chương trình tính toán mô chip đồ họa GPGPU với công nghệ CUDA đánh giá hiệu Kết dự kiến - Nghiên cứu số giải thuật tính toán song song - Cài đặt giải thuật tính toán song song chạy thiết bị đồ họa GPU - Xây dựng số chương trình mô thiết bị đồ họa GPGPU với công nghệ CUDA Ý nghĩa khoa học thực tiễn luận văn Về mặt lý thuyết - Nắm giải thuật, mẫu thiết kế tính toán song song - Khai thác thư viện CUDA SDK ứng dụng ngôn ngữ lập trình song song CUDA Về mặt thực tiễn - Việc nghiên cứu giải pháp mô song song sử dụng khối xử lý đồ họa GPGPU, làm sở để giải số toán mô song song thực tế đòi hỏi lượng tính toán lớn với liệu khổng lồ Bố cục luận văn Nội dung luận văn chia thành chương sau: Chương 1: Tổng quan GPGPU Trong chương giới thiệu tổng quan card đồ họa khối xử lý đồ họa, việc tính toán với mục đích thông dụng khối xử lý đồ họa GPGPU số toán phù hợp với việc tính toán GPGPU Chương 2: Công nghệ NVIDIA CUDA lập trình song song khối xử lý đồ họa GPGPU Chương giới thiệu chi tiết kiến trúc CUDA, trình bày ngôn ngữ lập trình song song CUDA thiết bị đồ họa GPU hãng NVIDIA Áp dụng giải số toán xếp nhanh, nhân ma trận, chuyển đổi Fourier, phân cụm K-Means, toán Người du lịch …bằng phương pháp song song dùng ngôn ngữ CUDA thực thi thiết bị đồ họa GPGPU đánh giá hiệu so với CPU Chương 3: Mô song song sử dụng khối đồ họa GPGPU Trong chương tác giả trình bày chi tiết số toán mô tiêu biểu như: mô N-Body, mô hạt (phân tử), mô động lực học chất lưu, mô sóng biển Tác giả tiến hành cài đặt thử nghiệm toán khối xử lý đồ họa GPGPU NVIDIA để đánh giá hiệu mô chúng so với CPU CHƯƠNG TỔNG QUAN VỀ GPGPU 1.1 Card đồ họa khối xử lý đồ họa 1.1.1 Sự phát triển đồ họa loại card đồ họa Ý tưởng sử dụng loại card đồ họa phục vụ cho mục đích tính toán ban đầu không tính đến trình phát triển đồ họa máy tính Cùng với phát triển xử lý đồ họa 3D 2D tăng trưởng lực phần cứng, ý tưởng bắt đầu quan tâm nhiều Ngoài việc sử dụng card đồ họa vào mục đích biểu diễn đồ họa túy, người ta bắt đầu quan tâm nhiều tới sức mạnh tính toán song song card đồ họa đại Đồ họa máy tính bắt đầu xuất từ sau năm 1950 Ở thời điểm đó, hình hiển thị đơn sắc CRT dựa đèn hình Braun vẽ điểm đường thẳng hình vector Các hình phức tạp biểu tượng ghép đoạn thẳng riêng biệt Những thiết bị tỏ chậm, đắt đỏ không xác thực người dùng thông thường Trong năm 1960, xuất đồ họa dạng khung dây với khả vẽ đường thẳng mô đồ họa giống 3D Hình 1.1 Khung dây hình cầu Ivan Sutherland, người tiên phong lĩnh vực đồ họa máy tính, luận án tiến sỹ vào năm 1963 trường MIT tiềm Trong đó: với trường hợp mô 2D; phép lấy gradient p (một véc tơ đạo hàm phần p) phép toán lấy div (độ phân kỳ) u phép toán Laplace p Nếu ô lưới ô vuông (tứ ), toán tử Laplace đơn giản hóa thành: Toán tử Laplace xuất phổ biến vật lý học, phương trình phản xạ Các phương trình có dạng biết đến phương trình Poisson (Poát xông) Trong trường hợp b=0, gọi phương trình Laplace, nguồn gốc toán tử Laplace Để giải phương trình Navier - Stokes đơn giản hơn, ta sử dụng định lý phân tích Helmholtz – Hodge sau: Đặt u=w−∇p Khi đó: ∇⋅w = ∇⋅ (u+∇p) = ∇⋅u +∇2p Vì ∇ ⋅u=0 nên: 68 ∇2p=∇⋅w, phương trình Poisson cho áp suất chất lưu Ngoại lực tác động khoảng thời gian : Dễ dàng tính toán w1 GPU giá trị w0 f biểu diễn dạng ma trận kết cấu đầu vào Sự di chuyển chất lưu: Hình 3.4 Sự di chuyển chất lưu [13] 69 Hình 3.5 Mô đám mây sử dụng động lực học chất lưu [13] 3.2.2 Cài đặt thử nghiệm Tác giả cài đặt thuật toán theo phương pháp giới thiệu tài liệu Fast Fluid Dynamics Simulation on the GPU [13], tính toán sử dụng nhớ dùng chung GPU để tăng cường hiệu mô Các phép toán để giải phương trình Navier – Stokes thực luồng block, bao gồm việc tính ngoại lực tác động, tính di chuyển chất lưu, tính phản xạ giải phương trình Poisson Dưới hình ảnh minh họa mô động lực học chất lưu theo thuật toán [13] sử dụng card đồ họa Nvidia GeForce 9600M GS 32 cores, cores speed 430MHz, memory 1024MB 70 Hình 3.5 Kết mô động lực học chất lưu 3.3 Mô hệ hạt [14, 20, 21] 3.3.1 Giới thiệu toán Các hệ hạt kỹ thuật phổ biến sử dụng việc mô hệ vật lý Trong mục này, tác giả miêu tả cách thực thi hiệu cho hệ hạt CUDA, bao gồm tương tác cục sử dụng cấu trúc lưới đồng dạng Các kỹ thuật dựa hạt sử dụng nhiều ứng dụng – từ mô tương tác chất lưu khói game mô thiên văn học động lực học phân tử Những nghiên cứu gần 71 áp dụng phương pháp hạt để mô vật thể mềm, mô vải quần áo…và mang lại hy vọng vào ngày kỹ thuật cho phép mô cách hiệu vật thể rắn Hình 3.6 Một hệ hạt sử dụng để mô đám cháy Hình 3.7 Một hệ hạt sử dụng để mô thiên hà Hình 3.8 Một hệ hạt sử dụng để mô vụ nổ bom Có hai cách mô bản: phương pháp Lagrangian, tính toán đặc tính tập hợp hạt theo di chuyển không gian phương pháp Eulerian (dựa lưới), tính toán đặc tính tập hợp điểm cố định không gian 72 Các phương pháp dựa hạt có số thuật lợi sử dụng phương pháp mô dựa lưới: • Chúng thực tính toán cần thiết • Chúng cần băng thông nhớ với việc đặc tính lưu trữ vị trí hạt điểm không gian • Không thiết bị ràng buộc hộp hữu hạn • Sự bảo toàn khối lượng đơn giản (mỗi hạt có khối lượng cố định) Bất lợi phương pháp dựa hạt chúng yêu cầu số lượng lớn hạt để nhận kết giống thực tế May thay, lại song song hóa hệ hạt cách tương đối dễ dàng khả tính toán song song GPU đại ngày khủng khiếp, việc mô tương tác hệ hạt lớn có tốc độ ngày cao Các tương tác hạt – hạt: Tương đối đơn giản để thực hệ hạt mà hạt không tương tác với hạt khác Hầu hết hệ hạt sử dụng game ngày rơi vào loại Trong trường hợp này, hạt độc lập chúng mô song song cách bình thường Thuật toán cho hệ hạt không tương tác: for i = to N - Di chuyển hạt i; end for Thuật toán cho hệ hạt tương tác phạm vi ngắn (vét cạn): for i = to N - Di chuyển hạt i; 73 for j= i +1 to N - Kiểm tra va chạm hạt i j; end for end for Thuật toán cho hệ hạt tương tác phạm vi ngắn (sử dụng cấu trúc liệu không gian) for i=0 to N - Di chuyển hạt i; for all j in hàng xóm (hạt[i]) Kiểm tra va chạm hạt i hạt j; end for end for Thuật toán cho hệ hạt tương tác phạm vi xa: for i=0 to N - for j=0 to N - (với j ≠ i) Tính tương tác j i; end for Di chuyển hạt i; end for Ví dụ tiêu biểu “n-body” mục 3.1 bao gồm tương tác dạng lực hấp dẫn thực thể Nó chứng minh đạt hiệu tuyệt hảo sử dụng CUDA để mô lực hấp dẫn n-body việc tính toán tương tác theo phương pháp vét cạn (tính tất n2 tương tác n thực thể) Việc sử dụng nhớ chia sẻ cho thấy phương pháp không bị giới hạn băng thông nhớ Tuy nhiên, với tương tác cục (chẳng hạn va chạm) cải thiện hiệu 74 việc sử dụng phương pháp chia nhỏ không gian Mấu chốt bên với nhiều kiểu tương tác, lực tương tác giảm nhiều theo khoảng cách Điều có nghĩa tính toán lực hạt cho trước việc so sánh với tất hạt láng giềng phạm vi (bán kính) cố định Kỹ thuật chia nhỏ không gian chia nhỏ không gian mô giúp cho việc tìm hạt láng giềng hạt cho trước dễ dàng Lưới đồng nhất: Trong ví dụ này, ta sử dụng lưới đồng để chia nhỏ không gian cách đơn giản Một lưới đồng chia nhỏ không gian mô thành ô lưới có kích thước Để đơn giản ta sử dụng lưới mà kích thước ô với kích thước hạt (bằng lần bán kính hạt) Điều có nghĩa hạt khám phá số lượng ô lưới giới hạn (8 ô không gian chiều) Nếu giả sử thâm nhập hạt (không bị xuyên vào nhau), có cận cố định cho số lượng hạt ô lưới (4 hạt không gian chiều) Mỗi hạt định tới ô lưới dựa điểm trọng tâm hạt Chỉ số hạt chứa ô lưới Cấu trúc lưới sinh ngẫu nhiên thời điểm Ta sử dụng hai phương pháp khác để sinh cấu trúc lưới dựa lực tính toán GPU sau: Lưới sử dụng toán tử nguyên tử (Atomic Operations): Trên GPU có hỗ trợ phép toán nguyên tử (năng lực tính toán từ version 1.1 trở đi), việc xây dựng lưới tương đối đơn giản Toán tử nguyên tử cho phép nhiều luồng cập nhật giá trị nhớ toàn cục cách đồng thời mà không bị xung đột Ta sử dụng hai mảng nhớ toàn cục: 75 gridCounters – lưu trữ số lượng hạt ô Nó khởi tạo bắt đầu frame gridCells – lưu trữ số hạt ô, số lượng tối đa hạt có ô Hàm thực thi nhân GPU “updateGrid” cập nhật cấu trúc lưới Nó chạy luồng cho hạt Mỗi hạt tính toán ô lưới mà nằm trong, sử dụng hàm “atomicAdd” để tăng đếm ô tương ứng vị trí Sau ghi số vào mảng lưới vị trí xác Hình 3.x bên ví dụ đơn giản cho hạt lưới 2D Hình 3.9 Lưới đồng sử dụng phép toán nguyên tử [14] Lưới sử dụng phương pháp xếp: Với GPU GeForce 8880, không hỗ trợ phép toán nguyên tử, cần sử dụng phương pháp phức tạp dựa việc xếp Thuật toán bao gồm số hàm thực thi nhân GPU Hàm “calHash” tính toán giá trị băm cho hạt dựa số ô chứa hạt Trong ví dụ này, đơn giản ta sử dụng số ô thay cho việc băm Nhân lưu trữ kết vào mảng “particleHash” nhớ toàn cục kiểu uint2 (giá trị băm ô, số hạt) Sau ta xếp hạt dựa 76 giá trị băm chúng Việc xếp thực với phương pháp radix sort mô tả tài liệu Scott Le Grand báo GPU Gems Nó tạo danh sách số hạt ô theo thứ tự Ta phải tìm ô bắt đầu ô danh sách xếp Việc thực cách thực thi hàm “findCellStart” nhân, luồng dành cho hạt so sánh số ô hạt với số ô hạt trước danh sách xếp Nếu số khác nhau, biểu thị bắt đầu ô địa khởi đầu ghi vào mảng khác Hình 3.12 minh họa việc tạo lưới sử dụng phương pháp xếp Hình 3.10 Lưới đồng sử dụng phương pháp xếp [14] Các tương tác: Bằng việc xây dựng cấu trúc lưới trên, sử dụng để tăng tốc tương tác hạt – hạt Trong mã nguồn chương trình, tác giả thực va chạm đơn giản hạt sử dụng phương pháp DEM [28] Mô hình va chạm cấu thành số lực tác dụng, gồm có lực đàn hồi lực giảm xóc Mỗi hạt tính toán ô lưới mà nằm Sau lặp lại với 27 ô lưới láng giềng (3x3x3 ô) kiểm tra va chạm với hạt ô 77 3.3.2 Cài đặt thử nghiệm Tác giả cài đặt thuật toán theo phương pháp giới thiệu tài liệu Particles Simulation using CUDA [14], tính toán sử dụng nhớ dùng chung GPU để tăng cường hiệu mô Các phép toán tương tác hạt thực luồng block Dưới hình ảnh minh họa mô hệ hạt theo thuật toán [14] sử dụng card đồ họa Nvidia GeForce 9600M GS 32 cores, cores speed 430MHz, memory 1024MB Hình 3.11 Mô hạt sử dụng GPU 78 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong khuôn khổ luận văn, tác giả nghiên cứu trình bày cách tổng quan kiến thức liên quan đến GPGPU như: loại card đồ họa khối xử lý đồ họa, lập trình với mục đích tính toán thông dụng GPU sử dụng công nghệ NVIDIA CUDA Trên sở kiến thức nghiên cứu, tác giả tiến hành cài đặt, thử nghiệm đánh giá hiệu GPGPU so với CPU số toán tính toán song song tiêu biểu như: toán xếp nhanh, toán chuyển đổi Fourier, toán nhân ma trận, toán phân cụm K-means toán người du lịch Kết cho thấy việc sử dụng GPGPU để tính toán song song nhanh nhiều so với sử dụng CPU Trong chương 3, tác giả trình bày chi tiết số toán mô hệ thống phức như: mô n-body, mô chất lưu, mô hệ hạt mô sóng biển Các toán cài đặt thử nghiệm thiết bị GPGPU Kết cho thấy việc mô khối xử lý đồ họa GPGPU cho hiệu cao hẳn so với CPU Như vậy, đến kết luận: khối xử lý đồ họa GPGPU có hiệu tính toán cao hẳn so với CPU thích hợp toán đòi hỏi khối lượng tính toán lớn, đặc biệt toán mô hệ thống phức Do hạn chế mặt kinh phí nên luận văn, tác giả cài đặt thử nghiệm toán thiết bị xử lý đồ họa thông dụng mà chưa đánh giá thiết bị đồ họa đại khác Do thời gian thực luận văn không nhiều nên số lượng toán mô nghiên cứu cài đặt thử nghiệm luận văn chưa thực nhiều mà dừng lại số toán tiêu biểu Trong thời gian tới, tác giả nghiên cứu thêm số toán mô khác cài đặt thử nghiệm thiết bị xử lý đồ họa mạnh để kiểm chứng hiệu thiết bị cách đầy đủ xác 79 DANH MỤC TÀI LIỆU THAM KHẢO Tiếng Việt [1] PSG TS Nguyễn Đức Nghĩa (2007), Tính Toán Song Song, Nhà xuất Đại học Quốc gia Hà Nội [2] Đức Khánh (2/2010), “Cuda khứ - & tương lai điện toán GPU”, Tạp chí CGEZINE, X4, tr 34 - 41 [3] Nguyễn Thị Thùy Linh (2009), Tính toán hiệu cao với xử lý đồ họa GPU ứng dụng, Luận văn thạc sĩ, Đại học Công nghiệp - Đại học quốc gia Hà Nội, tr 17-60 [4] Ngô Quốc Vinh (2008), Hướng dẫn cách thiết lập dự án CUDA, KyotoJapan [5] TS Lê Huy Thập (8/2010), Cơ sở lý thuyết song song, Nhà xuất thông tin truyền thông, Hà Nội [6] Phạm Mạnh Hùng (2007), Các kỹ thuật toán học cho toán so sánh đa trình tự, Luận văn thạc sĩ Khoa học máy tính, Đại học Bách khoa thành phố Hồ Chí Minh [7] Trịnh Công Quý (2005), Phát triển ứng dụng song song với OpenMP, Luận văn tốt nghiệp Đại học, Đại học Công nghệ - Đại học quốc gia Hà Nội, tr 3,12 [8] Trương Văn Hiệu (2011), Nghiên cứu giải thuật song song hệ thống xử lý đồ họa GPU đa lõi, Luận văn thạc sĩ kỹ thuật, Đại học Đà Nẵng Tiếng Anh [9] ERDAL YILMAZ, MASSIVE CROWD SIMULATION WITH PARALLEL PROCESSING, A THESIS SUBMITTED TO THE GRADUATE SCHOOL OF INFORMATICS OF THE MIDDLE EAST TECHNICAL UNIVERSITY FEBRUARY 2010 80 [10] Kamil Rocki, Reiji Suda: Accelerating 2-opt and 3-opt Local Search Using GPU in the Travelling Salesman Problem, The University of Tokyo, CREST, JST, 2012 [11] Kamil Rocki, Reiji Suda: High Performance GPU Accelerated Local Optimization in TSP, 2013 IEEE 27th International Symposium on Parallel & Distributed Processing Workshops and PhD Forum, 2013 [12] GPU Gems 3, Chapter 31 Fast N-Body Simulation with CUDA http://developer.nvidia.com/GPUGems3/gpugems3_ch31.html [13] Mark Harris, GPU Gems, Chapter 38 Fast Fluid Dynamics Simulation on the GPU http://developer.nvidia.com/GPUGems/gpugems_ch38.html [14] Particle Simulation Using CUDA, http://developer.download.nvidia.com/compute/cuda/1.1Beta/x86_website/Physically-Based_Simulation.html [15] J Barnes and P Hut, “A Hierarchical O(NlogN) Force-Calculation Algorithm,” Nature, vol 324, pp.446–449, Dec.1986 [16] TESSENDORF, J 2001 Simulating ocean water In Simulating Nature: Realistic and Interactive Techniques SIGGRAPH 2001 Course Notes 47 [17] Chin-ChihWang, Jia-XiangWu, Chao-EnYen, PangfengLiu, ChuenLiangChen, ” OceanWave Simulation in Real-time using GPU”, 2010 [18] J Kr¨uger, P Kipfer, P Kondratieva, and R Westermann, “A particle system for interactive visualization of 3D flows,” IEEE Transactions on Visualization and Computer Graphics, vol 11, no 6,pp 744–756, Nov./ Dec 2005 [19] K Fatahalian, J Sugerman, and P Hanrahan, “Understanding the efficiency of GPU algorithms for matrix-matrix multiplication,” in Graphics Hardware 2004, Aug 2004, pp 133–138 81 [20] L Greengard and V Rokhlin, “A fast algorithm for particle simulations,” Journal of Computational Physics, vol 73, pp 325–348, Dec 1987 [21] Pyarelal Knowles, “GPGPU Based Particle System Simulation”, School of Computer Science and Information Technology, RMIT University Melbourne, AUSTRALIA, November 12, 2009 [22] Jerod J Weinman, Augustus Lidaka, Shitanshu Aggarwal "large scale machine learning" GPU Computing Gems Emerald Edition chapter 19 2011 [23] Stuart, Jeff A., and John D Owens "Multi-GPU MapReduce on GPU clusters."Parallel & Distributed Processing Symposium (IPDPS), 2011 IEEE International IEEE, 2011 [24] Preis, Tobias, et al "Accelerated fluctuation analysis by graphic cards and complex pattern formation in financial markets." New Journal of Physics 11.9 (2009): 093024 [25] Won-Ki Jeong, Hanspeter Pfister, Massimiliano Fatica "Medical Image Processing Using GPU-Accelerated ITK Image Filters" Wen-mei, W Hwu GPU Computing Gems Emerald Edition Morgan Kaufmann, 2011 [26] Fung, James, and Steve Mann "Using graphics devices in reverse: GPUbased image processing and computer vision." Multimedia and Expo, 2008 IEEE International Conference on IEEE, 2008 [27] Kim, Changkyu, et al "FAST: fast architecture sensitive tree search on modern CPUs and GPUs." Proceedings of the 2010 ACM SIGMOD International Conference on Management of data ACM, 2010 [28] Harada, T.: Real-Time Rigid Body Simulation on GPUs GPU Gems Addison Wesley, 2007 [29] http://serban.org/software/kmeans/ [30] http://ixbtlabs.com/articles3/video/cuda-1-p1.html [31] http://nccasymposium.bournemouth.ac.uk/2005/mscca/PEREZ_html/gpu_arch.html 82 ... đề tài: Mô song song sử dụng khối xử lý đồ họa GPGPU” Mục tiêu nhiệm vụ nghiên cứu Mục đích đề tài nghiên cứu số toán tính toán mô song song khối xử lý đồ họa GPGPU: - Tìm hiểu sở lý thuyết... đồ họa khối xử lý đồ họa, việc tính toán với mục đích thông dụng khối xử lý đồ họa GPGPU số toán phù hợp với việc tính toán GPGPU Chương 2: Công nghệ NVIDIA CUDA lập trình song song khối xử lý. .. 1.1 Card đồ họa khối xử lý đồ họa 1.1.1 Sự phát triển đồ họa loại card đồ họa Ý tưởng sử dụng loại card đồ họa phục vụ cho mục đích tính toán ban đầu không tính đến trình phát triển đồ họa máy

Ngày đăng: 25/07/2017, 21:40

Mục lục

    danh muc chu viet tat

    danh muc hinh ve

    ket luan va huong phat trien

    danh muc tai lieu tham khao

Tài liệu cùng người dùng

Tài liệu liên quan