So sánh thời gian thực hiện phần training

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Lập trình song song trên nền đơn vị xử lý đồ họa và ứng dụng (Trang 53 - 57)

Kết quả thực nghiệm (với dữ liệu CoNLL 2000-shared task) cho thấy rằng, phần training sẽ dừng khi số vòng lặp là 1097 (iter=1097).

Với kết quả thực nghiệm trên, có thể kết luận rằng việc song song sử dụng GPU làm giảm thời gian thực hiện phần training khoảng gần 50%. Kết quả này chƣa cao lắm so với khả năng song song của GPU. Lý do, do đặc thù của công cụ CRF++ đƣợc viết hoàn toàn bằng C++, việc chuyển đổi sang C để tiến hành song song toàn phần là vô cùng khó khăn. Kết quả song song dùng Thrust và dùng CUDA kết hợp Thrust không khác biệt nhau nhiều, lý do khi dùng CUDA, cần tạo ra nhiều mảng trung gian trong quá trình tính toán. Quá trình tính toán các mảng trung gian này làm giảm hiệu quả của CUDA.

KẾT LUẬN

Luận văn bao gồm phần nghiên cứu tổng quan và phần thực hành công nghệ, cụ thể gồm 4 nội dung nhƣ sau:

1) Nghiên cứu tìm hiểu mục đích của lập trình song song, những khó khăn của lập trình song song truyền thống.

2) Nghiên cứu tìm hiểu mô hình lập trình song song trên nền đơn vị xử lý đồ họa.

3) Nghiên cứu tìm hiểu mô hình CRF lý thuyết, và phƣơng pháp ƣớc lƣợng tham số của mô hình này.

4) Nghiên cứu tìm hiểu công cụ CRF++, cách thức thực thi của công cụ này.

Các kết qủa quan trọng thực hiện đƣợc bao gồm:

 Đề xuất giải pháp song song công cụ CRF++ sử dụng GPU

 Đã thử nghiệm thành công song song hóa một số phần trong CRF++ phiên bản 0.54 bằng CUDA 3.1, Thrust 1.3.0 trên nVidia Gefore 210. Với khả năng hạn chế về trình độ chuyên môn cũng nhƣ thời gian ngắn để thực hiện Đề tài mang tính thời sự về ứng dụng GPU để song song một công cụ quan trọng CRF++, mới về công nghệ trên môi trƣờng GPU và hạn chế của CUDA với ngôn ngữ C++, kết quả trình bày trong luận văn này chỉ là bƣớc đầu, cần phải tiếp tục đƣợc hoàn thiện hơn nữa trong thời gian tới.

Định hƣớng ứng dụng thực tiễn của GPU vào công việc thực tế:

- Ứng dụng xây dựng phân hệ Xử lý tín hiệu (MitiTracking) của hệ thống Gám sát hành trình [31]. Mục đích của phân hệ này là đón nhận, xử lý tín hiệu từ các thiết bị giám sát đƣợc lắp đặt trong xe các ôtô. Thông thƣờng cứ 10 giây, thiết bị sẽ gửi thông tin (vị trí, vận tốc, nhiên liệu, v.v…) về bộ phận tiếp nhận. Khi số lƣợng thiết bị lớn (lên đến hàng ngàn), thì vấn đề xử lý song song tín hiệu là cần thiết, để đảm báo tính thời gian thực của toàn bộ hệ thống.

TÀI LIỆU THAM KHẢO

Tiếng Việt

1. Hà Quang Thụy, Phan Xuân Hiếu, Đoàn Sơn, Nguyễn Trí Thành, Nguyễn Thu Trang, Nguyễn Cẩm Tú (2009), Giáo trình khai phá dữ liệu web, Nhà xuất bản Giáo dục Việt Nam. tr. 260-267.

Tiếng Anh

2. NVIDIA Corporation (2010),NVIDIA CUDA C Programming Guide Version 3.1, NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050:

http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/NVID IA_CUDA_C_ProgrammingGuide_3.1.pdf

3. NVIDIA Corporation (2010),NVIDIA CUDA C Best Practices Guide Version 3.1, NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050:

