2010-05-12 40 views

Trả lời

11

Nếu GPU của bạn có compute capability 1.3 thì bạn có thể tăng gấp đôi độ chính xác. Bạn nên biết rằng phần cứng 1.3 chỉ có một đơn vị FP chính xác gấp đôi trên MP, mà phải được chia sẻ bởi tất cả các chủ đề trên MP đó, trong khi có 8 FPU chính xác duy nhất, vì vậy mỗi thread hoạt động có FPU chính xác riêng. Nói cách khác, bạn có thể thấy hiệu suất kém hơn 8x với độ chính xác gấp đôi so với độ chính xác đơn.

+1

Xin cảm ơn Paul. Tôi muốn chuyển sang độ chính xác 'double' chủ yếu cho độ chính xác. Tôi đang tư vấn về một dự án phụ mà tôi đang chuyển đổi mã Python thành C++/CUDA và mã Python sử dụng độ chính xác 'double' ở khắp mọi nơi. Tôi nhận thấy rằng khi tôi chuyển sang sử dụng 'float' tôi đã có một sự khác biệt tuyệt đối tối đa của' 1e-06' cho kết quả. Tôi đã không quá hài lòng với điều đó, nhưng tôi muốn lấy viên đạn với độ chính xác hơn hiệu suất. Cảm ơn! +1. – rayryeng

+0

Ha - bình luận về câu trả lời 7 tuổi bây giờ Ray? ;-) Nghiêm túc mặc dù điều này có thể hơi lỗi thời - Tôi chưa chơi với CUDA trong vài năm và phần cứng mới nhất của nVidia cũng có thể hỗ trợ chính xác gấp đôi ngay bây giờ, cho tất cả những gì tôi biết. –

+2

Hehe Tôi không chú ý đến năm. Tôi nhìn lên khả năng trước khi tôi nhận xét :). Thẻ tôi đang làm việc cho khách hàng của tôi chỉ có khả năng tính toán 3.0 và nó vẫn chỉ bằng một nửa trong số đó là độ chính xác đơn. Nó chỉ được hỗ trợ đầy đủ kể từ 6.0 ... Đáng tiếc. Cảm ơn dù sao, dù đây là 7 tuổi! – rayryeng

8

Theo nhận xét của Paul R, các thiết bị Tính toán khả năng 2.0 (còn gọi là Fermi) đã cải thiện nhiều tính năng chính xác gấp đôi, với hiệu suất chỉ bằng một nửa độ chính xác đơn.

Điều này Fermi whitepaper có thêm chi tiết về hiệu suất gấp đôi của thiết bị mới.

+0

+1: cảm ơn thông tin bổ sung đó - Tôi đã không làm việc với CUDA trong khoảng một năm nay và không nhận thức được khả năng tính toán 2.0 - không có gì ở công nghệ vẫn tồn tại lâu! –

+1

Hãy nhận biết rằng hiệu suất chính xác gấp đôi của Fermi là (giả tạo) thấp hơn đối với thẻ GeForce so với Teslas. Thẻ Quadro nên có cùng mức hiệu năng như thẻ Tesla. – Eric

+0

Thật không may, thẻ Quadro dường như có giá gấp khoảng 10 lần so với thẻ GeForce với các GPU tương ứng (mặc dù thẻ Quadro có nhiều bộ nhớ hơn). –

10

Như một mẹo:

Nếu bạn muốn sử dụng chính xác đôi bạn phải thiết lập kiến ​​trúc GPU để sm_13 (nếu GPU của bạn hỗ trợ nó).

Nếu không, nó sẽ vẫn chuyển đổi tất cả gấp đôi thành phao và chỉ đưa ra cảnh báo (như đã thấy trong bài đăng của faya). (Rất khó chịu nếu bạn nhận được một lỗi vì :-) này)

Lá cờ là: -arch=sm_13

2

Nếu bạn muốn chính xác hơn so với cái thẻ CUDA cũ của bạn cung cấp cho bạn có thể sử dụng giải pháp float-float . Trên các GPU hiện đại, bạn cũng có thể sử dụng double-double để đạt được độ chính xác lớn hơn gấp đôi.

Thông tin khác here

Các vấn đề liên quan