Làm thế nào để GPU tính toán tội lỗi?


7

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?


1
Có một số thuật toán hiệu quả để tính các hàm lượng giác. Tra cứu, ví dụ CORDIC . Toàn bộ khu vực này khá hấp dẫn ...
vonbrand

Câu trả lời:


11

Tôi tin rằng GPU NVidia họ sử dụng tra cứu bảng, theo sau là phép nội suy bậc hai. Tôi nghĩ rằng họ đang sử dụng một thuật toán tương tự như thuật toán được mô tả trong: Oberman, Stuart F; Siu, Michael Y: "Bộ nội suy tương tác hiệu suất cao khu vực hiệu suất cao", _IEEE Int'l Symp Comp Số học, (ARITH-17): 272-279, 2005 .

Tra cứu bảng được lập chỉ mục với m bit quan trọng nhất từ ​​đầu vào, xvà trả về ba hệ số, c0, c1, c2. Kết quả cuối cùng được tạo ra bằng cách đánh giác0+c1x+c2x2. Các hệ số cho từng phạm vix được chọn để giảm thiểu lỗi tối đa từ hàm mục tiêu trong phạm vi đó.

Vì vậy, đơn vị có thể được đường ống đầy đủ để tạo ra một kết quả trong mỗi chu kỳ, đơn vị chứa một đơn vị bình phương đặc biệt và hai hệ số nhân cây tường mã hóa gian hàng. Đối với mỗi chức năng đặc biệt, họ chọn số lượng mục trong bảng (2m) sao cho việc đánh giá đa thức sẽ cung cấp cho họ một câu trả lời IEEE FP có độ chính xác duy nhất chính xác trong một vài đơn vị ở vị trí cuối cùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.