a. Tên luận văn: Song song thuật toán tìm đường đi ngắn nhất Floyd và Cuda
b.Họ và tên cá nhân thực hiện luận văn: Bùi Thị Thu Hiền
c. Tên đơn vị công tác: Trường THPT Dĩ An
d. Mục tiêu nghiên cứu: Các thuật toán song song được xây dựng dựa trên cơ sở các thuật toán tuần tự tìm đường đi ngắn nhất.
e. Kết quả thực hiện (tóm tắt)
Nhu cầu tính toán trong lĩnh vực khoa học, công nghệ ngày càng cao và trở thành một thách thức lớn. Từ đó các giải pháp nhằm tăng tốc độ tính toán đã được ra đời. Một trong các công nghệ xử lý song song ra đời đó là GPU (Graphics Processing Unit - bộ xử lý đồ họa). Ban đầu, việc chế tạo GPU chỉ với những mục đích công việc phù hợp với khả năng là tăng tốc độ xử lý đồ họa, cũng như trong ngành trò chơi là chủ yếu. Nhưng đến thời điểm GPU NV30 của NVIDIA ra đời, GPU bắt đầu tham gia vào những công việc khác ngoài đồ họa như: hỗ trợ tính toán dấu chấm động đơn, hỗ trợ tính toán lên cả nghìn lệnh. Vì thế đã nảy sinh ra ý tưởng dùng GPU để xử lý, tính toán song song những chương trình không thuộc đồ họa. Do đó cần phải có phần mềm phù hợp và được xử lý đồng thời để tận dụng hiệu suất của các máy tính tiến tới mục đích là hoàn thành công việc nhanh chóng.
Câu hỏi được đặt ra là làm thế nào để ứng dụng GPU vào việc xử lý tính toán song song? Câu hỏi này nhanh chóng được giải quyết bằng công nghệ CUDA (Compute Unified Device Architecture - kiến trúc thiết bị hợp nhất cho tính toán) của NVIDIA ra đời năm 2007. Với CUDA các lập trình viên dùng để điều khiển GPU để xử lý, tính toán song song các dữ liệu lớn. CUDA xuất hiện với vai trò ban đầu là một bộ công cụ phát triển phần mềm dựa trên ngôn ngữ lập trình C. Bây giờ CUDA đang tiến hóa thành kiến trúc điện toán GPU, hay còn gọi là GPGPU của NVIDIA. CUDA có mặt trên hầu hết các GPU đời mới của NVIDIA, từ dòng GeForce giành cho giải trí đến Quadro giành cho điện toán hình ảnh chuyên nghiệp và dòng Tesla cho tính toán hiệu năng cao.
Bài toán tìm đường đi ngắn nhất là bài toán đã ra đời từ lâu. Vấn đề đặt ra là có quá nhiều điểm đến, nhiều đường đi giữa các tỉnh thành nhưng muốn biết nhanh chóng kết quả con đường từ điểm này đến điểm khác là ngắn nhất, ít chi phí nhất, thì chương trình chạy tuần tự không đáp ứng được về mặt thời gian thực hiện, thay vào đó với chương trình chạy song song thì khả năng tính toán là nhanh hơn so với chương trình tuần tự với tập dữ liệu lớn. Đề tài “Song song hóa thuật toán tìm đường đi ngắn nhất Floyd với CUDA” của tác giả Bùi Thị Thu Hiền đã làm rõ những vấn đề trên.
Đề tài đã trình bày cơ sở lý thuyết về tính toán song song, thuật toán song song tìm đường đi ngắn nhất được triển khai trên môi trường CPU-GPU, nhằm giải quyết bài toán sao cho thời gian hoàn thành là nhanh nhất. Các thuật toán song song được xây dựng dựa trên cơ sở các thuật toán tuần tự tìm đường đi ngắn nhất. Bước đầu thử nghiệm, so sánh tốc độ thực hiện của thuật toán tuần tự và thuật toán song song để giải quyết bài toán tìm đường đi ngắn nhất với độ lớn dữ liệu khác nhau đã cho ra một số kết quả khác nhau. Khi tập dữ liệu với số lượng đỉnh ít khoảng vài trăm đỉnh trở xuống thì thuật toán tuần tự thực hiện nhanh hơn, nhưng tập dữ liệu với số lượng đỉnh lớn vài nghìn đỉnh trở lên thì thuật toán song song thực hiện nhanh hơn.
Thuật toán tìm đường đi tuần tự đã được phân tách ra thành những phần có thể song song hóa và thực hiện song song hóa bằng CUDA. Việc phân chia dữ liệu cho mỗi luồng (threads) thực hiện một công việc nhất định đã làm cho bài toán song song CUDA trở nên nhanh hơn so với bài toán chạy tuần tự.
Trong thời gian tới, để phát triển đề tài, cần mở rộng thêm việc cho phép chương trình thực hiện chạy với dữ liệu lớn cỡ vài triệu đỉnh. Bên cạnh đó, chương trình cũng có thể được viết bằng CUDA.net.
g. Năm tốt nghiệp: 2017
(Có thể tìm đọc toàn văn Báo cáo luận văn tại Trung tâm Thông tin và Thống kê khoa học và công nghệ).