1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn 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

75 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề 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
Tác giả Trần Thanh Hùng
Người hướng dẫn TS. Nguyễn Hữu Đức
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2009
Thành phố Hà Nội
Định dạng
Số trang 75
Dung lượng 170,3 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dé tai nay nhém tìm hiểu mồi trường tính toán hiệu năng cao trên bộ xử lý đồ họa sử dụng công nghệ CUDA của hãng nVidia, và bước đầu thử nghiệm thanh công bải toán mô phỏng N-Body trên d

Trang 1

Zz

8 NGÀNH : CONG NGHE THONG TIN

Trang 2

BỘ GIÁO DỤC VÀ ĐÀ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

TREN CAC BO XULY BO HOA VA UNG DUNG

TRONG BAI TOAN MO PHONG N-BODY

NGÀNH : CÔNG NGHỆ ‘THONG ‘IN

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan rằng đồ án tốt nghiệp này không copy, sao chép, chỉnh

sửa đưới mọi hình thức ur bat ky các dé an nao đã có trước đó Các tài liệu tham

khảo, thông tin tham khảo được lẫy, trích dẫn từ các nguồn có thật, chính xác,

không bịa đặt

Trang 4

kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 5

Tóm tắt

Tải toán N-Rody là một bài toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật ly, y sinh, thiên văn học, Trong bài toán mô phỏng này, khi số lượng Body mô phỏng trong bài toán là một số rất lớn, việc tính toán

tương tác trên tắt că các cặp N-Body mất rất nhiều thời gian (đồ phức tạp trong

trường hợp tôi nhất O(N?)) Vì vậy chúng ta cần nghiên cửu một phương pháp

mới nhằm tăng tốc độ tính Loán cia bai toán mô phỏng N-Body, đó là lận dụng

sức mạnh tính toán của các bộ xử lý đỗ họa

Dé tai nay nhém tìm hiểu mồi trường tính toán hiệu năng cao trên bộ xử lý

đồ họa sử dụng công nghệ CUDA của hãng nVidia, và bước đầu thử nghiệm thanh công bải toán mô phỏng N-Body trên dơn GPU, cũng như dưa ra một số

để xuất giải thuật trén GPU cluster

Trang 6

kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 7

3.3.2 Giải thuật Barnes-ITut (The Barnes-Iut Algorithm) —

3.3.3 Phuong phap da cye nhanh (The Fast Multipole Method “FMM

3.3.4 Giải thuật cây đa cực song song enilel Mullipole Tree Algorithm —

PMTA)

3.4 Tổng kết các giải thuật

CHƯƠNG IV MÔ PHONG N-BODY Vì vớt DON GPU

4.1 Mục dích mô phỏng N-Body trên GPU

4.2 Tỉnh toán lực tương táo các oặp N-Body

4.3 Sự thực thi CUDA của giải thuật tất câ các cặp N-Body

4.3.1 Tỉnh toán lực body - body

4.3.2 Tính toán tile

433 Xếp nhóm các tilc vào trong các Thrcad Bloek

4.3.4 Định nghĩa một Grid của các Thread Dloek

4.4 Môi trường thứ nghiêm bãi toán

4.5 Cách thử nghiệm bài toán N-Dody trên hệ thống

4.6 Các kết quả thực hiện

4L7 Sự tốt ưu hóa

4.7.1 Gia tăng hiệu năng với lặp không cuộn (loop waroling)

4.7.2 Hiệu năng từng khi kích thước Block thay đối

4.73 Cải thiện hiệu năng khi N nhỏ :

CHƯƠNG V XÂY DỰNG GIẢI THUẬT MÔ PHÔNG N-BODY

VỚI ĐA GPU

5.1 Tỉnh chất cúa các hệ thống tính toán da GPU

5.2 Kiến trúc hệ thống GPU cluster

Trang 8

5.3 Thiết kê giải thuật mô phỏng N-! Body trén hé thing da GPU

5.3.1 Su thue thi song song dau tiên

