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

71 278 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRƯƠNG VĂN HIỆU 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 LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2011 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRƯƠNG VĂN HIỆU 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 Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số : 60.48.01 LUẬN VĂN THẠC SĨ KỸ THUẬT Người hướng dẫn khoa học: TS Nguyễn Thanh Bình Đà Nẵng - Năm 2011 LỜI CAM ĐOAN Tôi xin cam đoan: a Những nội dung luận văn thực hướng dẫn trực tiếp TS Nguyễn Thanh Bình b Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên công trình, thời gian địa điểm công bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hoàn toàn trách nhiệm Tác giả Trương Văn Hiệu MỤC LỤC LỜI CAM ĐOAN iii MỤC LỤC .iv DANH MỤC BẢNG .vi vi DANH MỤC HÌNH vii MỞ ĐẦU .ix CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 GIỚI THIỆU ĐẠI CƯƠNG VỀ TÍNH TOÁN SONG SONG 1.1.1 Tổng quan tính toán song song 1.1.2 Phân loại kiến trúc song song 1.1.3 Các mô hình lập trình song song .6 1.1.4 Đánh giá hiệu tính toán song song 1.2 THIẾT KẾ GIẢI THUẬT SONG SONG(7) 14 1.2.1 Nguyên lý thiết kế giải thuật song song 14 1.2.2 Thiết kế giải thuật song song phân rã phục thuộc liệu 15 1.2.3 Giải thuật xếp so sánh đổi chỗ 16 1.2.4 Thiết kế giải thuật song song phương pháp chia để trị 18 1.2.5 Thiết kế giải thuật song song cho toán tính tổng 20 1.2.6 Song song hóa toán 23 1.2.7 Mẫu thiết kế giải thuật song song phương pháp nhị phân 24 1.3 PHÁT BIỂU MỘT SỐ BÀI TOÁN TÍNH TOÁN SONG SONG(7) .25 1.3.1 Thuật toán xếp 25 1.3.2 Thuật toán nhân hai ma trận 25 1.3.3 Tích vô hướng hai vector 25 1.3.4 Bài toán tổng 25 1.4 TỔNG KẾT CHƯƠNG 25 CHƯƠNG 2: CẤU TRÚC HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU VÀ CÔNG NGHỆ TÍNH TOÁN HỖ TRỢ SONG SONG DỮ LIỆU CUDA(25) 26 2.1 CẤU TRÚC HỆ THỐNG XỬ LÝ ĐỒ HỌA GPU(12) 26 2.1.1 Giới thiệu công nghệ GPU (2) .26 2.1.2 Kiến trúc GPU (4)[chưa] .26 2.1.3 So sánh GPU CPU (3) 32 2.2 CÔNG NGHỆ TÍNH TOÁN HỖ TRỢ SONG SONG DỮ LIỆU CUDA 33 2.2.1 Giới thiệu công nghệ CUDA 33 2.2.3 Ứng dụng CUDA lĩnh vực công nghệ (4) 36 2.2.4 Môi trường lập trình với CUDA (6) 41 2.2.5 Ví dụ tính toán song song CUDA 46 2.3 TỔNG KẾT CHƯƠNG 46 CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ÁP DỤNG GIẢI THUẬT SONG SONG TRÊN HỆ THỐNG ĐA LÕI XỬ LÝ ĐỒ HỌA GPU CHO BÀI TOÁN BẮT CẶP TRÌNH TỰ (30) 47 3.1 GIỚI THIỆU .47 3.1.1 Trình tự 47 3.1.2 Sắp hàng trình tự 49 3.1.3 Sắp hàng trình tự hệ gen 52 3.2 PHÁT BIỂU VỀ MỘT BÀI TOÁN BẮT CẶP TRÌNH TỰ 55 3.2.1 Mô tả toán thực tế 55 3.2.2 Phát biểu toán cho số trường hợp đơn giản, đưa hướng giải 55 3.2.3 Đưa dạng toán học 55 3.3 THIẾT KẾ GIẢI THUẬT SONG SONG TRÊN BÀI TOÁN BẮT CẶP TRÌNH TỰ 55 3.3.1 Xây dựng giải thuật .56 3.3.2 Đưa kết dự kiến 56 3.4 CÀI ĐẶT GIẢI THUẬT TRÊN CUDA 56 3.4.1 Cài đặt giải thuật 56 3.5 ĐÁNH GIÁ KẾT QUẢ CHẠY CHƯƠNG TRÌNH 56 3.5.1 Kết cho trường hợp 56 3.5.2 Phân tích ưu điểm, nhược điểm .56 3.5.3 So sánh với phương pháp khác .56 3.6 KẾT QUẢ CHƯƠNG TRÌNH 56 3.7 ĐÁNH GIÁ KẾT QUẢ .56 3.8 TỔNG KẾT CHƯƠNG 56 56 KẾT LUẬN 57 DANH MỤC TÀI LIỆU THAM KHẢO 58 DANH MỤC BẢNG Bảng 1.1 Mô tả phân loại kiến trúc Flynn Bảng 1.1 Sắp xếp theo nguyên lý hình ống 17 DANH MỤC HÌNH Hình 1.1 Mô tả kiến trúc Von Neumann Hình 2.1 Mô hình kiến trúc máy SISD .4 Hình 3.1 Mô hình kiến trúc máy SIMD .5 Hình 4.1 Mô hình kiến trúc máy MISD .5 Hình 5.1 Mô hình kiến trúc máy MIMD Hình 1.1 Mô tả lập trình tác vụ dùng chung nhớ Hình 2.1 Mô hình lập trình truyền thông hai tác vụ hai máy tính Hình 3.1 Mô hình lập trình song song liệu Hình 1.1 Mô tả mối quan hệ tham số công thức tính thời gian truyền thông Hình 1.2 Kỹ thuật xen kẽ tính toán truyền thông P1 P2 11 Hình 1.1 Thí nghiệm tính số PI 19 Hình 1.1 Mẫu nhị phân tính tổng N số .24 Hình 1.1 So sánh kiến trúc CPU GPU 32 Hình 1.2 So sánh floating-point GPU CPU 33 Hình 1.1 Kiến trúc phần mềm CUDA 34 Hình 1.2 Các thao tác thu hồi cấp phát nhớ 35 Hình 1.3 Vùng nhớ dùng chung mang liệu gần ALU 35 Hình 1.1 PhysX quy trình hiển thị hình ảnh game 37 Hình 1.2 Các tính PhysX SDK mang lại cho hiệu ứng game 38 Hình 2.1 Các thành tựu CUDA đạt với ứng dụng cho người dùng thông thường 39 Hình 2.2 Bodaboom chuyển đổi media nhanh giới 41 Hình 2.3 CUDA với ứng dụng hình ảnh cho người dùng bình thường 41 Hình 5.1 Hình chưa có 44 Hình 6.1 Sơ đồ hoạt động truyền liệu Host Device 46 Hình 1.1 Ví dụ trình tự Hình cùng: đoạn 18S rDNA sâu bọ khác cánh Hình trên: Tổng quát thể động vật chân dốt Hình dưới: Orthopteran stridulation Hình cùng: Đoạn gen mtDNA [13] 48 Hình 1.1 Các biến đổi mức độ gen Người Khỉ 53 MỞ ĐẦU Nhu cầu tính toán lĩnh vực khoa học, công nghệ ngày cao trở thành thách thức lớn, từ giải pháp nhằm tăng tốc độ tính toán đời, từ năm 2001 đến năm 2003 tốc độ Pentium đă tăng gấp đôi từ 1.5GHz lên đến 3GHz, nhiên hiệu CPU (Central Processing Unit) không tăng tương xứng mức gia tăng xung CPU, việc gia tăng tốc độ xung CPU nhanh chóng chạm phải ngưỡng tối đa mà cụ thể khoảng thời gian năm từ năm 2003 đến năm 2005 tốc độ CPU tăng từ 3GHz lên 3.8GHz Trong trình tăng tốc độ xung CPU nhà sản xuất chạm phải vấn đề nhiệt độ CPU cao giải pháp tản nhiệt khí đến mức tới hạn đáp ứng khả làm mát CPU hoạt động xung cao Vì việc gia tăng xung hoạt động CPU không sớm muộn vào bế tắc Trước tình hình này, nhà nghiên cứu vi xử lý chuyển hướng sang phát triển công nghệ đa lõi, nhiều lõi, với chế xử lý song song máy tính nhằm tăng hiệu tiết kiệm lượng Một công nghệ xử lý song song đời GPU(Graphisc Processing Unit - xử lý đồ họa) Ban đầu, việc chế tạo GPU với mục đích công việc phù hợp với khả tăng tốc độ xử lý đồ họa, ngành game chủ yếu Nhưng đến thời điểm GPU NV30 nVIDIA đời, GPU bắt đầu tham gia vào công việc khác đồ họa như: hỗ trợ tính toán dấu chấm động đơn, hỗ trợ tính toán lên ngàn lệnh Vì nảy sinh ý tưởng dùng GPU để xử lý, tính toán song song chương trình không thuộc đồ họa Câu hỏi đặt làm để ứng dụng GPU vào việc xử lý tính toán song song? Câu hỏi nhanh chóng giải công nghệ CUDA (Compute Unified Device Architecture – kiến trúc thiết bị hợp cho tính toán) NVIDIA đời năm 2007 Với CUDA, lập trình viên nhanh chóng phát triển ứng dụng song song nhiều lĩnh vực khác như: điện toán hóa học, xếp, tìm kiếm, mô mô hình vật lý, chuẩn đoán y khoa, thăm dò dầu khí, v.v …CUDA công cụ phát triển phần mềm GPU xây dựng ngôn ngữ lập trình C Với CUDA lập trình viên dùng để điều khiển GPU để xử lý, tính toán song song liệu lớn Việc tăng tốc trình tính toán đòi hỏi GPU khả xử lý tốc độ cao, với liệu khổng lồ mà cần phải có thuật toán song song hữu hiệu Xuất phát từ nhu cầu chọn đề tài: “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” Mục tiêu nhiệm vụ nghiên cứu Để hoàn thành mục đích ý tưởng đề cần nghiên cứu nội dung sau : - Tìm hiểu thuật toán tính toán song song, cách thiết kế mẫu tính toán song song - Tìm hiểu cấu trúc GPU - Tìm hiểu triển khai lập trình song song với CUDA - Phát biểu, phân tích, cài đặt thuật toán cho toán đặt - Xây dựng thuật toán ứng dụng áp dụng thuật toán tính toán song song card đồ họa GPU - Đánh giá kết theo yêu cầu đề tài Đố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ật loại nghiên cứu ứng dụng, giới hạn nghiên cứu vấn đề sau: - 45 chương trình không thống tranh chấp vùng nhớ trình đọc lưu liệu Điều buộc trình biên dịch phải chọn giải pháp an toàn truy cập liệu, điều biến chương trình song song theo mô hình SIMD biến thành mô hình nối tiếp Kích thước kiểu liệu quan trọng việc truy cập data cách thống (coalescing) kích thước liệu phải 4,8,16 bytes Ngoài số lệnh tính toán lớn ta nên copy liệu từ nhớ chung (global memory) vào nhớ chia sẻ (shared memory) để hạn chế việc truy cập thường xuyên vào nhớ chung làm chậm chương trình (do việc truy cập vào nhớ chung nhiều thời gian truy cập vào nhớ chia sẻ) Pattern chương trình cuda thường sử dụng hai hàm (một hàm dành cho việc truy cập liệu hàm lại thường gọi hàm kernel dùng cho việc xử lý liệu) Để hiểu cách hoạt động chương trình cuda ta cần thống số khái niệm sau 22 Host: tác vụ cấu trúc phần cứng, phần mềm xử lý từ CPU 23 Divice: tác vụ cấu trúc phân cứng, phần mềm xử lý GPU - 46 - Hình 6.1 Sơ đồ hoạt động truyền liệu Host Device Cách hoạt động mô tả sau: 24 Bước 1: Dữ liệu cần tính toán nhớ Host bước truyền liệu cần tính toán từ nhớ Host qua nhớ Device 25 Bước 2: Sau Device gọi hàm riêng để tính toán liệu Sau tính toán xong, liệu cần trả lại cho nhớ Host 2.2.5 Ví dụ tính toán song song CUDA 2.2.5.1 Cộng hai ma trận 26 Mô tả toán: cộng hai ma trận A[n][m] B[n][m], kết trả ma trận C[n][m] 27 Chương trình: cộng hai ma trận A[n][m] B[n][m], kết trả ma trận C[n][m] 2.2.5.2 Nhân hai ma trận 2.3 TỔNG KẾT CHƯƠNG - 47 - CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ÁP DỤNG GIẢI THUẬT SONG SONG TRÊN HỆ THỐNG ĐA LÕI XỬ LÝ ĐỒ HỌA GPU CHO BÀI TOÁN BẮT CẶP TRÌNH TỰ (30) Lời mở đầu cho chương 3.1 GIỚI THIỆU Phần giới thiệu kiến thức tin sinh học, toán bắt cặp trình tự bắt cặp trình tự theo hệ gen 3.1.1 Trình tự Một hệ gen sinh vật thể trình tự ADN Trình tự dãy tuyến tính phần tử sặp xếp theo thứ tự Như trình tự chứa hai loại thông tin: thông tin phần tử thông tin định vị - thông tin vị trí tương đối phần tử so với phần tử khác Các thông tin định vị xác định theo nhiều cách theo trục, theo thời gian, vị trí nhiễm sắc thể vòng protein - 48 - Hình 1.1 Ví dụ trình tự Hình cùng: đoạn 18S rDNA sâu bọ khác cánh Hình trên: Tổng quát thể động vật chân dốt Hình dưới: Orthopteran stridulation Hình cùng: Đoạn gen mtDNA [13] Các loài sinh vật tiến hóa từ tổ tiên chung, biến đổi qua dạng hình thái trình tiến hóa phát triển Khi đề cập đến trình tự, có ba vấn đề cần phải nói đến hệ thống ký tự trình tự, phép biến đổi trình tự hàm khoảng cách đánh giá thay đổi trình tự 3.1.1.2 Hệ thống ký tự Tập hợp phần tử xuất trình tự gọi hệ thống ký tự ( ∑ ) , ADN, người ta sử dụng thệ thống kí tự ∑ = {A, C, G, T, λ ) A, C, G, T đại diện cho nucleotides : adenine (A), cytosine (C), guanine (G) thymine (T) λ ký tự đặc biệt đại diện cho khoảng trống vị trí mà nucleotide thực tế Trong hầu hết trường hợp, ký tự gap (‘-‘) có - 49 thể sử dụng để thay cho λ Bất kỳ trình tự thể phần tử xuất trình tự định nghĩa ∑ 3.1.1.3 Các phép biến đổ Trong trình tiến hóa, có phương thức để biến đổi trình tự phép thay thế, phép chèn – xóa, đảo ngược dịch chuyển Biến đổi phức tạp xảy kết hợp phép đảo ngược dịch chuyển, kết hợp gây khó khăn việc dựng lại mối quan hệ trình tự hệ thống phân tích phức tạp Phép thay thế: Phép chèn – xóa: Phép đảo ngược: Phép dịch chuyển: 3.1.1.4 Khoảng cách Một điều quan trọng cần thiết xây dựng hàm mục tiêu đánh giá khoảng cách hai trình tự, qua đánh giá tương đồng, mối quan hệ hai hệ gen Khoảng cách tính toán theo số hàm thay thế, chèn, xóa làm biến đổi trình tự thành trình tự khác Khoảng cách hai trình tự tính đơn giản chi phí thay (Hamming Hamming [10]) trình tự có độ dài hay phức tạp bao gồm chi phí chèn – xóa dịch chuyển 3.1.2 Sắp hàng trình tự Sắp hàng trình tự thủ tục quan trọng Tin sinh học, xem tảng cho tất thủ tục khác Vấn đề đặt tạo hàng nucleotide thông qua việc chèn ký tự gap, làm cho khoảng cách hai trình tự tức chi phí sửa chữa (là tổng chi phí cho kiện chèn – xóa, thay nucleotide) hai trình tự nhỏ (hoặc lớn nhất) - 50 Đầu vào trình tự X = (x1, x2, …xp) Y = (y1, y2, …yq), hàng trình tự X Y cách chèn kí tự trống vào hai trình tự X Y cho chúng có độ dài khoảng cách (chi phí sửa chữa) hai trình tự nhỏ (hoặc lớn nhất) Các thuật toán quy hoạch động cho việc hàng chuỗi ký tự trình bày Levenshtein [14], với độ phức tạp thời gian nhớ O(n2) Needleman Wunsch [16] lần áp dụng thuật toán vào lĩnh vực Tin sinh học năm 1970 Yêu cầu nhớ giảm xuống O(n) Hirschberg[12] thời gian chạy O(n 2) Những cải tiến Ukkonen [21,22] với cặp trình tự có khoảng cách độ dài d, thuật toán yêu cầu thời gian O(nd) cho trường hợp xấu độ phức tạp thời gian trung bình O(d 2+n) Thuật toán Quy hoạch động tính toán chi phí bắt cặp theo công thức sau: (1) Cost[i][j] chi phí bắt tới vị trí i trình tự vị trí j trình tự 2, σi,j chi phí thay nucleotide vị trí thứ i trình tự vị trí j trình tự 2, σindex chi phí chèn- xóa nucleotide Pairwise Alignment by Needleman and Wunsch Cost[0][0] ← {Khởi tạo cột đầu tiên} for i = to |X| - 51 - Cost[i][0] ← Cost[i-1][0] + σindex {Khởi tạo hàng đầu tiên} for j = to |Y| Cost[0][i] ← Cost[0][j-21] + σindex {Quy hoạch động} for i = to |X| for j = to |Y| ins ← Cost[i-1][j] + σindex del ← Cost[i][j-1] + σindex sub ← Cost[i-1][j-1] + σi,j Cost[i-1][j-1] ← min(ins, del, sub) end for end for return Cost[|X|][|Y|] Thuật toán Needleman – Wunsch hoạt động mà chi phí cho việc chèn – xóa nucleotide trọng số cố định Tức chi phí cho việc chèn đoạn gap có độ dài k wk = kw1 Trên thực tế, việc tính toán chi phí chèn – xóa thường phức tạp hơn, bao gồm chi phí cho việc bắt đầu mở rộng đoạn gap Waterman [25], tiến hành thực nghiệm khối lượng lớn trình tự với trọng số cho việc chèn gap wk ≤ kw1 với độ phức tạp thời gian O(n3) Lý việc tăng độ phức tạp thời gian việc bổ sung thêm việc tính toán chi phí chèn – xóa gap trường hợp Công thức đưa ra: - 52 - (2) Trong P[i][j] Q[i][j] chi phí chèn xóa vị trí ( i , j) Trong trường hợp đặc biệt, chi phí chèn gap hàm tuyến tính w k = uk +v v gọi chi phí bắt đầu đoạn gap v chi phí mở rộng đoạn gap Gotoh (1982) [9] đưa công thức tính toán tối ưu hóa việc tính toán ma trận P Q giảm độ phức tạp thời gian xuống O(n 2) Công thức mà Gotoh đưa : (3) 3.1.3 Sắp hàng trình tự hệ gen Trong trình tiến hóa sinh vật, bên cạnh biến đổi mức độ điểm (sự thay chèn – xóa nucleotide) có biến đổi mức độ gen Có phép biến đổi mức độ gen phép chèn gen, xóa gen dịch chuyển gen Hình mô tả ví dụ biến đổi mức độ gen Người Khỉ Ta thấy gen số bị dịch chuyển, nằm đầu hệ gen Người lại nằm cuối hệ gen Khỉ Ngoài ra, gen số tồn Khỉ không tồn Người Tức bị xóa khỏi hệ gen Người chèn thêm vào hệ gen Khỉ Do ta không phân biệt phép chèn gen, xóa gen, ta gọi chung phép chèn/xóa gen Trải qua hàng triệu năm tiến hóa, với biến đổi - 53 mức độ gen, hệ gen sinh vật ngày có khác lớn kích thước, số lượng gen, thứ tự gen nội dung gen Hình 1.1 Các biến đổi mức độ gen Người Khỉ Sắp hàng trình tự hệ gen trường hợp riêng hàng trình tự, đầu vào toàn trình tự ADN hệ gen sinh vật Sắp hàng trình tự hệ gen giúp xây dựng tranh toàn cảnh tương tự tiến hóa sinh vật, sở cho hướng nghiên cứu Comparative genomics [4], cho phép nâng cao độ xác dự đoán gen Về mặt tính toán, bắt cặp hệ gen đặt nhiều vấn đề cần giải kích thước trình tự lớn, thứ tự phần tương đồng hệ gen thường thay đổi Do tính quan trọng đặc thù phương pháp, vấn đề so sánh hàng trình tự hệ gen trình bày thành phần riêng, tách khỏi hàng trình tự nói chung Các thuật toán hàng trình tự thông thường xác định biến đổi mức độ điểm (sự biến đổi nucleotide) làm việc với liệu nhỏ Khi nghiên cứu việc hàng trình tự theo hệ gen, phải tính toán biến đổi mức độ điểm lẫn mức độ gen Đặc biệt thời gian thực thi vấn đề quan trọng kích thước lớn hệ gen Ví dụ kích thước hệ gen người lên tới tỉ ADN Một hệ thống hàng hệ gen BLASTZ [18] phát triển bới nhóm Webb Miller vào đầu năm 2000 đại học Pennsylvania để hàng hệ gen người chuột Cũng phương pháp hàng hệ gen khác, Phương pháp BLASTZ phát triển từ tư tưởng thuật toán tìm kiếm BLAST [2] (thuật toán xác định đoạn giống cao hai chuỗi) Tư tưởng chung thuật toán gồm ba bước: - 54 • Bước 1: Tìm kiếm cặp đoạn ADN ngắn giống hai hệ gen gọi hạt giống (seed) Những đoạn có độ dài vào khoảng đến 13 ADN gọi seed Để thực việc tìm kiếm này, sử dụng nhiều kỹ thuật khác bảng băm, hậu tố (suffix tree) • Bước 2: Mở rộng hạt giống hai phía cho trình mở rộng chi phí không vượt qua ngưỡng cho trước Quá trình mở rộng không cho phép chèn gap • Bước 3: Tiến hành nối cặp ADN mở rộng bước lại với để tạo thành cặp ADN lớn hơn, bước phép chèn thêm gap Sau nối, cặp ADN đánh giá độ tương đồng Các nghiên cứu tập trung vào cải tiến bước thứ bước thứ Nổi bật nghiên cứu Aaron Darling đồng nghiệp đại học Wisconsin– Madison việc cải tiến cách xác định hạt giống bước Họ định nghĩa hạt giống cặp ADN giống xuất hệ gen Nhóm tác giả xây dựng hệ thống MAUVE để hàng đa hệ gen thu kết có độ xác cao hệ gen có độ tương đồng cao [1] Bên cạnh đó, nhóm tác giả Michael Brudno đại học Standford tập trung vào cải tiến bước để kết nối đoạn ADN phát triển hệ thống SLAGAN [5] Nhóm tác giả áp dụng phương pháp quy hoạch động để tìm cách kết nối đoạn ADN tốt nhất, cho phép đoạn ADN phép dịch chuyển đảo chiều Kết so sánh hai hệ thống MAUVE SLAGAN cho thấy MAUVE tốt SLAGAN tập liệu có độ tương đồng cao, SLAGAN cho kết tốt MAUVE tập liệu tồn nhiều phép thay ADN mức độ điểm phép đảo chiều đoạn ADN mức độ gen Mặc dù số phương pháp nghiên cứu phát triển, chúng tập trung vào xác định bắt cặp cho vùng ADN có độ tương đồng cao hai hệ gen Tức là, phần lớn hệ gen không bắt cặp so sánh ta tiến hành với loài sinh vật có hệ gen khác nhiều Để giải vấn đề trên, nghiên cứu TS Lê Sỹ Vinh đồng nghiệp Bảo - 55 Tàng Lịch Sử Tự Nhiên Hoa Kỳ, trường Đại Học Công Nghệ nhằm so sánh hàng toàn hệ gen tiến hành cho kết thử nghiệm khả quan [23,24] Nhóm nghiên cứu định nghĩa việc hàng toàn hệ gen phải thỏa mãn ba điều kiện sau: • Xác định phép biến đổi mức độ gen (chèn, xóa, dịch chuyển vị trí) • Xác định phép biến đổi mức độ điểm (thay thế, chèn, xóa) • Bắt cặp toàn ADN hệ gen Hệ thống bắt cặp thỏa mãn ba điều kiện cho phép bắt cặp gen với mức độ tương đồng khác Để đáp ứng ba yêu cầu trên, Vinh đồng nghiệp nghiên cứu cách kết hợp điểm phạt cho phép biến mức độ điểm, phép biến đổi mức độ gen vào thành hệ thống tính điểm phạt chung Điều cho phép xây dựng hàm tục tiêu rõ ràng để tìm cách bắt cặp toàn hệ gen tốt Kết thí nghiệm với 760 gen ty thể loài động vật cho thấy hệ thống tính điểm cho kết tốt [23] Sử dụng phương pháp bắt cặp toàn hệ gen, nhóm tác giả xây dựng trình tiến hóa 11 Corona vi rút tái khẳng định lại kết luận vi rút Corona gây dịch bệnh hô hấp cấp (SARs) có chung nguồn gốc với vi rút Corona loài dơi loài chồn hôi (canivor) [24] 3.2 PHÁT BIỂU VỀ MỘT BÀI TOÁN BẮT CẶP TRÌNH TỰ 3.2.1 Mô tả toán thực tế 3.2.2 Phát biểu toán cho số trường hợp đơn giản, đưa hướng giải 3.2.3 Đưa dạng toán học 3.3 THIẾT KẾ GIẢI THUẬT SONG SONG TRÊN BÀI TOÁN BẮT CẶP TRÌNH TỰ - 56 3.3.1 Xây dựng giải thuật 3.3.2 Đưa kết dự kiến 3.4 CÀI ĐẶT GIẢI THUẬT TRÊN CUDA 3.4.1 Cài đặt giải thuật 3.4.2 3.5 ĐÁNH GIÁ KẾT QUẢ CHẠY CHƯƠNG TRÌNH 3.5.1 Kết cho trường hợp 3.5.2 Phân tích ưu điểm, nhược điểm 3.5.3 So sánh với phương pháp khác 3.6 KẾT QUẢ CHƯƠNG TRÌNH 3.7 ĐÁNH GIÁ KẾT QUẢ 3.8 TỔNG KẾT CHƯƠNG - 57 - KẾT LUẬN ĐÁNH GIÁ KẾT QUẢ 28 Kết đạt 29 Nhận xét 30 Ưu điểm 31 Nhược điểm - 10.PHẠM VI ỨNG DỤNG 11.HƯỚNG PHÁT TRIỂN - 58 - DANH MỤC TÀI LIỆU THAM KHẢO 32 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] Tập chí CGEZINE X4, TP Hồ Chí Minh, tháng năm 2010 [3] [3nhap] Bài luận văn Nguyễn Thị Thùy Linh, Tính toán hiệu cao với xử lý đồ họa GPU ứng dụng (Bảo vệ 6/1/2010) [4] Ngô Quốc Vinh, Hướng dẫn cách thiết lập dự án CUDA, Kyoto-Japan 2008 [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 33 Tiếng Anh [6] Alfred J Menezes, Paul C Van Oorschot, Scott A Vanstone (1997), Handbook of Applied Cryptography, CRC Press, 34 Trang Web [7] Trang web http://www.cgnewspaper.com/vi [8] Đoạn phim http://www.youtube.com/v/ZrJeYFxpUyQ [9] Website: http://www.google.com [10] Website: http://www.nvidia.com/physX [11] Website: http://developer.nvidia.com/object/physx.html [12] http://www.nvidia.com/object/cuda_gpus.html - 59 - [...]... tính nhiều bộ xử lý song song, cũng như trong mô hình mạng máy tính xử lý song song thì các giải thuật tuần tự không còn phù hợp nữa cho nên việc xây dựng thiết kế giải thuật song song là điều quan trọng Giải thuật song song có thể phân rã công việc trên các phần tử xử lý khác nhau 1.1.1.2 Một số khái niệm xử lý song song 7 Định nghĩa xử lý song song Xử lý song song là quá trình xử lý gồm nhiều tiến... thống xử lý đồ họa GPU và công nghệ tính toán hỗ trợ song song dữ liệu CUDA … Chương 3: Xây dựng ứng dụng áp dụng giải thuật song song trên hệ thống đa lõi xử lý đồ họa GPU cho bài toán bắt cặp trình tự … -1- CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Trong chương này đề cập sơ lược đến các vấn đề cơ bản trong tính toán song song như: phân loại kiến trúc song song, mô hình lập trình song song, các mẫu thiết kế giải thuật. .. pháp nghiên cứu lý thuyết - Nghiên cứu lý thuyết về tính toán song song, các giải thuật tính toán song song - Nghiên cứu lý thuyết về cơ chế hoạt động tính toán trong GPU 4 Phương pháp nghiên cứu thực nghiệm Sử dụng phương pháp nghiên cứu lý thuyết kết hợp với nghiên cứu thực nghiệm: - Thiết kế giải thuật song song và cài đặt trên CUDA, … - Triển khai xây dựng ứng dụng - Chạy thử nghiệm và lưu trữ các. .. quả 4 Kết quả dự kiến - Nghiên cứu được một số thuật toán tính toán song song - Cài đặt các thuật toán tính toán song song chạy trên card đồ họa GPU - Xây dựng ứng dụng tính toán trên card đồ họa GPU sử dụng thuật toán tính toán song song 5 Ý nghĩa khoa học và thực tiễn của luận văn 5 Về mặt lý thuyết - Nắm được các giải thuật, các mẫu thiết kế tính toán song song - Khai thác các bộ thư viện CUDA SDK... thời điểm có thể thực hiện đồng thời nhiều phép toán 9 Mục đích của xử lý song song Là thực hiện tính toán nhanh trên cơ sở sử dụng nhiều bộ xử lý đồng thời Cùng với tốc độ xử lý nhanh, việc xử lý song song cũng sẽ giải được những bài toán phức tạp yêu cầu khối lượng tính toán lớn 10 Ba yếu tố chính dẫn đến việc xây dựng các hệ thống xử lý song song Tốc độ xử lý của các bộ xử lý theo kiểu Von Neumann... hoạt đồng thời và cùng tham giải quyết một bài toán Nói chung, xử lý song song được thực hiện trên những hệ thống đa bộ xử lý 8 Phân biệt xử lý song song và xử lý tuần tự Trong tính toán tuần tự với một bộ xử lý thì tại mỗi thời điểm chỉ được thực hiện một phép toán Trong tính toán song song thì nhiều bộ xử lý cùng kết hợp với nhau để giải quyết cùng một bài toán cho nên giảm được thời gian xử lý vì... Vấn đề xử lý song song Liên quan trực tiếp đến kiến trúc máy tính, phần mềm hệ thống (hệ điều hành), thuật toán và ngôn ngữ lập trình, v.v… 13 Xét độ phức tạp Độ phức tạp của xử lý song song sẽ lớn hơn xử lý tuần tự rất nhiều, và tập trung chủ yếu ở phương diện trao đổi dữ liệu và đồng bộ các tiến trình 14 Cài đặt thuật toán song song Để cài đặt các thuật toán song song trên các máy tính song song,... trình song song bằng CUDA 6 Về mặt thực tiễn - Việc nghiên cứu và đề xuất giải pháp để Nghiên cứu các giải thuật song song trên hệ thống xử lý đồ họa GPU , làm cơ sở để giải quyết một số bài toán cần lượng tính toán lớn với dữ liệu khổng lồ 6 Bố cục luận văn Nội dung chính của luận văn được chia thành 3 chương như sau: Chương 1: Cơ sở lý thuyết tính toán song song …… Chương 2: Cấu trúc hệ thống. .. không hợp lý 1.2.1 Nguyên lý thiết kế giải thuật song song Khi xử lý song song chúng ta phải xét đến kiến trúc máy tính và thuật toán song song Những thuật toán mà trong đó có một số thao tác có thể thực hiện đồng thời được gọi là thuật toán song song Khi thiết kế thuật toán song song, chúng ta cần phải thực hiện: - Phân chia dữ liệu cho các tác vụ - Chỉ ra cách truy cập và chia sẻ dữ liệu - Phân các tác... Lý thuyết tính toán song song - Mong muốn cải tiến được một thuật toán nào đó sang tính toán song song sao cho tốc độ tính toán nhanh hơn thuật toán cũ và phát biểu bài toán thực tế có áp dụng thuật toán trên và cài đặt, giải quyết trên bộ đa xử lý card đồ họa GPU bằng CUDA 2 Phạm vi nghiên cứu - Phần này còn thiếu ???????????? 3 Phương pháp nghiên cứu Đề tài này sẽ kết hợp hai phương pháp nghiên cứu, ... void main() { { float x,y; float x,y; unsigned int k,n, c =0; unsigned int k,n, c2 =0; n = 200 00; n = 100 00; for (k =0; k

Ngày đăng: 01/12/2015, 16:20

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan