Gần đây tôi đã tự hỏi làm thế nào GPU tính toán các sin và cosin và Google đã không giúp tôi tìm ra câu trả lời chính xác.
Ban đầu, tôi đã nghĩ rằng để thực hiện các tính toán nhanh nhất có thể, GPU sẽ sử dụng một số loại bảng tra cứu. Nhưng sau đó tôi nhận ra, việc lưu trữ tất cả các giá trị tội lỗi trong một bảng có phạm vi nhân đôi giữa [0, 2 * pi] sẽ là một giá trị lớn, và do đó không phải là một lựa chọn hợp lệ.
Bảng có thể được thu nhỏ lại ở độ phân giải và sau đó các giá trị bị thiếu để tra cứu có thể được loại bỏ. Tuy nhiên, điều này đưa ra một lỗi có thể có thể lan truyền đến các lỗi lớn hơn và không thể chấp nhận được khi thực hiện tính toán nhiều lần.
Ý tưởng cuối cùng của tôi là sau đó họ có thể sử dụng xấp xỉ Taylor, nhưng điều đó sẽ liên quan đến khá nhiều số học, có thể quá chậm đối với GPU. Vì vậy, câu hỏi là, GPU sử dụng những gì để tính toán mức phạt? Đây có phải là bảng tra cứu, xấp xỉ hoặc kết hợp cả hai? Và có thể, họ có sử dụng cùng một phương thức cho các tính toán khác như sqrt () không?