5.3.3 Tối ưu hóa giải thuật song song

Trang 9

3.3.2 Giải thuật Barnes-ITut (The Barnes-Iut Algorithm) —

3.3.3 Phuong phap da cye nhanh (The Fast Multipole Method “FMM

3.3.4 Giải thuật cây đa cực song song enilel Mullipole Tree Algorithm —

PMTA)

3.4 Tổng kết các giải thuật

CHƯƠNG IV MÔ PHONG N-BODY Vì vớt DON GPU

4.1 Mục dích mô phỏng N-Body trên GPU

4.2 Tỉnh toán lực tương táo các oặp N-Body

4.3 Sự thực thi CUDA của giải thuật tất câ các cặp N-Body

4.3.1 Tỉnh toán lực body - body

4.3.2 Tính toán tile

433 Xếp nhóm các tilc vào trong các Thrcad Bloek

4.3.4 Định nghĩa một Grid của các Thread Dloek

4.4 Môi trường thứ nghiêm bãi toán

4.5 Cách thử nghiệm bài toán N-Dody trên hệ thống

4.6 Các kết quả thực hiện

4L7 Sự tốt ưu hóa

4.7.1 Gia tăng hiệu năng với lặp không cuộn (loop waroling)

4.7.2 Hiệu năng từng khi kích thước Block thay đối

4.73 Cải thiện hiệu năng khi N nhỏ :

CHƯƠNG V XÂY DỰNG GIẢI THUẬT MÔ PHÔNG N-BODY

VỚI ĐA GPU

5.1 Tỉnh chất cúa các hệ thống tính toán da GPU

5.2 Kiến trúc hệ thống GPU cluster

Trang 10

Tóm tắt

Tải toán N-Rody là một bài toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật ly, y sinh, thiên văn học, Trong bài toán mô phỏng này, khi số lượng Body mô phỏng trong bài toán là một số rất lớn, việc tính toán

tương tác trên tắt că các cặp N-Body mất rất nhiều thời gian (đồ phức tạp trong

trường hợp tôi nhất O(N?)) Vì vậy chúng ta cần nghiên cửu một phương pháp

mới nhằm tăng tốc độ tính Loán cia bai toán mô phỏng N-Body, đó là lận dụng

sức mạnh tính toán của các bộ xử lý đỗ họa

Dé tai nay nhém tìm hiểu mồi trường tính toán hiệu năng cao trên bộ xử lý

đồ họa sử dụng công nghệ CUDA của hãng nVidia, và bước đầu thử nghiệm thanh công bải toán mô phỏng N-Body trên dơn GPU, cũng như dưa ra một số

để xuất giải thuật trén GPU cluster

Trang 11

3.3.2 Giải thuật Barnes-ITut (The Barnes-Iut Algorithm) —

3.3.3 Phuong phap da cye nhanh (The Fast Multipole Method “FMM

3.3.4 Giải thuật cây đa cực song song enilel Mullipole Tree Algorithm —

PMTA)

3.4 Tổng kết các giải thuật

CHƯƠNG IV MÔ PHONG N-BODY Vì vớt DON GPU

4.1 Mục dích mô phỏng N-Body trên GPU

4.2 Tỉnh toán lực tương táo các oặp N-Body

4.3 Sự thực thi CUDA của giải thuật tất câ các cặp N-Body

4.3.1 Tỉnh toán lực body - body

4.3.2 Tính toán tile

433 Xếp nhóm các tilc vào trong các Thrcad Bloek

4.3.4 Định nghĩa một Grid của các Thread Dloek

4.4 Môi trường thứ nghiêm bãi toán

4.5 Cách thử nghiệm bài toán N-Dody trên hệ thống

4.6 Các kết quả thực hiện

4L7 Sự tốt ưu hóa

4.7.1 Gia tăng hiệu năng với lặp không cuộn (loop waroling)

4.7.2 Hiệu năng từng khi kích thước Block thay đối

