Nghiên cứu kiến trúc hệ thống tính toán hiệu năng cao đa dụng dựa trên card đồ họa

77 414 0
Nghiên cứu kiến trúc hệ thống tính toán hiệu năng cao đa dụng dựa trên card đồ họa

Đ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 Trang MỤC LỤC Lời cam đoan Lời cảm ơn Danh mục ký hiệu, chữ viết tắt Danh mục bảng Danh mục hình vẽ, đồ thị MỞ ĐẦU Lý chọn đề tài Chương - GIỚI THIỆU TỔNG QUAN VỀ TÍNH TOÁN HIỆU NĂNG CAO 11 1.1 Tính toán hiệu cao vai trò ứng dụng thực tiễn 11 1.2 Một số tiếp cận tính toán hiệu cao 14 Chương - GPU VÀ CÔNG NGHỆ TÍNH TOÁN ĐA DỤNG GPGPU 32 2.1 Kiến trúc xử lý đồ họa đa lõi Nvidia 32 2.2 Môi trường phát triển ứng dụng GPU – CUDA 34 2.3 Hệ thống GPU-Cluster 46 2.4 Giao diện lập trình 55 2.5 Tổng kết 57 Chương - ỨNG DỤNG GPU THỬ NGHIỆM BÀI TOÁN N-BODY 58 3.1 Giới thiệu toán n-body 58 3.2 GPGPU – Giải pháp cho toán n-body 61 3.3 Môi trường thử nghiệm toán n-body 64 Phương pháp thử nghiệm toán n-body hệ thống 66 Chương - KẾT QUẢ VÀ ĐÁNH GIÁ 74 4.1 Những vấn đề đạt 74 4.2 Những vấn đề tiếp tục nghiên cứu 74 KẾT LUẬN 75 TÀI LIỆU THAM KHẢO 76 Lời cam đoan Tôi - Lê Thanh Hải - xin cam đoan: - Luận văn tốt nghiệp Thạc sĩ công trình nghiên cứu thân hướng dẫn Giáo sư, Tiến sĩ Nguyễn Thanh Thủy - Các kết Luận văn tốt nghiệp trung thực, chép toàn văn công trình khác Các trích dẫn từ nguồn có thật, xác, không bịa đặt Hà Nội, ngày 10 tháng 09 năm 2012 Học viên Lê Thanh Hải Lời cảm ơn Tôi xin gửi lời cảm ơn sâu sắc tới Giáo sư Tiến sĩ Nguyễn Thanh Thủy, Thầy trực tiếp hướng dẫn suốt trình thực luận văn Thầy đưa ý tưởng hỗ trợ nhiều việc định hướng tìm hiểu, so sánh, triển khai thực nghiệm giải thuật toán N-Body CPU GPU công nghệ tính toán hiệu cao GPU Tôi xin gửi lời cảm ơn chân thành tới Tiến sĩ Nguyễn Hữu Đức, Thầy hỗ trợ mặt ý tưởng việc lựa chọn đề tài thông qua buổi hội thảo thầy Tôi xin gửi lời cảm ơn đến Trung tâm Tính toán Hiệu cao Trường Đại học Bách Khoa Hà Nội, anh Lê Đức Tùng, Dương Nhật Tân Lê Đức Hùng hỗ trợ nhiều mặt chuyên môn sở vật chất để thực luận văn Cuối cùng, xin chia sẻ niềm vui với người thân, đồng nghiệp, bạn bè bạn đồng môn lớp Cao học khóa 10B CNTT Hà Nội, ngày 10 tháng 09 năm 2012 Học viên Lê Thanh Hải Danh mục ký hiệu, chữ viết tắt Từ viết tắt Nghĩa tiếng Anh GPU Graphic Processing Unit GPGPU General-purpose Chú giải Bộ xử lý đồ họa computing lý đồ họa graphics processing units CUDA Compute on Tính toán đa dụng xử Device Ngôn ngữ lập trình cho Unified Architecture xử lý đồ họa hãng NVIDIA OS Operating System Hệ điều hành HDD Hard Drive Ổ đĩa cứng CPU Central Processing Unit Đơn vị xử lý trung tâm RAM Ramdom Access Memory Bộ nhớ truy cập ngẫu nhiên PMTA Parallel Multipole Tree Algorithm Giải thuật đa cực song song FMM The Fast Multipole Method Giải thuật đa cực nhanh MD Molecular dynamics Chuyển động phân tử BEM Boundary element method Phương pháp khoanh vùng thành phần AMD Advanced Micro Devices, Inc Hãng sản xuất thiết bị phần cứng máy tính Danh mục bảng Bảng Bảng so sánh hai cụm GPU AC Lincoln 50 Bảng 2 Ví dụ Makefile trộn mã CUDA + MPI 54 Bảng Kiểm thử hiệu CPU 68 Bảng Kiểm thử hiệu GPU 69 Bảng 3 Bảng kiểm thử hiệu GPU 70 Bảng Bảng kiểm thử hiệu 3GPU 71 Bảng Bảng kiểm thử hiệu GPU 72 Bảng Bảng tổng hợp hiệu CPU GPU 73 Danh mục hình vẽ, đồ thị Hình 1 Một Mainframe năm 1960 IBM 704 Mainframe 14 Hình UNIVAC Mainframe System 15 Hình Siêu máy tính CRAY-1 IBM Mainframe System zSeries 15 Hình IBM System 16 Hình Thành phần bên Mainframe 17 Hình Siêu máy tính Sequoia Nhật 18 Hình Mô hình Cluster 19 Hình Kiến trúc tổng quan phần cứng phần mềm cluster 20 Hình CPU hai nhân Intel 21 Hình 10 CPU Phenom AMD 22 Hình 11 GPU Nvidia 27 Hình 12 Biểu đồ số phép tính dâu chấm động giây băng thông nhớ CPU GPU 28 Hình 13 GPU dành nhiều transitor để xử lý liệu 29 Hình 14 Geforce FX 5800 30 Hình Số phép tính dấu phẩy động giây băng thông nhớ CPU GPU 33 Hình 2 CUDA thiết kế để hỗ trợ nhiều ngôn ngữ API khác 35 Hình Khả tự mở rộng 37 Hình Lưới block 40 Hình Phân cấp nhớ 44 Hình Lập trình không đồng 45 Hình Cụm node AC 48 Hình Hai node cụm Lincoln chia sẻ đơn với Tesla S1070 49 Hình Đo băng thông hệ thống Lincoln AC 51 Hình 10 Các nút mô hình GPU Cluster 53 Hình Ảnh mô n-body, biểu diễn dải ngân hà 61 Hình Mô tả trình đo bechmark CPU 67 Hình 3 Mô tả trình đo bechmark GPU 68 Hình Biểu đồ hiệu CPU thời gian 69 Hình Biểu đồ hiệu CPU 69 Hình Biểu đồ hiệu GPU CPU 70 Hình Biểu đồ hiệu GPU CPU 70 Hình Biểu đồ hiệu GPU CPU 71 Hình Biểu đồ hiệu GPU CPU 72 Hình 10 So sánh hiệu CPU GPU 73 MỞ ĐẦU Lý chọn đề tài Tính toán hiệu cao ngày quan tâm ứng dụng nhiều thực tế khoa học đời sống, xử lý ảnh y tế, mô hình hóa thời tiết, khí hậu, biển, không khí, Để giải toán này, đòi hỏi phải có hệ thống máy tính mạnh chi phí lớn Một lựa chọn khác để giải toán với chi phí thấp thay sử dụng lực xử lý CPU, sử dụng lực xử lý GPU Với cách tiếp cận này, thống kê thực tế NVIDIA đưa số liệu : - Giảm chi phí (giá thành thấp nhiều), - Tiết kiệm lượng, - Hiệu cao, lực xử lý nhanh Từ thông tin này, mạnh dạn tìm hiểu công nghệ tính toán hiệu cao NVIDIA thử nghiệm toán n-body để so sánh lực tính toán hệ thống sử dụng CPU hệ thống sử dụng GPU thông qua đề tài "Nghiên cứu kiến trúc hệ thống tính toán hiệu cao đa dụng dựa card đồ họa" Mục đích nghiên cứu luận văn, đối tượng, phạm vi nghiên cứu - Tìm hiểu công nghệ tính toán hiệu cao dựa card đồ họa NVIDIA - Tìm hiểu công nghệ lập trình song song CUDA để phục vụ mô toán n-Body - Thử nghiệm kết toán n-Body CPU, GPU nhiều GPU (max GPU) Tóm tắt Luận văn chia làm chương Chương 1: Giới thiệu chung tính toán hiệu cao vấn đề liên quan đến luận văn Chương 2: GPU công nghệ tính toán đa dụng GPGPU Chương tập trung giới thiệu xử lý đồ họa đa lõi Nvidia Dựa đó, trình bày môi trường phát triển CUDA cho ứng dụng GPU Chương trình bày nét GPU-Cluster, mở rộng cho công nghệ GPU Chương 3: Ứng dụng GPU thử nghiệm toán n-Body Trong chương thử nghiệm đánh giá kết quả, thời gian tính toán toán n-Body CPU, GPU đơn nhiều GPU (4 GPU) Chương 4: Kết luận hướng phát triển luận văn 10 Độ phức tạp tính toán giải thuật O(n), nhiên, sử dụng nhiều phép tính toán học phức tạp lập trình khó khăn không gian ba chiều 3.2.1.4 Giải thuật đa cực song song Giải thuật đa cực song song (Parallel Multipole Tree Algorithm - PMTA) lai ghép hai giải thuật Barnes-Hut FMM Nó sử dụng luật tương tự Barnes-Hut để xác định phân tách tốt hai cell Hai cell gọi phân tách tốt lẫn kích thước cell lớn có kích thước lớn cell nhỏ, bé tham số  Cây xây dựng phương pháp Barnes-Hut, cell phân chia nhỏ cách đệ quy chứa không nhiều m hạt (thay hạt trường hợp giải thuật Barnes-Hut) Khi duyệt theo hướng từ xuống qua cell cell tìm thấy phân chia tốt từ cell, mở rộng đa cực thực mở rộng địa phương trung tâm cell phần lại bên cell không thăm Tất chúng dịch mở rộng địa phương thêm vào độ dốc tìm thấy để có lực miền xa hạt Các hạt cell tương tác trực tiếp hạt tất cell mà chưa phân chia tốt từ Giải thuật đa cực song song giải thuật lai hai giải thuật Barnes-Hut phương pháp đa cực nhanh, phát triển nhóm khoa học máy tính trường đại học Duke, Mỹ Đây giải thuật phức tạp sử dụng nhiều phép tính toán phức tạp, khó lập trình không gian ba chiều 3.2.1 Bài toán n-Body CPU Mô n-body có loại mô trực tiếp mô tương đối Trong phần mô tả mô trực tiếp sử dụng phương pháp đơn giản là: phương pháp hạt-hạt (particle-particle (PP) ) Luận văn cài đặt mô N-body chạy CPU theo phương pháp Đồng thời có đánh giá thử nghiệm mô so sánh với mô GPU Chi tiết trình bày phần kết thử nghiệm 63 Phương pháp hạt-hạt dựa thuật toán tích hợp thời gian thuật toán tính lực Thuật toán Verlet (1967) mô tả thuật toán tích hợp thời gian phổ biến đơn giản 3.2.2 Bài toán N-Body GPU Bài toán thử nghiệm N-body GPU tham khảo từ [15] Luận văn tìm hiểu, nghiên cứu mà nguồn ví dụ, điều chỉnh tham số chương trình cài đặt môi trường thử nghiệm Các bước thực hiện: Cài đặt tool kit NIVIDIA phiên 1.0 trở lên Có thể download http://developer.nvidia.com/cuda Cấu hình GPU cần thiết: NVIDIA 8-Series Biên dịch chương trình Linux: 3.3 Môi trường thử nghiệm toán n-body Cấu hình phần cứng CPU : AMD Athlon TM X4 620 Speed : 800 Mhz Cache size : 512 KB CPU Cores :4 RAM : 8300072 kB (8 GB) HDD : 1TB OS : Linux 2.618-128 Card đồ họa NVidia CUDA Driver Version / Runtime Version : 4.2 / 4.2 CUDA Capability Major/Minor version number : 1.3 64 Total amount of global memory : 896 MBytes (939327488 bytes) (30) Multiprocessors x ( 8) CUDA Cores/MP : 240 CUDA Cores GPU Clock rate : 1242 MHz (1.24 GHz) Memory Clock rate : 1008 Mhz Memory Bus Width : 448-bit Max Texture Dimension Size (x,y,z) : 1D=(8192), 2D=(65536,32768), 3D=(2048,2048,2048) Max Layered Texture Size (dim) x layers : 1D=(8192) x 512, 2D=(8192,8192) x 512 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 multiprocessor : 1024 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 : 2147483647 bytes Texture alignment : 256 bytes Concurrent copy and execution : Yes with copy engine(s) Run time limit on kernels : No Integrated GPU sharing Host Memory : No Support host page-locked memory mapping : Yes 65 Concurrent kernel execution : No Alignment requirement for Surfaces : Yes Device has ECC support enabled : No Device is using TCC driver mode : No Device supports Unified Addressing (UVA) : No Device PCI Bus ID / PCI location ID :3/0 Compute Mode : Default Phương pháp thử nghiệm toán n-body hệ thống - Cài đặt toán mô n-body lên hệ thống - Vào thư mục chứa toán n-body biên dịch (lệnh cd NVIDIA_GPU_Computing_SDK/C/bin/linux/release/), sau gõ lệnh theo cú pháp: /nbody -benchmark -n= -p= -q= -i= Trong đó: - benchmark: chế độ đo hiệu hệ thống công cụ benchmark, kết đo toán mô tổng thời gian (tính mini giây), thời gian trung bình trung bình tương tác body-body giây mức GFLOP/s -n=: chọn số phần tử body toán mô (mặc định cho CPU số NUM=4096 phần tử, cho GPU NUM=30720 phần tử) - p=: chọn độ rộng tile, mặc định NUM= 256 -q=: chọn chiều cao tile, mặc định NUM=1 -i=: chọn số tương tác chạy chế độ benchmark, mặc định NUM=10 Cũng cần lưu ý, p q chiều rộng chiều cao tile, chọn thông số cho giá trị phải tuân thủ p x q

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

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • Danh mục các ký hiệu, các chữ viết tắt

  • Danh mục các bảng

  • Danh mục các hình vẽ, đồ thị

  • MỞ ĐẦU

  • Chương 1 - GIỚI THIỆU TỔNG QUAN VỀ TÍNH TOÁN HIỆU NĂNG CAO

  • Chương 2 - GPU VÀ CÔNG NGHỆ TÍNH TOÁN ĐA DỤNG GPGPU

  • Chương 3 - ỨNG DỤNG GPU THỬ NGHIỆM BÀI TOÁN N-BODY

  • Chương 4 - KẾT QUẢ VÀ ĐÁNH GIÁ

  • KẾT LUẬN

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

Tài liệu liên quan