CUDA

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, để 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. Một ví dụ đó là hạ tầng tính toán phân tán BOINC.

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, thay thế cho phiên bản beta vào ngày 14 tháng 2 năm 2008.
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 

Phần cứng đồ họa
Đơn vị xử lý đồ họa
GPGPU
Bo mạch đồ họa
Tính toán song song