Lập trình GPU
lập trình GPU đa là khác biệt về chất so với lập trình
multiprocessors khác như CPU đa lõi. GPU cung cấp 2-3 đơn đặt hàng
của các cường độ nhiều chủ đề và dữ liệu song song hơn CPU, rộng đến hàng trăm
lõi xử lý và hàng chục ngàn bài đồng thời trong năm 2008. GPU
tiếp tục tăng song song của họ, tăng gấp đôi nó khoảng 12 đến 18 tháng,
được kích hoạt bởi định luật Moore [1965] tăng mật độ mạch tích hợp và
nâng cao hiệu quả kiến trúc. Để bắc qua giá cả và hiệu suất loạt
các phân khúc thị trường khác nhau, các sản phẩm GPU khác nhau thực hiện rộng rãi khác nhau
số của bộ vi xử lý và chủ đề. Tuy nhiên, người dùng mong đợi trò chơi, đồ họa, hình ảnh,
và các ứng dụng máy tính để làm việc trên bất kỳ GPU, bất kể có bao nhiêu song song
đề nó thực hiện hoặc có bao nhiêu nhân xử lý song song nó có, và họ mong đợi
GPU đắt hơn (với nhiều chủ đề và các lõi) để chạy ứng dụng nhanh hơn.
Kết quả là, các mô hình lập trình GPU và các chương trình ứng dụng được thiết kế để
mở rộng quy mô trong suốt đến một loạt các xử lý song song.
Động lực đằng sau số lượng lớn các chủ đề song song và lõi trong một
GPU là hiệu suất đồ họa thời gian thực cần thiết để dựng các cảnh 3D phức tạp
với độ phân giải cao với tỷ lệ khung hình tương tác, ít nhất là 60 khung hình mỗi giây.
Tương ứng, các mô hình lập trình mở rộng của ngôn ngữ đánh bóng đồ họa
như Cg (C cho đồ họa) và HLSL (cấp cao ngôn ngữ bóng) được thiết kế
để khai thác độ lớn song song qua nhiều chủ đề song song độc lập và
có quy mô đến bất kỳ số lượng lõi xử lý. Các khả năng mở rộng lập trình song song CUDA
mô hình tương tự như vậy cho phép các ứng dụng tính toán song song nói chung để tận dụng lượng lớn
số lượng các chủ đề song song và quy mô để bất kỳ số lượng lõi xử lý song song,
minh bạch để các ứng dụng.
Trong các mô hình lập trình mở rộng, các lập trình viên viết code cho một single
thread, và GPU chạy trường hợp đề vô song song. Các chương trình như vậy, quy
mô, minh bạch trên một phạm vi rộng song song phần cứng. Mô hình đơn giản này
phát sinh từ các API đồ họa và ngôn ngữ shading mô tả làm thế nào để bóng râm một
đỉnh hoặc một điểm ảnh. Nó vẫn là một mô hình hiệu quả như GPU đã nhanh chóng
tăng lên song song và hiệu suất của họ kể từ cuối những năm 1990.
Phần này mô tả tóm tắt GPU lập trình cho đồ họa thời gian thực
các ứng dụng bằng cách sử dụng các API đồ họa và ngôn ngữ lập trình. Sau đó nó mô tả
GPU lập trình cho máy tính trực quan và tính toán song song nói chung
các ứng dụng bằng cách sử dụng ngôn ngữ C và các mô hình lập trình CUDA.
đang được dịch, vui lòng đợi..