4.73 Cải thiện hiệu năng khi N nhỏ :

CHƯƠNG V XÂY DỰNG GIẢI THUẬT MÔ PHÔNG N-BODY

VỚI ĐA GPU

5.1 Tỉnh chất cúa các hệ thống tính toán da GPU

5.2 Kiến trúc hệ thống GPU cluster

Trang 12

kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 13

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 14

Tóm tắt

Tải toán N-Rody là một bài toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật ly, y sinh, thiên văn học, Trong bài toán mô phỏng này, khi số lượng Body mô phỏng trong bài toán là một số rất lớn, việc tính toán

tương tác trên tắt că các cặp N-Body mất rất nhiều thời gian (đồ phức tạp trong

trường hợp tôi nhất O(N?)) Vì vậy chúng ta cần nghiên cửu một phương pháp

mới nhằm tăng tốc độ tính Loán cia bai toán mô phỏng N-Body, đó là lận dụng

sức mạnh tính toán của các bộ xử lý đỗ họa

Dé tai nay nhém tìm hiểu mồi trường tính toán hiệu năng cao trên bộ xử lý

đồ họa sử dụng công nghệ CUDA của hãng nVidia, và bước đầu thử nghiệm thanh công bải toán mô phỏng N-Body trên dơn GPU, cũng như dưa ra một số

để xuất giải thuật trén GPU cluster

Trang 15

Bo” để làm đồ án tốt nghiệp cao học của mình Bài toán N-Body là một bài

toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật lý, y sinh,

thiên văn học, Trong bải toán mô phỏng này, khi số lượng Body mô phỏng

trong bài toán là một số rất lớn, việc tính toán tương tác trên tất cả các cặn N-

