CUDA
Phát triển bởi | Tập đoàn NVIDIA |
---|---|
Phiên bản ổn định | 3.2
/ 17 tháng 9 năm 2010 |
Hệ điều hành | Windows 7, Windows Vista, Windows XP, Windows Server 2008, Windows Server 2003, Linux, Mac OS X |
Thể loại | GPGPU |
Giấy phép | Proprietary, Freeware |
Website | Nvidia'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, Java và MATLAB.
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 PhysX và Bullet. 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 Windows và Linux. 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, Quadro và Tesla. 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.
Tham khảo
[sửa | sửa mã nguồn]- ^ 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
- ^ 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) - ^ 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)
- ^ “pyrit”. Truy cập 2 tháng 10 năm 2015.
- ^ 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)
- ^ “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.
- ^ CUDA 1.1 - Now on Mac OS X Lưu trữ 2008-11-22 tại Wayback Machine- (Posted on Feb 14, 2008)