Posted on

Sự Khác Nhau Giữa CPU Và GPU

Chip xử lí đồ họa (GPUs) cung cấp một lượng lớn chip xử lí đơn giản với khả năng xử lí thông tin đa luồng, song song và bộ nhớ tốc độ cao.

Kỹ thuật GPU đang dần trở nên dễ lập trình, cung cấp nhiều tiềm năng cho việc tăng tốc xử lí cho nhiều chương trình với nhiều mục đích khác nhau, hơn cả chíp xử lí thông thường (CPUs).

gpu-va-cpu

Nguyên nhân đằng sau sự khác biệt giữa khả năng xử lí dữ liệu (floating-point) của 2 loại chíp này là:

GPU được thiết kế riêng chỉ để tính toán, mà còn là tính toán, xử lí thông tin luồng song song đúng như những gì kỹ thuật làm sắc nét hình ảnh cần

Vì vậy 80% transistors của chíp được nó sử dụng để chuyên tính toán dữ liệu chứ không phải để nhận dữ liệu và điều khiển luồng thông tin. Vì các chức năng này đã được thực hiện trên mỗi thuộc tính của dữ liệu với thuật toán cao cấp dữ dội rồi.

CPU-GPU-Structures1

Mặc dù GPU có nhiều lợi ích như giúp tính toán tốt hơn, xử lí được nhiều thông tin cùng lúc và tốn ít điện mặc dù vận hành tốt như vậy, nó vẫn có những giới hạn nhất định khiến nó không tối ưu lắm.

Cụ thể, chúng khiến việc tối ưu hóa hiệu suất làm việc của máy khó hơn, và ngôn ngữ để sửa lỗi cho nó không mạnh như CPU thông thường.

Vì vậy, để làm ra 1 chú GPU tốn nhiều thời gian và đòi hỏi sự tỉ mỉ hơn. Hơn nữa, mã của GPU chạy song song nên đòi hỏi việc phân mảnh dữ liệu và kĩ thuật đồng bộ hóa.

Trong vài trường hợp về thuật toán, đôi lúc chẳng có thuật toán nào phù hợp với GPU nên bắt buột các nhà sản xuất phải cho ra thêm thuật toán song song dành riêng cho GPU nữa.