Nghiên cứu công nghệ tính toán tổng quát trên các bộ xử lý đồ họa và ứng dụng trong bài toán mô phỏng N Body Nghiên cứu công nghệ tính toán tổng quát trên các bộ xử lý đồ họa và ứng dụng trong bài toán mô phỏng N Body luận văn tốt nghiệp thạc sĩ
TRầN THANH HùNG giáo dục đào tạo trường đại học bách khoa hà nội - luận văn thạc sĩ khoa học công nghệ THÔNG TIN ngành : công nghệ THÔNG TIN NGHIÊN CứU CÔNG NGHệ TíNH TOáN TổNG QUáT TRÊN CáC Bộ Xử Lý Đồ HọA Và ứNG DụNG TRONG BàI TOáN MÔ PHỏNG N-BODY 2007 2009 TRầN THANH HùNG Hà Nội 2009 Hà Nội 2009 giáo dục đào tạo trờng đại học bách khoa hà néi - luận văn thạc sĩ khoa học NGHIÊN CứU CÔNG NGHƯ TÝNH TO¸N TỉNG QU¸T TR£N C¸C Bé Xư Lý Đồ HọA Và ứNG DụNG TRONG BàI TOáN MÔ PHỏNG N-BODY ngành : công nghệ THÔNG TIN mà số: TRầN THANH HïNG Ngêi híng dÉn khoa häc: TS NGUN H÷U §øC Hµ Néi 2009 LỜI CAM ĐOAN Tơi xin cam đoan đồ án tốt nghiệp không copy, chép, chỉnh sửa hình thức từ đồ án có trước Các tài liệu tham khảo, thơng tin tham khảo lấy, trích dẫn từ nguồn có thật, xác, khơng bịa đặt Tóm tắt Bài tốn N-Body toán kinh điển, ứng dụng nhiều lĩnh vực khoa học vật lý, y sinh, thiên văn học, Trong tốn mơ này, số lượng Body mơ tốn số lớn, việc tính tốn tương tác tất cặp N-Body nhiều thời gian (độ phức tạp trường hợp tồi O(N2)) Vì cần nghiên cứu phương pháp nhằm tăng tốc độ tính tốn tốn mơ N-Body, tận dụng sức mạnh tính tốn xử lý đồ họa Đề tài nhằm tìm hiểu mơi trường tính tốn hiệu cao xử lý đồ họa sử dụng công nghệ CUDA hãng nVidia, bước đầu thử nghiệm thành công tốn mơ N-Body đơn GPU, đưa số đề xuất giải thuật GPU cluster Abstract N-body algorithms are applicable to a number of common problems in computational physics including gravitation, electrostatics, and fluid dynamics Fast algorithms (those with better than O(N2) performance) exist, but have not been successfully implemented on GPU hardware for practical problems In the present work, we introduce not only best-in-class performance for a all-pairs method, but a series of improvements that support implementation of this solver on highly-data-parallel graphics processing units (GPUs) The greatly reduced computation times suggest that this problem is ideally suited for the current and next generations of single and cluster CPU-GPU architectures We believe that this is an ideal method for practical computation of large-scale turbulent flows on future supercomputing hardware using parallel vortex particle methods MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG TÍNH TỐN HIỆU NĂNG CAO VỚI GPU .9 1.1 Tính tốn hiệu cao vai trị ứng dụng thực tiễn 1.1.1 Thách thức tính tốn hiệu cao khoa học công nghệ 10 1.1.2 Giải pháp 11 1.2 Một số tiếp cận tính tốn hiệu cao 12 1.2.1 Các hệ thống máy tính đa vi xử lý với mơ hình lập trình song song chia sẻ nhớ chung 12 1.2.2 Cụm máy tính với mơ hình lập trình song song truyền thông điệp 14 1.2.3 Các xử lý đồ họa với mơ hình lập trình song song liệu 15 CHƯƠNG II GIỚI THIỆU KIẾN TRÚC TESLA VÀ MƠ HÌNH LẬP TRÌNH SONG SONG CUDA 20 2.1 Giới thiệu kiến trúc phần cứng Tesla Nvidia (Tesla Architecture) 20 2.2 Kiến trúc tính tốn GPU Tesla mơ hình lập trình song song CUDA 21 2.2.1 Kiến trúc tính tốn GPU Tesla 22 2.2.2 Mơ hình lập trình song song CUDA 26 2.2.3 Những mặt hạn chế CUDA 35 2.3 Thiết lập mơi trường tính tốn CUDA 36 2.3.1 Môi trường phân cứng 37 2.3.2 Bộ công cụ phát triển phần mềm 37 2.3.3 Quy trình cài đặt 38 CHƯƠNG III BÀI TỐN MƠ PHỎNG N-BODY 39 3.1 Giới thiệu toán 39 3.2 Ứng dụng toán N-Body 40 3.3 Các giải thuật với tốn mơ N-Body 41 3.3.1 Giải thuật tương tác hạt-hạt (The Particle-Particle (PP) method) 41 3.3.2 Giải thuật Barnes-Hut (The Barnes-Hut Algorithm) 41 3.3.3 Phương pháp đa cực nhanh (The Fast Multipole Method – FMM) 42 3.3.4 Giải thuật đa cực song song (Parallel Multipole Tree Algorithm – PMTA) 43 3.4 Tổng kết giải thuật 44 CHƯƠNG IV MÔ PHỎNG N-BODY VỚI ĐƠN GPU 45 4.1 Mục đích mơ N-Body GPU 45 4.2 Tính toán lực tương tác cặp N-Body 46 4.3 Sự thực thi CUDA giải thuật tất cặp N-Body 48 4.3.1 Tính tốn lực body - body 49 4.3.2 Tính tốn tile 51 4.3.3 Xếp nhóm tile vào Thread Block 52 4.3.4 Định nghĩa Grid Thread Block 55 4.4 Môi trường thử nghiệm toán 56 4.5 Cách thử nghiệm toán N-Body hệ thống 58 4.6 Các kết thực 59 4.7 Sự tối ưu hóa 63 4.7.1 Gia tăng hiệu với lặp không cuộn (loop unrolling) 63 4.7.2 Hiệu tăng kích thước Block thay đổi 65 4.7.3 Cải thiện hiệu N nhỏ 66 4.8 Phân tích kết thực 69 4.9 Các phương pháp trước sử dụng GPU mô N-Body 69 4.10 Các phương pháp N-Body phân cấp 71 4.11 Kết luận 72 CHƯƠNG V XÂY DỰNG GIẢI THUẬT MÔ PHỎNG N-BODY VỚI ĐA GPU .74 5.1 Tính chất hệ thống tính tốn đa GPU 74 5.2 Kiến trúc hệ thống GPU cluster 74 5.2.1 Cấu hình CPU/GPU 74 5.2.2 Cấu hình mạng 78 5.2.3 Phần mềm MPI 79 5.3 Thiết kế giải thuật mô N-Body hệ thống đa GPU 79 5.3.1 Sự thực thi song song 79 5.3.2 Giải thuật N-Body cho hệ thống đa GPU 81 5.3.3 Tối ưu hóa giải thuật song song 82 5.4 Kết luận 84 CHƯƠNG VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85 6.1 Kết luận 85 6.1.1 Những vấn đề đạt 85 6.1.2 Những vấn đề chưa đạt 85 6.2 Hướng phát triển 86 DANH SÁCH TÀI LIỆU THAM KHẢO 87 PHỤ LỤC .89 LỜI MỞ ĐẦU Trong vài năm gần đây, khái niệm tính tốn thơng dụng xử lý đồ họa (GPGPU – General-Purpose Computing on Graphics Processing Units) thu hút nhiều quan tâm từ nhà nghiên cứu phương pháp tính tốn khoa học Những lý cho mối quan tâm là: • Hiệu tính tốn xử lý đồ họa (GPU) ngày vượt trội so với xử lý trung tâm truyền thống • Các hãng sản xuất xử lý đồ họa nVidia, AMD liên tục đưa hệ thống phần mềm trung gian (middleware) môi trường phát triển ứng dụng (trình dịch, trình gỡ rối,…) cho phép người phát triển dễ dàng xây dựng ứng dụng phi đồ họa xử lý đồ họa • Giá thành chi phí lượng cho hoạt động xử lý đồ họa thấp nhiều so với hệ thống máy tính số hiệu lý thuyết Các GPU có khả Tính tốn thơng dụng có mặt khắp nơi, từ máy tính quan trường học, đến máy tính nhà riêng người Sự phát triển rộng rãi mặt số lượng GPU dẫn đến yêu cầu cấp bách đầy thách thức cộng đồng phát triển phần mềm (đặc biệt phần mềm tính tốn khoa học), làm tận dụng sức mạnh song song GPU phần mềm ứng dụng phát triển vài năm Trong bối cảnh đó, tơi lựa chọn đề tài: “Nghiên cứu cơng nghệ Tính tốn thơng dụng xử lý đồ họa ứng dụng tốn mơ N- Body” để làm đồ án tốt nghiệp cao học Bài tốn N-Body tốn kinh điển, ứng dụng nhiều lĩnh vực khoa học vật lý, y sinh, thiên văn học, Trong tốn mơ này, số lượng Body mơ tốn số lớn, việc tính toán tương tác tất cặp NBody nhiều thời gian (O(N2)) Vì cần nghiên cứu phương pháp nhằm tăng tốc độ tính tốn tốn mơ N-Body, tận dụng sức mạnh tính tốn xử lý đồ họa Qua đề tài này, tơi tìm hiểu mơi trường tính tốn hiệu cao xử lý đồ họa sử dụng công nghệ CUDA hãng nVidia, bước đầu thử nghiệm thành công tốn mơ N-Body Nội dung luận văn bao gồm có chương chính: Chương 1: Tính tốn hiệu cao với xử lý đồ họa Chương 2: Kiến trúc Tesla Mơi trường lập trình song song CUDA Chương 3: Bài tốn mơ N-Body Chương 4: Mô N-Body với đơn GPU Chương 5: Xây dựng giải thuật mô N-Body với đa GPU Chương 6: Kết luận hướng phát triển Để hoàn thành đồ án tốt nghiệp “Nghiên cứu cơng nghệ Tính tốn thông dụng xử lý đồ họa ứng dụng tốn mơ N-Body”, tơi xin chân thành cảm ơn tới Tiến sỹ Nguyễn Hữu Đức – Thầy người trực tiếp hướng dẫn giúp đỡ Tôi xin gửi lời cảm ơn tới thầy cô, anh chị quản lý Trung tâm Tính tốn hiệu cao, trường Đại học Bách 76 CPU Cores :4 RAM :8.301.016 KB (8 GB) Main board :Intel PCIExpress HDD : 1TB CPU Pan : Cooler Master OS :Linux Version 2.6 Card đồ họa hỗ trợ NVidia: Model : GeForce GTX 295 CUDA Driver Version : 2.30 CUDA Runtime Version : 2.30 Total amount of global memory : 939.261.952 bytes ( ≈ 1GB) Number of multiprocessors : 30 Number of cores : 8x30 = 240 Total amount of constant memory : 65536 bytes Total amount of shared memory per block : 16384 bytes Total number of registers available per block: 16384 Warp size : 32 Maximum number of threads per block : 512 Maximum sizes of each dimension of a block: 512 x 512 x 64 Maximum sizes of each dimension of a grid : 65535 x 65535 x Maximum memory pitch : 262144 bytes Texture alignment : 256 bytes Clock rate : 1.24 GHz Concurrent copy and execution : Yes Run time limit on kernels : No 77 Integrated : No Support host page-locked memory mapping : Yes Compute mode : Default (multiple host threads can use this device simultaneously) Mơ hình phần cứng hệ thống: Hình 5.1 Kiến trúc hệ thống GPU cluster bao gồm node, mô tả chi tiết bên node Tất node hệ thống chạy môi trường hệ điều hành Linux Mặc dầu driver cho dòng card đồ họa GeForce GTX 295 hỗ trợ window Linux, chọn môi trường thiết lập Linux driver tốt Theo kinh nghiệm, driver nVidia cho Linux có xu hướng vượt so với window việc tối ưu hóa hiệu 78 Mỗi card đồ họa kết nối thông qua khe cắm PCI-Express x16, node kết nối với thơng qua mạng Gigabit Ethernet Switch Hình 5.2 hình 5.3 hình ảnh GPU Cluster hình ảnh chi tiết node đơn lẻ tương ứng Chúng ta sử dụng MPI hàm API để truyền liệu tiến trình CPU khác nhau, tiến trình tạo GPU Việc truyền liệu nhớ PC nhớ GPU thông qua thư viện CUDA giống hàm API Hình 5.2.Hình ảnh hệ thống Cluster Hình 5.3.Hình ảnh node 5.2.2 Cấu hình mạng: Cơ sở hạ tầng mạng hệ thống cluster Ethernet, Chúng ta sử dụng chuyển mạch Ethernet Gigabit 8-port 3com Superstack-3 Trong hệ thống GPU cluster xây dựng này, thiết bị nhận truy nhập tới chuyển mạch, loại trừ giao thoa từ đường truyền khác 79 5.2.3 Phần mềm MPI Truyền thông node cluster sử dụng phần mềm MPI (Message Passing Interface – Giao diện chuyển thông điệp), nhân tố tiêu chuẩn cho việc truyền thông bên node cụm nhớ phân tán 5.3 Thiết kế giải thuật mô N-Body hệ thống đa GPU 5.3.1 Sự thực thi song song Trong phần thảo luận cách thức tiếp cận thiết kế giải thuật song song để chạy hệ thống cluster Giải thuật giống mở rộng giải thuật hệ thống đơn GPU mô tả chương trước Sự thực song song sau tương tự bước giải thuật mức cao Đầu tiên tính tốn lực thành phần, sau tổng hợp chúng, cuối sử dụng thông số để cập nhật vị trí vận tốc body Yếu tố then chốt thay đổi cách mà công việc phân chia vi xử lý Để minh họa dễ dàng, lần yêu cầu giới hạn định đầu vào toán Chúng ta yêu cầu tổng số n body hệ thống mơ có dạng n’*p, n’=n/p (ở p số node hệ thống GPU cluster) Với node hệ thống cluster này, nói node có n’ body Cuối cùng, yêu cầu n’ phải tính tốn sức mạnh tính tốn CPU GPU node Một cách đơn giản để đưa cải biến việc tính tốn lực lặp lại ứng dụng trường hợp Hình 5.4 minh họa hướng tiếp cận toán theo cách 80 Hình 5.4 Sự thực thi song song hóa mơ N-Body Chúng ta kết hợp kết cấu lực tất cặp (all-pairs) vào vùng có kích thước n’*n, vùng tính tốn node thành phần Bây node sử dụng giải thuật chương trình cho việc tính tốn vùng n’ body Để tính tốn lực thành phần, chạy giải thuật p lần, tương tác n’ body p lần, lần với tập hợp n’ vùng thuộc node Để giảm thiểu chi phí sử dụng giải thuật GPU đơn giản chi phí thời gian cơng bằng, giống u cầu lặp lại q trình tính tốn tile giải thuật mô N-Body với đơn GPU Để tối giản vấn đề này, xa có node tính tốn giảm xuống tồn cột, tích lũy giá trị lực áp dụng giải thuật Mỗi điểm tile tô trát tổng điểm tương ứng vùng tô trát lúc Sau p tương tác, loại bỏ với vùng 81 điểm biểu diễn lực tích lũy, thực giảm trước vùng Mỗi node loại bỏ với tổng lực n’ body Các node cập nhật vận tốc vị trí theo cách tương tự thực giải thuật Sự khác biệt thực thi thực với n’ body khơng phải tồn n body hệ thống đơn GPU Một cập nhật hoàn thành, sử dụng hàm MPI_All_gather để chuyển tất vị trí tới tất xử lý Một việc thực hiện, trở lại điểm bắt đầu, bắt đầu tương tác khác Giải thuật đưa bổ sung thông qua việc thực thi đơn GPU lặp lại trao đổi tập hợp n’ body GPU giai đoạn tích lũy lực Lưu ý rằng, điều với trường hợp đa GPU, với trường hợp đơn GPU chúng phải tương tác mình, có tất thơng tin body tay, vị trí vận tốc Như vậy, khơng có đổi chỗ tích lũy cột xuống cho GPU, có chép bổ sung phần với đa GPU 5.3.2 Giải thuật N-Body cho hệ thống đa GPU Để song song hóa tốn mơ N-Body hệ thống GPU cluster với trình bày ý tưởng giải thuật phần trên, gọi hệ thống “Lược đồ vòng” (“Ring Scheme”) Trong lược đồ này, tất GPU liên kết vòng tròn Mỗi GPU chứa tập N/Ngpu Body i (được gọi Sub-I, Ngpu tổng số GPU có hệ thống) Bên cạnh đó, body j phân chia thành tập Ngpu (được gọi Sub-J), vòng lặp lực hợp thành từ Ngpu bước Trong suốt bước, GPU ước lượng 82 lực từ Sub-J tương tác với Sub-I, truyền liệu Sub-J GPU khác Thủ tục tính tốn vịng lực tổng kết sau: (1) Khởi tạo mảng lưu trữ gia tốc lực Sub-I (2) Copy mảng khối lượng, vị trí vận tốc Sub-I tới Sub-J (3) Sử dụng GPU để tính tốn gia tốc lực Sub-I tác động Sub-J (4) Sử dụng CPU để tổng hợp kết tính tốn GPU với mảng lưu trữ (5) Gửi liệu Sub-J tới GPU theo hướng chiều kim đồng hồ, nhận liệu Sub-J từ GPU theo hướng ngược chiều kim đồng hồ Thay liệu Sub-J liệu nhận (6) Lặp lại bước từ (3)-(5) với Ngpu Lưu ý lược đồ này, sử dụng hàm gửi nhận không chặn (hàm ISEND IRECV MPI) để bắt đầu truyền liệu trước bước Vòng lặp lực chờ đợi đến truyền liệu hoàn thành Bằng cách làm vậy, giảm thời gian truyền thơng qua mạng phần chồng chéo với tính tốn lực 5.3.3 Tối ưu hóa giải thuật song song Chúng ta thực cải biến giải thuật để tối ưu hóa giải thuật song song hệ thống đa GPU với tốn mơ N-Body Đầu tiên, loại bỏ hạn chế kích thước đầu vào phải thay thực thi trước đây, điều cho phép đặt nhiều body 83 GPU, nêu lợi lớn dòng GeForce GTX 295 có 1GB nhớ Thay đổi đòi hỏi cải tiến nhỏ để giải thuật tốt Giải thuật cuối làm việc giống nhiều giải thuật NBody không tối ưu hóa trước đó, thay phân phối cột hình tới GPU đơn lẻ, cho phép nhiều cột tới GPU Kết bỏ qua tính độc lập số lượng node, từ giải thuật trước đưa ra, cho phép thực tính tốn N-Body với số số lượng body lớn trang thiết bị GPU Hình 5.5 Giải thuật tối ưu N-Body Các hình vng màu đen biểu diễn ma trận lực vi xử lý khác nhau, hình chữ nhật màu biểu diễn tập hợp khác vị trí body Với tối ưu hóa này, nhận thấy nhớ GPU lớn quan trọng Các giải thuật trước yêu cầu đệm body sử dụng đệm tô trát tất cặp tách rời, ví dụ 1024 body GPU yêu cầu 1024x1024 tất cặp tô trát kết cấu tích lũy kết Bằng cách sử dụng đa đệm vùng body cho node, sử dụng lại tất cặp tô trát kết cấu 84 Sự tối ưu hóa thứ hai thực với giải thuật thay đổi cấu trúc body không địa phương tới GPU truyền thơng Giải thuật mơ tả phần 5.3.1 có kết cấu cho body thuộc node khác, hốn đổi vào GPU suốt tương tác tích lũy lực 5.4 Kết luận Chương nhằm đích xây dựng hệ thống tính tốn nhiều GPU, qua hệ thống xây dựng thuật toán tính tốn mơ N-Body, cách tối ưu hóa giải thuật tính tốn Bài tốn chưa kiểm thử thực tế lý thời gian không đáp ứng đủ yêu cầu phần cứng Bài tốn dừng mục đích xây dựng hệ thống, xây dựng giải thuật cho tốn mơ N-Body hệ thống GPU Cluster 85 CHƯƠNG VI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận 6.1.1 Những vấn đề đạt • Tìm hiểu hệ thống song song giới nay, mơ hình cách thức hoạt động hệ thống song song đó, tìm hiểu số cách tiếp cận tính tốn hiệu cao Biết ưu nhược điểm chúng, khả ứng dụng triển khai mơ hình thực tế • Tìm hiểu mơ hình lập trình song song CUDA, kiến trúc Tesla, xây dựng kiểm thử hiệu tốn mơ giải tốn khoa học kinh điển tốn mơ N-Body hệ thống đơn GPU, hệ thống nhiều GPU • Kiểm thử, đánh giá so sánh hiệu hệ thống đơn GPU, đa GPU so với CPU tốn mơ N-Body, từ nghiên cứu phát triển tốn khác GPU • Đưa giải thuật mơ N-Body hệ thống đa GPU (GPU cluster), xây dựng mơ hình hệ thống GPU cluster 6.1.2 Những vấn đề chưa đạt • Tìm hiểu chưa sâu hệ thống nhiều GPU, cụm GPU, kiến trúc chun sâu Tesla • Chưa tìm hiểu chi tiết mơ hình lập trình CUDA cách thức hoạt động GPU toán 86 • Chưa thực kiểm thử thực tế tốn mơ N-Body hệ thống GPU cluster, multiGPU 6.2 Hướng phát triển • Cơng nghệ CUDA phát triển mở hướng cho nhà lập trình viên, nhà phát triển ứng dụng hiệu cao Vấn đề đặt tận dụng triệt để sức mạnh hệ thống xử lý ngày mang lại, đặc biệt GPU mà cụ thể thơng qua mơ hình lập trình song song CUDA • Đẩy mạnh việc tìm hiểu nghiên cứu mơ hình lập trình song song, đồng thời đề cập nhiều tới vấn đề tối ưu hóa tốn sử dụng cơng nghệ CUDA • Nghiên cứu sâu vào hệ thống multi-GPU, GPU cluster, kết hợp nhiều GPU tính tốn thơng qua mơ hình lập trình song song CUDA • Ứng dụng tốn mơ N-Body GPU, lợi dụng tốc độ tính tốn GPU để áp dụng vào toán thực tế 87 DANH SÁCH TÀI LIỆU THAM KHẢO Tính tốn hiệu cao: Thách Thức Giải pháp - Kỷ yếu Hội nghị khoa học & Công nghệ lần thứ 9, ban CNTT, ĐHBK TP Hồ Chí Minh NVIDIA CUDA Programming Guide 2.1 – NVIDIA Corporation Scalable Parallel Programming with CUDA - Ohn Nickolls, Ian Buck, and Michael Garlan, NVIDIA, Kenvin Skadron University of Virginia http://fastgpu.wordpress.com Xử lý song song (CPU+GPU) http://www.top500.org Blue Gene Supercomputing http://www.wikipedia.org - CUDA http://www.ibm.com Mainframe http://www.nvidia.com/cuda Installation CUDA http://hpcc.hut.edu.vn/ Forum CUDA 10 http://www.data-systems.pl 11 http://www.intel.com x86 Architecture 12 http://ww.amd.com AMD Architecture 13 http://www.hardwaresecrets.com 14 http://www.nvidia.com/object/tesla_computing_solutions.html 15 http://sc08.supercomputing.org SC 08 and GPU 16 Graphic-Card Cluster for Astrophysics (GraCCA) - Performance Tests, Hsi-Yu Schive, Chia-Hung Chien , Shing-Kwong Wong, Tzihong Chiueh, 88 Yu-Chih Tsai, Department of Physics, National Taiwan University, Taipei, Taiwan 17 Parallel N-Body Simulation using GPUs - Francisco Chinchilla, Todd Gamblin, Morten Sommervoll Jan F Prins, Department of Computer Science University of North Carolina at Chapel Hill, http://gamma.cs.unc.edu/GPGP, Technical Report TR04-032, December, 2004 18 Fast N-Body Simulation with CUDA, Lars Nyland - NVIDIA Corporation, Mark Harris - NVIDIA Corporation, Jan Prins - University of North Carolina at Chapel Hill 19 High Performance Computing on GPUs with CUDA: Data Parallel Algorithms, Vo Duc Khanh – NVIDIA Japan 20 Computer Experiments on Classical Fluids - Verlet, J 1967 - Physical Review, pp 98–103 21 A Hierarchical O(n log n) Force Calculation Algorithm - Barnes and P Hut, 1986 - Nature324 22 Gravitational N-Body Simulations - Aarseth, S 2003 - Cambridge University Press 23 The Rapid Evaluation of Potential Fields Using Programmable Graphics Hardware - Nyland, Lars, Mark Harris, and Jan Prins 2004 24 Brook for GPUs: Stream Computing on Graphics Hardware - Buck, I., T Foley, D Horn, J Sugerman, K Fatahalian, M Houston, and P Hanrahan 2004 89 PHỤ LỤC Các card đồ họa NVIDIA hỗ trợ CUDA Tên card đồ họa Số lượng Multiprocessors GeForce GTX 280 30 GeForce GTX 260 24 GeForce 9800 GX2 2x16 GeForce 9800 GTX, 9800 GTX+, 8800 GTS 512 16 GeForce 8800 Ultra, 8800 GTX 16 GeForce 9800 GT, 8800 GT, 9800M GTX 14 GeForce 9600 GSO, 8800 GS, 8800M GTX, 9800M GT 12 GeForce 8800 GTS 12 GeForce 9600 GT, 8800M GTS, 9800M GTS GeForce 9700M GT GeForce 9500 GT, 8600 GTS, 8600 GT, 9700M GT, 9650M GS, 9600M GT, 9600M GS, 9500M GS, 8700M GT, 8600M GT, 8600M GS GeForce 8500 GT, 8400 GS, 8400M GT, 9500M G, 9300M G, 8400M GS, 9400 mGPU, 9300 mGPU, 8300 mGPU, 8200 mGPU, 8100 mGPU GeForce 9300M GS, 9200M GS, 9100M G, 8400M G Tesla S1070 4x30 Tesla C1060 30 90 Tesla S870 4x16 Tesla D870 2x16 Tesla C870 16 Quadro Plex 2200 D2 2x30 Quadro Plex 2100 D4 4x14 Quadro Plex 2100 S4 4x16 Quadro Plex 1000 Model IV 2x16 Quadro FX 5800 30 Quadro FX 4700 X2 2x14 Quadro FX 3700M 16 Quadro FX 5600 16 Quadro FX 3700 14 Quadro FX 3600M 12 Quadro FX 4600 12 Quadro FX 2700M Quadro FX 1700, FX 570, NVS 320M, FX 1700M, FX 1600M, FX 770M, FX 570M Quadro FX 370, NVS 290, NVS 140M, NVS 135M, FX 360M ... tri? ?n vài n? ?m Trong bối cảnh đó, tơi lựa ch? ?n đề tài: ? ?Nghi? ?n cứu cơng nghệ Tính t? ?n thông dụng xử lý đồ họa ứng dụng t? ?n mơ N- Body? ?? để làm đồ ? ?n tốt nghiệp cao học Bài to? ?n N- Body to? ?n kinh.. .bộ giáo dục đào tạo trờng đại học bách khoa hµ n? ?i - lu? ?n v? ?n thạc sĩ khoa học NGHI? ?N CứU CÔNG NGHệ TíNH TO? ?N TổNG QUáT TR? ?N CáC Bộ Xử Lý Đồ HọA Và ứNG DụNG TRONG BàI TO? ?N. .. phương pháp nhằm tăng tốc độ tính t? ?n t? ?n mơ N- Body, t? ?n dụng sức mạnh tính t? ?n xử lý đồ họa Đề tài nhằm tìm hiểu mơi trường tính t? ?n hiệu cao xử lý đồ họa sử dụng công nghệ CUDA hãng nVidia, bước