Câu hỏi API toán học CUDA: sự khác biệt giữa các hàm và nội tại


Theo Toán học CUDA API, nhiều hàm toán học, như sin và cosin, được triển khai cả trong phần mềm (hàm) và phần cứng (nội tại). Những nội tại này có thể sử dụng các đơn vị chức năng đặc biệt của GPU, vậy điểm của việc thực hiện phần mềm là gì? Không phải là chậm hơn so với việc thực hiện phần cứng?


7
2018-06-06 15:44


gốc




Các câu trả lời:


Câu hỏi hay hơn là "điểm nội tại là gì?".

Câu trả lời nằm ở Phụ lục D của hướng dẫn lập trình. Nội tại cho các hàm siêu việt, lượng giác và đặc biệt nhanh hơn, nhưng có nhiều hạn chế về miền hơn và độ chính xác thấp hơn so với các đối tác phần mềm của chúng. Với mục đích chính của phần cứng (tức là đồ họa), có các hàm gần đúng nhanh cho sin, cos, căn bậc hai, nghịch đảo, vv cho phép cải thiện hiệu suất đổ bóng khi độ chính xác toán học tối ưu không quan trọng. Đối với một số tác vụ tính toán, các phiên bản kém chính xác cũng tốt. Đối với các ứng dụng khác, bản chất có thể không đủ.

Có cả hai cho phép các lập trình viên thông báo để có một sự lựa chọn: tốc độ hoặc độ chính xác.


13
2018-06-06 15:55