http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/NVID IA_CUDA_C_BestPracticesGuide_3.1.pdf

4. NVIDIA Corporation (2010), NVIDIA CUDA Reference Manual Version 3.1, NVIDIA Corporation 2701 San Tomas Expressway Santa Clara, CA 95050:

http://developer.download.nvidia.com/compute/cuda/3_1/toolkit/docs/Cuda ReferenceManual.pdf

5. Jason Sanders, Edward Kandrot (2010), CUDA by example : an introduction to general-purpose GPU programming, Addision Wesley.

6. John Lafferty, Andrew McCallum, Fernando Pereira (2001), Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data, Proceedinhs of ICML-2001.

7. Graphics processing unit:

http://en.wikipedia.org/wiki/Graphics_processing_unit

8. 3dfx Interactive: http://en.wikipedia.org/wiki/3dfx_Interactive

9. CRF++: Yet Another CRF toolkit: http://crfpp.sourceforge.net/

10. Thrust: http://code.google.com/p/thrust/

11. Jared Hoberock, Nathan Bell, An Introduction To Thrust, NVIDIA Research:

12. Neil Matthew, Richard Stones (2004), Beginning LinuxProgramming Third Edition, Wiley Publishing, Inc.

13. Mark Mitchell, Jeffrey Oldham, Alex Samuel (2001), Advanced Linux Programming, New Riders Publishing.

14. David B. Kirk and Wen-mei W. Hwu (2010), Programming Massively Parallel Processors: A Hands-on Approach, Elsevier Inc.

15. Hubert Nguyen (2007), GPU Gems 3, Addison Wesley Professional 16. Taku Kudo:http://chasen.org/~taku/index.html.en

17. Pinto, D., McCallum, A. Wei, X., and Croft, W. B. (2003). Table extraction using conditional random fields, Proceedings of the 26th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (ACM SIGIR 2003)

18. Kristjansson, T., Culotta, A., Viola, P., and McCallum (2004). A. Interactive information extraction with constrained conditional random fields, Proceedings of the 19th National Conference on Artificial Intelligence

(AAAI-2004).

19.Taku Kudo, Kaoru Yamamoto, Yuji Matsumoto, Applying Conditional Random Fields to Japanese Morphological Analysis

20. Wayne Wood, (2010). A Brief Test on the Code Efficiency of CUDA and Thrust: http://www.codeproject.com/KB/Parallel_Programming/test-on- thrust-efficiency.aspx

21. Message Passing Interface: http://vi.wikipedia.org/wiki/MPI

22. Parallel Virtual Machine:

http://en.wikipedia.org/wiki/Parallel_Virtual_Machine

23. Open Multi-Processing:http://en.wikipedia.org/wiki/OpenMP

24. POSIX Threads Programming:https://computing.llnl.gov/tutorials/pthreads/

25. McCallum, A. and Li, W. (2003). Early results for named entity recognition with conditional random fields: feature induction and Web-enhanced lexicons, Proceedings of the 7th Conference of the Natural Language Learning (CoNLL 2003).

26. Fuchun Peng, Andrew McCallum (1998), Accurate information extraction from research papers using conditional random fields, Proceedings of Human Language Technology Conference and North American Chapter of the Association for Computational Linguistics (HLT-NAACL), 2004.

28. Zhu, J., Nie, Z., Wen, J. R., Zhang, B., and Ma, W. Y. (2005). 2D

conditional random fields for Web information extraction, Proceeding of the 22nd International Conference on Machine Learning (ICML), 2005.

29. Erik F. Tjong Kim Sang and Sabine Buchholz. 2000. Intro-duction to the CoNLL-2000 shared task: Chunking. In Proceedings of CoNLL-2000 and LLL-2000, pages 127–132, Lisbon, Portugal.

30. Chunking: http://www.cnts.ua.ac.be/conll2000/chunking/

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Lập trình song song trên nền đơn vị xử lý đồ họa và ứng dụng (Trang 53 - 57)

Tải bản đầy đủ (PDF)

(57 trang)