NGHIÊN CỨU CÁC GIẢI THUẬT SONG SONG TRÊN HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU ĐA LÕI

21 444 0
NGHIÊN CỨU CÁC GIẢI THUẬT SONG SONG TRÊN HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU ĐA LÕI

Đ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

Tìm hiểu các giải thuật và cách thiết kế mẫu trong tính toán song song. Tìm hiểu cấu trúc GPU và triển khai lập trình song song với CUDA. Phát biểu, phân tích, xây dựng và cài đặt bài toán so sánh trình tự bằng giải thuật song song trên thiết bị đồ họa GPU. Đánh giá kết quả.

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BẢO VỆ LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH NGHIÊN CỨU CÁC GIẢI THUẬT SONG SONG TRÊN HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU ĐA LÕI HVTH: TRƯƠNG VĂN HIỆU Lớp: KHMT-K19 (Khóa 2009-2011) CBHD: TS NGUYỄN THANH BÌNH Đà Nẵng, tháng 09/2011 NỘI DUNG TRÌNH BÀY Giới thiệu đề tài Cơ sở lý thuyết song song Giới thiệu GPU CUDA Giải Giảipháp phápgiải giải quyết bài toán toánso sosánh sánh trình trình tự tự Kết luận hướng phát triển 2/23 Giới thiệu đề tài Do nhu cầu tính toán ngày cao Công nghệ xử lý song song GPU đời Năm 2007, GPU NV30 NVIDIA đời Tăng tốc độ CPU Nhiệt độ CPU cao Phát triển công nghệ đa lõi, nhiều lõi CUDA phát triển ứng dụng song song: Điện toán hóa học, xếp, tìm kiếm, vật lý, y khoa… Quá trình tính toán cần phải có giải thuật song song hữu hiệu Đề tài: “nghiên cứu giải thuật song song hệ thống xử lý đồ họa GPU đa lõi” 3/23 Giới thiệu đề tài(tt)      Mục tiêu đề tài: Tìm hiểu giải thuật cách thiết kế mẫu tính toán song song Tìm hiểu cấu trúc GPU triển khai lập trình song song với CUDA Phát biểu, phân tích, xây dựng cài đặt toán so sánh trình tự giải thuật song song thiết bị đồ họa GPU Đánh giá kết Ý nghĩa thực tiễn: Việc nghiên cứu giải thuật song song hệ thống xử lý đồ họa GPU làm sở để giải số toán cần lượng tính toán lớn với liệu khổng lồ 4/23 Cơ sở lý thuyết song song Định nghĩa xử lý song song: trình xử lý gồm nhiều tiến trình kích hoạt đồng thời tham giải toán Nói chung, xử lý song song thực hệ thống đa xử lý  Phân biệt xử lý song song xử lý tuần tự: Trong tính toán với xử lý thời điểm thực phép toán Trong tính toá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 phép toán  5/23 Nguyên lý thiết kế giải thuật song song Phân chia liệu cho tác vụ Chỉ cách truy cập chia sẻ liệu Khi thiết kế giải thuật song song, cần phải thực Phân tác vụ cho tiến trình (cho xử lý) Các tiến trình đồng 6/23 Nhận thức vấn đề, chương trình song song hóa  Trước phát triển giải pháp song song cho toán  xác định vấn đề mà thực tế song song hóa hay không ?  Ví dụ vấn đề song song hóa được: tính tổng hai ma trận, nhân hai ma trận  Ví dụ vấn đề không song song hóa được: Tính n! n N* 7/23 Một số mô hình lập trình song song  Lập trình nhớ dùng chung  Lập trình truyền thông điệp  Mô hình song song liệu 8/23 Ví dụ thiết kế giải thuật song song cho toán tính tổng  Phát biểu toán: Tính tổng N số (n1, n2,…, nN) Giải pháp tuần tự: dùng vòng for  Giải pháp song song: Giả sử có N/2 xử lý Bước 1: tính (n1, n2), (n3, n4), …, (nN-1, nN)  Bước tiếp theo: tính N/4 cặp liệu… Qua logn bước tính toán xong 9/23 Giới thiệu GPU  GPU (Graphic Proccessing Unit): xử lý đồ họa 10/23 So sánh GPU CPU CPU: vi xử lý trung tâm dùng để tính toán xử lý chương trình, kiện điều phối hoạt động thiết bị khác  GPU: bộ vi xử lý chuyên xử lý liệu hình ảnh, đồ họa  Số phần tử toán học GPU nhiều hẳn CPU, GPU có khả xử lý song song hiệu 11/23 Giới thiệu CUDA CUDA: từ viết tắt thuật ngữ Compute Unified Device Architecture, kiến trúc thiết bị hợp cho tính toán  CUDA xuất từ 07/2007 đóng vai trò công cụ phát triển PM dựa ngôn ngữ C  Kiến trúc phần mềm CUDA 12/23 Cơ chế hoạt động chương trình CUDA Host: Là tác vụ cấu trúc phần cứng, phần mềm xử lý từ CPU  Divice: Là tác vụ cấu trúc phân cứng, phần mềm xử lý GPU Sơ đồ hoạt động truyền liệu Host,Device  B1: Dữ liệu tính toán nhớ Host  truyền liệu cần tính toán từ Host qua nhớ Device  B2: Sau Device tính toán liệu  trả nhớ Host  13/23 Ví dụ tính toán song song CUDA  Mô tả: cộng hai ma trận A[n][m] B[n][m], kết trả ma trận C[n][m]  Mô tả: Nhân hai ma trận A[n][k] B[k][m], kết trả ma trận C[n][m] 14/23 Một số định nghĩa so sánh trình tự So sánh trình tự: trình nghiên cứu giống chuỗi trình tự đo lường giống trình tự  Hệ thống kí tự = {A, C, G, T, λ} để biểu diễn ADN Ký tự λ gọi gap thay ‘-‘  15/23 Phát biểu toán so sánh trình tự  Mô tả toán: so sánh trình tự hai chuỗi S1 S2 tạo hai chuỗi S1’ S2’ cách thêm ký tự gap “-“ vào S1 S2, đó: |S1’|=|S2’|  Ví dụ: so sánh hai trình tự ACGCTG CATGT Tiêu chí đánh giá: Nếu hai thành phần chuỗi giống hàm đánh giá có kết +2, hai thành phần chuỗi khác hàm đánh giá vị trí có kết -1 Kết quả: hàm đánh giá là: 3*(2)+(-1)*5=1   16/23 Xây dựng giải thuật quy hoạch động  Xây dựng ma trận đánh giá công thức S(i, j) = max { S(i-1, j-1) + σ(S1[i], S2[ j]) , S(i-1, j) r , S(i, j-1) - r }, với i > 0, j > 2 a=b  Hàm đánh giá: σ ( a, b ) =  − a ≠ b 17/23 Xây dựng giải thuật pp song song  Nhận xét: Tại bước xây dựng ma trận đánh giá ta nhận thấy tính giá trị cho phần tử nằm đường chéo phụ không phụ thuộc lẫn nhau, tính toán riêng rẽ phần tử luồng khác  Với phần tử đường chéo tính luồng riêng Như đường chéo có n phần tử cần n luồng để tính giá trị cho đường chéo 18/23 Kết  Kết chạy thực nghiệm phương pháp quy hoạch động song song CPU core i5 2.5GHz GPU GeForce 310M NVIDIA 19/23 Hướng phát triển  Cần thử nghiệm hệ thống thiết bị đồ họa GPU có lực tính toán mạnh hơn, áp dụng với liệu lớn để đánh giá độ so khớp tin cậy  Nghiên cứu cải tiến thêm giải thuật để chương trình chạy nhanh hơn, nhằm nâng cao hiệu suất tính toán với khối lượng đầu vào lớn  Xây dựng giao diện đồ họa trực quan để dễ dàng tương tác với người dùng Chuyển ứng dụng lên trang web nhằm giúp người lĩnh vực tin sinh học có công cụ hỗ trợ để nghiên cứu 20/23 21/23 [...]...So sánh GPU và CPU CPU: bộ vi xử lý trung tâm dùng để tính toán và xử lý các chương trình, dữ kiện và điều phối hoạt động các thiết bị khác  GPU: bộ vi xử lý chuyên xử lý các dữ liệu về hình ảnh, đồ họa  Số phần tử toán học GPU nhiều hơn hẳn CPU, cho nên GPU có khả năng xử lý song song hiệu quả 11/23 Giới thiệu CUDA CUDA: từ viết tắt của thuật ngữ Compute Unified Device... song song trên CPU core i5 2.5GHz và GPU GeForce 310M của NVIDIA 19/23 Hướng phát triển  Cần thử nghiệm trên các hệ thống thiết bị đồ họa GPU có năng lực tính toán mạnh hơn, áp dụng với dữ liệu lớn hơn để đánh giá độ so khớp tin cậy hơn  Nghiên cứu cải tiến thêm giải thuật để chương trình chạy nhanh hơn, nhằm nâng cao hiệu suất và có thể tính toán với khối lượng đầu vào lớn  Xây dựng giao diện đồ. .. giá trên công thức S(i, j) = max { S(i-1, j-1) + σ(S1[i], S2[ j]) , S(i-1, j) r , S(i, j-1) - r }, với i > 0, j > 0 2 a=b  Hàm đánh giá: σ ( a, b ) =  − 1 a ≠ b 17/23 Xây dựng giải thuật bằng pp song song  Nhận xét: Tại bước xây dựng ma trận đánh giá ta nhận thấy khi tính giá trị cho các phần tử nằm trên đường chéo phụ không phụ thuộc lẫn nhau, do đó có thể tính toán riêng rẽ từng phần tử trên. .. Host  13/23 Ví dụ tính toán song song bằng CUDA  Mô tả: cộng hai ma trận A[n][m] và B[n][m], kết quả trả về ma trận C[n][m]  Mô tả: Nhân hai ma trận A[n][k] và B[k][m], kết quả trả về ma trận C[n][m] 14/23 Một số định nghĩa so sánh trình tự So sánh trình tự: là quá trình nghiên cứu sự giống nhau giữa các chuỗi trình tự và đo lường sự giống nhau giữa các trình tự  Hệ thống kí tự = {A, C, G, T, λ}... tính toán  CUDA xuất hiện từ 07/2007 đóng vai trò là bộ công cụ phát triển PM dựa trên ngôn ngữ C  Kiến trúc bộ phần mềm CUDA 12/23 Cơ chế hoạt động chương trình CUDA Host: Là những tác vụ và cấu trúc phần cứng, phần mềm được xử lý từ CPU  Divice: Là những tác vụ và cấu trúc phân cứng, phần mềm được xử lý tại GPU Sơ đồ hoạt động truyền dữ liệu Host,Device  B1: Dữ liệu tính toán tại bộ nhớ của Host... chuỗi S1’ và S2’ bằng cách thêm các ký tự gap “-“ vào S1 và S2, trong đó: |S1’|=|S2’|  Ví dụ: so sánh hai trình tự ACGCTG và CATGT Tiêu chí đánh giá: Nếu hai thành phần trong chuỗi là giống nhau thì hàm đánh giá sẽ có kết quả +2, nếu hai thành phần trong chuỗi khác nhau thì hàm đánh giá tại vị trí này sẽ có kết quả -1 Kết quả: hàm đánh giá là: 3*(2)+(-1)*5=1   16/23 Xây dựng giải thuật bằng quy hoạch... chương trình chạy nhanh hơn, nhằm nâng cao hiệu suất và có thể tính toán với khối lượng đầu vào lớn  Xây dựng giao diện đồ họa trực quan để dễ dàng tương tác với người dùng Chuyển ứng dụng này lên trang web nhằm giúp mọi người trong lĩnh vực tin sinh học có công cụ hỗ trợ để nghiên cứu 20/23 21/23 ... thuyết song song Định nghĩa xử lý song song: trình xử lý gồm nhiều tiến trình kích hoạt đồng thời tham giải toán Nói chung, xử lý song song thực hệ thống đa xử lý  Phân biệt xử lý song song xử lý. .. học, xếp, tìm kiếm, vật lý, y khoa… Quá trình tính toán cần phải có giải thuật song song hữu hiệu Đề tài: nghiên cứu giải thuật song song hệ thống xử lý đồ họa GPU đa lõi 3/23 Giới thiệu đề... bị đồ họa GPU Đánh giá kết Ý nghĩa thực tiễn: Việc nghiên cứu giải thuật song song hệ thống xử lý đồ họa GPU làm sở để giải số toán cần lượng tính toán lớn với liệu khổng lồ 4/23 Cơ sở lý

Ngày đăng: 24/12/2015, 00:06

Từ khóa liên quan

Mục lục

  • BẢO VỆ LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH

  • NỘI DUNG TRÌNH BÀY

  • Giới thiệu đề tài

  • Giới thiệu đề tài(tt)

  • Cơ sở lý thuyết song song

  • Nguyên lý thiết kế giải thuật song song

  • Nhận thức vấn đề, chương trình có thể song song hóa

  • Một số mô hình lập trình song song

  • Ví dụ thiết kế giải thuật song song cho bài toán tính tổng

  • Giới thiệu GPU

  • So sánh GPU và CPU

  • Giới thiệu CUDA

  • Cơ chế hoạt động chương trình CUDA

  • Ví dụ tính toán song song bằng CUDA

  • Một số định nghĩa so sánh trình tự

  • Phát biểu bài toán so sánh trình tự

  • Xây dựng giải thuật bằng quy hoạch động

  • Xây dựng giải thuật bằng pp song song

  • Kết quả

  • Hướng phát triển

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

Tài liệu liên quan