CUDA

CUDA
Phát triển bởiTập đoàn NVIDIA
Phiên bản ổn định
3.2 / 17 tháng 9 năm 2010
Hệ điều hànhWindows 7, Windows Vista, Windows XP, Windows Server 2008, Windows Server 2003, Linux, Mac OS X
Thể loạiGPGPU
Giấy phépProprietary, Freeware
WebsiteNvidia's CUDA zone

CUDA (Compute Unified Device Architecture - Kiến trúc thiết bị tính toán hợp nhất) là một kiến trúc tính toán song song do NVIDIA phát triển. Nói một cách ngắn gọn, CUDA là động cơ tính toán trong các GPU (Graphics Processing Unit - Đơn vị xử lý đồ họa) của NVIDIA, nhưng lập trình viên có thể sử dụng nó thông qua các ngôn ngữ lập trình phổ biến. Lập trình viên dùng ngôn ngữ C for CUDA, dùng trình biên dịch PathScale Open64 C[1], để cài đặt các thuật toán chạy trên GPU. Kiến trúc CUDA hỗ trợ mọi chức năng tính toán thông qua ngôn ngữ C. Các bên thứ ba cũng đã phát triển để hỗ trợ CUDA trong Python, Fortran, JavaMATLAB.

CUDA cho phép các nhà phát triển truy nhập vào tập các chỉ lệnh ảo và bộ nhớ của các phần tử tính toán song song trong đơn vị xử lý đồ họa của CUDA (CUDA GPU). Sử dụng CUDA, các GPU mới nhất do NVIDIA sản xuất có thể dễ dàng thực hiện các tính toán như những CPU. Tuy nhiên, không giống như các CPU, các GPU có kiến trúc song song trên toàn bộ giúp cho sự tập trung vào khả năng thực thi một cách chậm rãi nhiều luồng dữ liệu một lúc, hơn là thực thi rất nhanh một luồng dữ liệu. Cách tiếp cận giải quyết các vấn đề có mục đích tổng quát này trên các GPU được gọi là GPGPU.

Trong công nghiệp trò chơi trên máy tính, ngoài nhiệm vụ làm trơn hình ảnh, GPU cũng được sử dụng để tính toán các hiệu ứng vật lý trong game (như mảnh vụn, khói, lửa, dòng chảy...); ví dụ các phần mềm đơn vị xử lý vật lý trong GPU bao gồm PhysXBullet. CUDA cũng được sử dụng để gia tốc các ứng dụng ngoài đồ họa như sinh học tính toán, xử lý khối lượng dữ liệu lớn cùng với CPU, trong mật mã học và nhiều lĩnh vực khác.[2][3][4][5] Một ví dụ đó là hạ tầng tính toán phân tán BOINC.[6]

CUDA cung cấp cả giao diện chương trình ứng dụng (API) bậc thấp và bậc cao. Kiến trúc CUDA SDK đầu tiên được phát hành vào ngày 15 tháng 2 năm 2007, cho cả hai hệ điều hành Microsoft WindowsLinux. Nó hỗ trợ cho Mac OS X ở phiên bản thứ 2.0[7], thay thế cho phiên bản beta vào ngày 14 tháng 2 năm 2008.[8] CUDA có trong mọi GPU NVIDIA bắt đầu từ seri G8X về sau, bao gồm các dòng sản phẩm GeForce, QuadroTesla. Tập đoàn NVIDIA nói rằng các chương trình phát triển cho seri GeForce 8 cũng sẽ vẫn chạy được mà không cần thay đổi trên mọi video card trong tương lai của NVIDIA, nhờ vào tính tương thích nhị phân.

Ví dụ luồng xử lý của CUDA
1. Sao chép dữ liệu từ bộ nhớ chính vào bộ nhớ GPU
2. CPU chỉ lệnh để xử lý tại GPU
3. GPU thực thi song song ở mỗi nhân
4. Sao chép kết quả từ bộ nhớ GPU sang bộ nhớ chính.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ NVIDIA Clears Water Muddied by Larrabee Lưu trữ 2010-05-12 tại Wayback Machine Shane McGlaun (Blog) - 5 tháng 8 năm 2008 - DailyTech
  2. ^ Giorgos Vasiliadis, Spiros Antonatos, Michalis Polychronakis, Evangelos P. Markatos and Sotiris Ioannidis (2008, Boston, MA, USA). “Gnort: High Performance Network Intrusion Detection Using Graphics Processors” (PDF). Proceedings of the 11th International Symposium on Recent Advances in Intrusion Detection (RAID). Kiểm tra giá trị ngày tháng trong: |year= (trợ giúp)Quản lý CS1: nhiều tên: danh sách tác giả (liên kết)
  3. ^ Schatz, M.C., Trapnell, C., Delcher, A.L., Varshney, A. (2007). “High-throughput sequence alignment using Graphics Processing Units”. BMC Bioinformatics. 8:474: 474. doi:10.1186/1471-2105-8-474. PMC 2222658. PMID 18070356.Quản lý CS1: nhiều tên: danh sách tác giả (liên kết)
  4. ^ Svetlin A. Manavski & Giorgio Valle (2008). “CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment”. BMC Bioinformatics. 9(Suppl 2):S10: S10. doi:10.1186/1471-2105-9-S2-S10. PMC 2323659. PMID 18387198.Quản lý CS1: sử dụng tham số tác giả (liên kết)
  5. ^ “pyrit”. Truy cập 2 tháng 10 năm 2015.
  6. ^ Use your NVIDIA GPU for scientific computing Lưu trữ 2008-12-28 tại Wayback Machine, BOINC official site (ngày 18 tháng 12 năm 2008)
  7. ^ “NVIDIA CUDA Software Development Kit (CUDA SDK) - Release Notes Version 2.0 for MAC OSX”. Bản gốc lưu trữ ngày 6 tháng 1 năm 2009. Truy cập ngày 29 tháng 10 năm 2010.
  8. ^ CUDA 1.1 - Now on Mac OS X Lưu trữ 2008-11-22 tại Wayback Machine- (Posted on Feb 14, 2008)
Chúng tôi bán
Bài viết liên quan
Extraordinary Ones: Game MOBA hoạt hình vui nhộn
Extraordinary Ones: Game MOBA hoạt hình vui nhộn
Extraordinary Ones với phong cách thiết kế riêng biệt mang phong cách anime
Nhân vật Beta - The Eminence in Shadow
Nhân vật Beta - The Eminence in Shadow
Cô ấy được biết đến với cái tên Natsume Kafka, tác giả của nhiều tác phẩm văn học "nguyên bản" thực sự là phương tiện truyền thông từ Trái đất do Shadow kể cho cô ấy.
[Homo Scachorum] Giỏi cờ vua hơn không đồng nghĩa với thông minh hơn
[Homo Scachorum] Giỏi cờ vua hơn không đồng nghĩa với thông minh hơn
Trong các bài trước chúng ta đã biết rằng vào thời kì Cờ vua Lãng mạn, cờ vua được coi như một công cụ giáo dục không thể chối cãi
Tam vị tương thể cấu thành nên một sinh vật trong Tensura
Tam vị tương thể cấu thành nên một sinh vật trong Tensura
Cơ thể của một sinh vật sống có xác thịt ví dụ như con người chẳng hạn, được cấu tạo bởi tam vị tương thể