Body mất rất nhiều thời gian (O(N?) Vi vây chúng ta cần nghiên củu một

phương nháp mới nhằm tăng tốc độ tính Loán oủa bài toán mô phỏng N-Body, đó

là tân đụng sức mạnh tỉnh toán của các bộ xử lý đỗ họa

Qua đề tài này, tôi đã tìm hiểu được môi trường tính toán hiệu năng cao trên

bộ xử lý đồ họa sử dụng công nghệ CUDA của hing nVidia, và bước đầu thử

nghiệm thánh công bài loán mỗ phỏng N-Đody

Nội dung luận văn bau gầm cú 6 chương chính:

Chương 1: Tính toán hiệu năng cao với các bộ xử lý dỗ họa

Chương 2: Kiến trúc Tesla va Méi traéng lap trinh song song CUDA

Chương 3: Bải toán mô phống N-Body

Chương 4: Mô phống N-Body với đơn GPU

Chương 5: Xây dựng giải thuật mô phỏng N-Pody với da GPU

Chương 6: Kết luận và hướng phát triển

Để hoàn thành đổ án tốt nghiệp “Vghiên cứu công nghệ Tính toán thông dụng trên các bộ xử lý đề họa và ứng dụng trong bài toứn mô phông N-Body",

tôi xin chân thành cảm ơn tới Tiến sỹ Nguyễn Hữu Đức — Thầy đã là người trực

tiếp hướng dẫn và giúp đỡ tôi Tôi cũng xin gửi lời cảm ơn tới các thầy cô, các

anh chị quản lý tại Trung tâm Tính toán hiệu năng cao, trưởng Đại học Bách

Trang 16

3.3.2 Giải thuật Barnes-ITut (The Barnes-Iut Algorithm) —

3.3.3 Phuong phap da cye nhanh (The Fast Multipole Method “FMM

3.3.4 Giải thuật cây đa cực song song enilel Mullipole Tree Algorithm —

PMTA)

3.4 Tổng kết các giải thuật

CHƯƠNG IV MÔ PHONG N-BODY Vì vớt DON GPU

4.1 Mục dích mô phỏng N-Body trên GPU

4.2 Tỉnh toán lực tương táo các oặp N-Body

4.3 Sự thực thi CUDA của giải thuật tất câ các cặp N-Body

4.3.1 Tỉnh toán lực body - body

4.3.2 Tính toán tile

433 Xếp nhóm các tilc vào trong các Thrcad Bloek

4.3.4 Định nghĩa một Grid của các Thread Dloek

4.4 Môi trường thứ nghiêm bãi toán

4.5 Cách thử nghiệm bài toán N-Dody trên hệ thống

4.6 Các kết quả thực hiện

4L7 Sự tốt ưu hóa

4.7.1 Gia tăng hiệu năng với lặp không cuộn (loop waroling)

4.7.2 Hiệu năng từng khi kích thước Block thay đối

4.73 Cải thiện hiệu năng khi N nhỏ :

CHƯƠNG V XÂY DỰNG GIẢI THUẬT MÔ PHÔNG N-BODY

VỚI ĐA GPU

5.1 Tỉnh chất cúa các hệ thống tính toán da GPU

5.2 Kiến trúc hệ thống GPU cluster

Trang 17

Bo” để làm đồ án tốt nghiệp cao học của mình Bài toán N-Body là một bài

toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật lý, y sinh,

thiên văn học, Trong bải toán mô phỏng này, khi số lượng Body mô phỏng

trong bài toán là một số rất lớn, việc tính toán tương tác trên tất cả các cặn N-

Body mất rất nhiều thời gian (O(N?) Vi vây chúng ta cần nghiên củu một

phương nháp mới nhằm tăng tốc độ tính Loán oủa bài toán mô phỏng N-Body, đó

là tân đụng sức mạnh tỉnh toán của các bộ xử lý đỗ họa

Qua đề tài này, tôi đã tìm hiểu được môi trường tính toán hiệu năng cao trên

bộ xử lý đồ họa sử dụng công nghệ CUDA của hing nVidia, và bước đầu thử

nghiệm thánh công bài loán mỗ phỏng N-Đody

Nội dung luận văn bau gầm cú 6 chương chính:

Chương 1: Tính toán hiệu năng cao với các bộ xử lý dỗ họa

Chương 2: Kiến trúc Tesla va Méi traéng lap trinh song song CUDA

Chương 3: Bải toán mô phống N-Body

Chương 4: Mô phống N-Body với đơn GPU

Chương 5: Xây dựng giải thuật mô phỏng N-Pody với da GPU

Chương 6: Kết luận và hướng phát triển

Để hoàn thành đổ án tốt nghiệp “Vghiên cứu công nghệ Tính toán thông dụng trên các bộ xử lý đề họa và ứng dụng trong bài toứn mô phông N-Body",

tôi xin chân thành cảm ơn tới Tiến sỹ Nguyễn Hữu Đức — Thầy đã là người trực

tiếp hướng dẫn và giúp đỡ tôi Tôi cũng xin gửi lời cảm ơn tới các thầy cô, các

anh chị quản lý tại Trung tâm Tính toán hiệu năng cao, trưởng Đại học Bách

Trang 18

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 19

LỜI MỞ ĐÀU

Trong vải năm gần đây, khái niệm tính toán thông dụng trên các bộ xử lý

đồ họa (GPGPU — (ieneral-Purpose Computing on Graphies Processing Units)

thu hút được nhiều sự quan tâm từ các nhà nghiên cửu phương pháp tính toán khoa học Những lý do căn bản cho mối quan tim nay 1a

s_ lIiệu năng tính toán của các bộ xử lý đồ hoa (GPU) ngay cảng vượt trội so

với oáo bộ xử lý trung tâm truyền thông

e Các hãng sản xuất hộ xử lý đỗ họa như nVidia, AMI liên tục đưa ra

những hệ thông phần mềm trung gian (midđleware) và 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ễ

đàng xây dựng các ứng dụng phi đồ họa trên các bộ xử lý đồ họa nảy

«_ Giá thành cũng như các chỉ phí năng lượng cho hoạt dông của các bộ xử lý

46 hoa thập hơn nhiều so với các hệ thống máy tính cùng chỉ số hiệu năng

lý thuyết

Cac GPU có khả năng Tỉnh toán thông dụng như vậy có mặt ử khắp nơi, từ

máy tính cơ quan cho tới trường học, đến máy tính nhà riêng của mọi người Sự

phat Iriển rộng rãi về mặt số lượng của các GPU nay dan đến một yêu cầu hết

sức cấp bách và đầy thách thức đối với công dỗng phát triển phần mềm (đặc biệt

là các phan mềm tính toán khoa hgc), dé 14 1am thế nào tận dụng được sức mạnh

song song của các GPU đối với những phần mềm ứng dụng dang và sẽ dược phát

triển trong một vài năm nữa

Trong bối cảnh đó, tôi đã lựa chọn dễ tài: *Nphiên cứu công nghệ Tính taán

thông dụng trên các bộ xử lý đồ họa và ứng dụng trong bài taản mô phông

Trang 20

N-kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 21

Tóm tắt

Tải toán N-Rody là một bài toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật ly, y sinh, thiên văn học, Trong bài toán mô phỏng này, khi số lượng Body mô phỏng trong bài toán là một số rất lớn, việc tính toán

tương tác trên tắt că các cặp N-Body mất rất nhiều thời gian (đồ phức tạp trong

trường hợp tôi nhất O(N?)) Vì vậy chúng ta cần nghiên cửu một phương pháp

mới nhằm tăng tốc độ tính Loán cia bai toán mô phỏng N-Body, đó là lận dụng

sức mạnh tính toán của các bộ xử lý đỗ họa

Dé tai nay nhém tìm hiểu mồi trường tính toán hiệu năng cao trên bộ xử lý

đồ họa sử dụng công nghệ CUDA của hãng nVidia, và bước đầu thử nghiệm thanh công bải toán mô phỏng N-Body trên dơn GPU, cũng như dưa ra một số

để xuất giải thuật trén GPU cluster

Trang 22

Bo” để làm đồ án tốt nghiệp cao học của mình Bài toán N-Body là một bài

toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật lý, y sinh,

thiên văn học, Trong bải toán mô phỏng này, khi số lượng Body mô phỏng

trong bài toán là một số rất lớn, việc tính toán tương tác trên tất cả các cặn N-

Body mất rất nhiều thời gian (O(N?) Vi vây chúng ta cần nghiên củu một

phương nháp mới nhằm tăng tốc độ tính Loán oủa bài toán mô phỏng N-Body, đó

là tân đụng sức mạnh tỉnh toán của các bộ xử lý đỗ họa

Qua đề tài này, tôi đã tìm hiểu được môi trường tính toán hiệu năng cao trên

bộ xử lý đồ họa sử dụng công nghệ CUDA của hing nVidia, và bước đầu thử

nghiệm thánh công bài loán mỗ phỏng N-Đody

Nội dung luận văn bau gầm cú 6 chương chính:

Chương 1: Tính toán hiệu năng cao với các bộ xử lý dỗ họa

Chương 2: Kiến trúc Tesla va Méi traéng lap trinh song song CUDA

Chương 3: Bải toán mô phống N-Body

Chương 4: Mô phống N-Body với đơn GPU

Chương 5: Xây dựng giải thuật mô phỏng N-Pody với da GPU

Chương 6: Kết luận và hướng phát triển

Để hoàn thành đổ án tốt nghiệp “Vghiên cứu công nghệ Tính toán thông dụng trên các bộ xử lý đề họa và ứng dụng trong bài toứn mô phông N-Body",

tôi xin chân thành cảm ơn tới Tiến sỹ Nguyễn Hữu Đức — Thầy đã là người trực

tiếp hướng dẫn và giúp đỡ tôi Tôi cũng xin gửi lời cảm ơn tới các thầy cô, các

anh chị quản lý tại Trung tâm Tính toán hiệu năng cao, trưởng Đại học Bách

Trang 23

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 24

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 25

3.3.2 Giải thuật Barnes-ITut (The Barnes-Iut Algorithm) —

3.3.3 Phuong phap da cye nhanh (The Fast Multipole Method “FMM

3.3.4 Giải thuật cây đa cực song song enilel Mullipole Tree Algorithm —

PMTA)

3.4 Tổng kết các giải thuật

CHƯƠNG IV MÔ PHONG N-BODY Vì vớt DON GPU

4.1 Mục dích mô phỏng N-Body trên GPU

4.2 Tỉnh toán lực tương táo các oặp N-Body

4.3 Sự thực thi CUDA của giải thuật tất câ các cặp N-Body

4.3.1 Tỉnh toán lực body - body

4.3.2 Tính toán tile

433 Xếp nhóm các tilc vào trong các Thrcad Bloek

4.3.4 Định nghĩa một Grid của các Thread Dloek

4.4 Môi trường thứ nghiêm bãi toán

4.5 Cách thử nghiệm bài toán N-Dody trên hệ thống

4.6 Các kết quả thực hiện

4L7 Sự tốt ưu hóa

4.7.1 Gia tăng hiệu năng với lặp không cuộn (loop waroling)

4.7.2 Hiệu năng từng khi kích thước Block thay đối

4.73 Cải thiện hiệu năng khi N nhỏ :

CHƯƠNG V XÂY DỰNG GIẢI THUẬT MÔ PHÔNG N-BODY

VỚI ĐA GPU

5.1 Tỉnh chất cúa các hệ thống tính toán da GPU

5.2 Kiến trúc hệ thống GPU cluster

Trang 26

Bo” để làm đồ án tốt nghiệp cao học của mình Bài toán N-Body là một bài

toán kinh điển, ứng dụng trong nhiều lĩnh vực của khoa học như vật lý, y sinh,

thiên văn học, Trong bải toán mô phỏng này, khi số lượng Body mô phỏng

trong bài toán là một số rất lớn, việc tính toán tương tác trên tất cả các cặn N-

Body mất rất nhiều thời gian (O(N?) Vi vây chúng ta cần nghiên củu một

phương nháp mới nhằm tăng tốc độ tính Loán oủa bài toán mô phỏng N-Body, đó

là tân đụng sức mạnh tỉnh toán của các bộ xử lý đỗ họa

Qua đề tài này, tôi đã tìm hiểu được môi trường tính toán hiệu năng cao trên

bộ xử lý đồ họa sử dụng công nghệ CUDA của hing nVidia, và bước đầu thử

nghiệm thánh công bài loán mỗ phỏng N-Đody

Nội dung luận văn bau gầm cú 6 chương chính:

Chương 1: Tính toán hiệu năng cao với các bộ xử lý dỗ họa

Chương 2: Kiến trúc Tesla va Méi traéng lap trinh song song CUDA

Chương 3: Bải toán mô phống N-Body

Chương 4: Mô phống N-Body với đơn GPU

Chương 5: Xây dựng giải thuật mô phỏng N-Pody với da GPU

Chương 6: Kết luận và hướng phát triển

Để hoàn thành đổ án tốt nghiệp “Vghiên cứu công nghệ Tính toán thông dụng trên các bộ xử lý đề họa và ứng dụng trong bài toứn mô phông N-Body",

tôi xin chân thành cảm ơn tới Tiến sỹ Nguyễn Hữu Đức — Thầy đã là người trực

tiếp hướng dẫn và giúp đỡ tôi Tôi cũng xin gửi lời cảm ơn tới các thầy cô, các

anh chị quản lý tại Trung tâm Tính toán hiệu năng cao, trưởng Đại học Bách

Trang 27

kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 28

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 29

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 30

kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 31

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 32

kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 33

5.3 Thiết kê giải thuật mô phỏng N-! Body trén hé thing da GPU

5.3.1 Su thue thi song song dau tiên

5.3.3 Tối ưu hóa giải thuật song song

Trang 34

LỜI MỞ ĐÀU

Trong vải năm gần đây, khái niệm tính toán thông dụng trên các bộ xử lý

đồ họa (GPGPU — (ieneral-Purpose Computing on Graphies Processing Units)

thu hút được nhiều sự quan tâm từ các nhà nghiên cửu phương pháp tính toán khoa học Những lý do căn bản cho mối quan tim nay 1a

s_ lIiệu năng tính toán của các bộ xử lý đồ hoa (GPU) ngay cảng vượt trội so

với oáo bộ xử lý trung tâm truyền thông

e Các hãng sản xuất hộ xử lý đỗ họa như nVidia, AMI liên tục đưa ra

những hệ thông phần mềm trung gian (midđleware) và 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ễ

đàng xây dựng các ứng dụng phi đồ họa trên các bộ xử lý đồ họa nảy

«_ Giá thành cũng như các chỉ phí năng lượng cho hoạt dông của các bộ xử lý

46 hoa thập hơn nhiều so với các hệ thống máy tính cùng chỉ số hiệu năng

lý thuyết

Cac GPU có khả năng Tỉnh toán thông dụng như vậy có mặt ử khắp nơi, từ

máy tính cơ quan cho tới trường học, đến máy tính nhà riêng của mọi người Sự

phat Iriển rộng rãi về mặt số lượng của các GPU nay dan đến một yêu cầu hết

sức cấp bách và đầy thách thức đối với công dỗng phát triển phần mềm (đặc biệt

là các phan mềm tính toán khoa hgc), dé 14 1am thế nào tận dụng được sức mạnh

song song của các GPU đối với những phần mềm ứng dụng dang và sẽ dược phát

triển trong một vài năm nữa

Trong bối cảnh đó, tôi đã lựa chọn dễ tài: *Nphiên cứu công nghệ Tính taán

thông dụng trên các bộ xử lý đồ họa và ứng dụng trong bài taản mô phông

Trang 35

CHUGNG 1 TINII TOAN IIIEU NANG CAO VOI GPU —

1.1 Tỉnh toán hiệu năng cao và vai trò ứng đụng trong thực tiễn 9 1.1.1 Thách thức tỉnh toán hiệu năng cao trong khoa học vả công nghề 10

1.2 Một số tiếp cân trong tính toán hiệu năng cao - - 12

1.2.1 Cáo hệ thống máy tính đa vi xử lý với mô hình Vip tinh song song chia sé

1.2.2 Cum máy tỉnh với mô hình lập trình song song truyền thông, diệp 14 1.2.3 Cáo bộ xử lý đồ họa với mô hình lập trình song song đỡ liệu 15

CITƯƠNG II GIỚI TIIfU KIÊN TRÚC TESIL.A VÀ MÔ IIÌNH LẬP

2.1 Giới thiệu kiến trúc phần cứng Tesla cla Nvidia (Vesta Architecture) 20 2.2 Kiến trúc tính toán trên GPU Tosla và mô hình lập trình song song CƯDA 21

2.2.1 Kiến trúc tính toán trên GPU Tesla ¬ ,_,,Ô

2.2.2 Mô hình lập trình song song CUDA " - 26

2.3.3 Quy trình cải đặt

CIHUGNG III BAI TOAN MO PIIONG N-BODY

Trang 36

kỳ

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(N?) performance) exist, but have not

‘been su

sÍully implomentod 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 thal supporl implementation of this solver

on highly-data-parallel graphics processing units (GPUs) ‘Ihe greatly reduced computation times suggest that this problem is ideally suited for the current and

next generations of single and cluster CPU-GPU architcctures We believe that

this is an ideal method for practical computation of large-scale turbulent flows

on future supercompuling hardware using parallel vortex particle methods

Trang 37

5.3 Thiết kê giải thuật mô phỏng N-! Body trén hé thing da GPU

5.3.1 Su thue thi song song dau tiên

5.3.3 Tối ưu hóa giải thuật song song

Ngày đăng: 22/06/2025, 04:17

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm