Các GPU hiện có có hỗ trợ số học dấu phẩy động chính xác kép không?


17

Tôi đã chạy mã động lực phân tử (MD) GROMACS trên cụm Ubuntu Linux bao gồm các nút chứa 24 CPU Intel Xeon. Điểm quan tâm đặc biệt của tôi hóa ra hơi nhạy cảm với độ chính xác số học dấu phẩy động, vì vậy tôi đã phải chạy GROMACS với độ chính xác gấp đôi thay vì độ chính xác đơn - mặc dù chi phí tính toán cao hơn gấp đôi. Vì vậy, trên cụm, tôi đã biên dịch GROMACS với độ chính xác gấp đôi.

Tôi đang xem xét việc mua một số GPU, vì có thể có một người thân tăng tốc ("tăng tốc GPU") cho CPU. Tuy nhiên, tôi cần một GPU cho phép tôi thực hiện số học chính xác gấp đôi. Bạn có biết nếu phần cứng như vậy là có sẵn trên thị trường? Một bài đăng gần đây trên danh sách gửi thư GROMACS cho thấy GPU chính xác gấp đôi không có sẵn trên thị trường:

Phần cứng không hỗ trợ nó [số học chính xác kép] nhưng AFAIK.

Đây trang Wikipedia dường như cho thấy GPU độ chính xác kép không phổ biến vì chúng có thể không hiệu quả:

Việc triển khai điểm nổi trên GPU Nvidia chủ yếu tuân thủ theo chuẩn IEEE; tuy nhiên, điều này không đúng với tất cả các nhà cung cấp. Điều này có ý nghĩa cho tính đúng đắn được coi là quan trọng đối với một số ứng dụng khoa học. Mặc dù các giá trị dấu phẩy động 64 bit (độ chính xác kép) thường có sẵn trên CPU, nhưng các giá trị này không được hỗ trợ phổ biến trên GPU; một số kiến ​​trúc GPU hy sinh sự tuân thủ của IEEE trong khi một số khác lại thiếu độ chính xác kép. Đã có những nỗ lực mô phỏng các giá trị dấu phẩy động chính xác kép trên GPU; tuy nhiên, sự đánh đổi tốc độ phủ nhận bất kỳ lợi ích nào khi giảm tải tính toán lên GPU ngay từ đầu.

Đây trang NVIDIA Tesla , trong tham khảo "Đỉnh độ chính xác gấp đôi hiệu suất điểm nổi" trong bảng xếp hạng, dường như gợi ý rằng các tính toán chính xác gấp đôi có thể , trên thực tế, được thực hiện trên GPU của họ (mặc dù với chi phí tính toán cao hơn).

Vậy, tôi nên tin cái gì? Bạn có bất kỳ kinh nghiệm về vấn đề này?


kiểm tra gtx titan nó dựa trên gk110 và có hỗ trợ tăng gấp đôi ..... mặc dù bit của nó rất tốn kém ..... khoảng $ 1k

Wikipedia không phải lúc nào cũng có thông tin hiện tại về các chủ đề thay đổi nhanh chóng ...
Jeff

Câu trả lời:


17

Độ chính xác kép là khá phổ biến trên các GPU mới hơn. Chẳng hạn, tôi sở hữu một chiếc NVIDIA GTX560 Ti (khá thấp khi nói về điện toán) không có vấn đề gì khi chạy ViennaCL với độ chính xác gấp đôi. Từ đây (phần 4), nó xuất hiện tất cả các thẻ NVIDIA từ GTX4xx trở đi hỗ trợ chính xác gấp đôi.

Tôi đoán rằng thông tin GROMACS đơn giản là lỗi thời.


5
Rất lỗi thời. Bộ xử lý NVIDIA nói riêng đã có hỗ trợ chính xác gấp đôi trong nhiều năm. Thành thật mà nói, nó chậm hơn đáng kể so với khả năng chính xác đơn, nhưng nó đã ở đó (và không chỉ được mô phỏng) trong các GPU mang nhãn hiệu Tesla đầu tiên, và có lẽ trước đó. Các hóa thân gần đây đã giảm khoảng cách giữa tín hiệu và hỗ trợ độ chính xác kép đáng kể.
Michael Grant

Có, bài báo mà tôi đã liên kết đã đề cập đến các con số xấp xỉ 8 yếu tố hiệu suất khi cần mô phỏng, nhưng bây giờ các chip được thiết kế cho nó, nó gần với hệ số 2. Tôi có thể nói rằng điều này có khả năng là do độ trễ bộ nhớ thẻ từ VRAM đến bộ xử lý, nhưng đó đơn giản chỉ là phỏng đoán của tôi.
Godric Seer

Trên thực tế, lý do chính là các GPU trước đó đơn giản là không dành nhiều không gian chip cho tính toán chính xác kép. Theo trang này , sê-ri GK110 có số đơn vị chính xác gấp đôi trên mỗi "khối SMX" gấp 8 lần so với sê-ri GK104.
Michael Grant

1
À, vâng, tôi thực sự đã đề cập đến sự khác biệt gấp 2 lần của các GPU hiện tại liên quan đến nhận xét băng thông bộ nhớ.
Godric Seer

Gotcha. Tôi không có ý đi xuống cái hố thỏ này. Câu trả lời của bạn là tốt, đó là lý do tại sao tôi nhận xét và bình chọn cho bạn thay vì thêm câu trả lời của riêng tôi ;-)
Michael Grant

8

Mỗi GPU có SM 1.3 (Tesla / GTX2xx) trở lên đều có hỗ trợ độ chính xác gấp đôi phần cứng. Bắt đầu với kiến ​​trúc Fermi, các biến thể Quadro và Tesla có hỗ trợ độ chính xác kép tốt hơn so với các mô hình Ge Force tiêu dùng.

Điều kỳ lạ là hỗ trợ chính xác kép của Ge Force Kepler / GTX6xx kém hơn so với hỗ trợ GeForce Fermi / GTX5xx để cải thiện sự khác biệt của Tesla trong Kepler K20 / K20x. Cộng với sự kỳ lạ, Tesla K10s có hỗ trợ chính xác gấp đôi cấp độ Ge Force. Và gần đây nhất, điều này đã bị xáo trộn hoàn toàn khi giới thiệu Ge Force GTX Titan, có hỗ trợ chính xác kép và nhiều tính năng CUDA chỉ có trên các mẫu Tesla cho đến nay. Một chiếc GTX Titan có giá ~ 1.000 đô la - một món hời IMO.


2

Bạn cũng nên đọc bài đăng tiếp theo từ danh sách gửi thư của GROMACS: http://lists.gromacs.org/pipermail/gmx-users/2013-April/080604.html . Việc triển khai GPU trong MD có hỗ trợ việc sử dụng độ chính xác kép đến mức tương đương hay không ít nhất cũng quan trọng như việc độ chính xác kép có khả dụng trên phần cứng hay không.


0

Theo thảo luận này , GPU Tesla và Titan là phù hợp nhất (của GPU Nvidia) cho độ chính xác gấp đôi.

Tìm ví dụ về danh sách GPU Nvidia trên Wikipedia (bảng tương tự dành cho GPU AMD có ở đây ) và so sánh công suất xử lý chính xác đơn và kép (về GFLOP), người ta thấy rằng hiệu suất chính xác gấp đôi nhỏ hơn một nửa độ chính xác đơn hiệu suất cho hầu hết các GPU khác. Ví dụ, đối với dòng GTX 900, bài viết đề cập rằng hiệu suất chính xác kép là 1/32 của hiệu suất chính xác đơn, trong khi bài viết Wikipedia này nói rằng đối với dòng GTX 700, hiệu suất chính xác kép là 1/24 độ chính xác đơn hiệu suất (ngoại trừ Titan, nơi nó có thể cao bằng 1/3 hiệu suất chính xác đơn).

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.