2012-04-26 13 views
17

Tôi cần tính toán chính xác gấp đôi trong đơn đăng ký của mình là gì. Theo những gì tôi tìm thấy trên google tôi nên thêm một lá cờ "-arch sm_13" hoặc "-arch sm_20".Sự khác biệt giữa "-arch sm_13" và "-arch sm_20"

Q1: Sự khác biệt giữa "-arch sm_13" và "-arch sm_20" là gì?

Q2: Có sự khác biệt về hiệu suất giữa "-arch sm_13" và "-arch sm_20" không?

GPU của tôi: GTX 570.

Cảm ơn.

+0

bạn cần sử dụng sm_20. sm_13 dùng để tính 1.3 thẻ. –

+0

nó rất đơn giản? khả năng tính toán 2.0 -> sm_20, khả năng tính toán 1.3 -> sm_13? – user1281071

Trả lời

25

SM là viết tắt của Trình xử lý đa luồng và số cho biết các tính năng được kiến ​​trúc hỗ trợ. Bạn có thể tìm thấy một mô tả tốt trong CUDA Programming Guide phần 3.1.2-3.1.4 và bạn có thể xem các tính năng kết hợp với mỗi kiến ​​trúc trong bảng trong phụ lục F.

Từ NVCC manual (cũng bao gồm trong Toolkit):

Để cho phép phát triển kiến ​​trúc, GPU NVIDIA được phát hành trong các thế hệ khác nhau. Các thế hệ mới giới thiệu những cải tiến lớn trong kiến ​​trúc và/hoặc kiến ​​trúc chip , trong khi các mô hình GPU trong cùng một thế hệ cho thấy những khác biệt nhỏ về cấu hình mà „vừa phải‟ ảnh hưởng đến chức năng, hiệu suất hoặc cả hai.

GPU của bạn có Khả năng tính toán 2.0, vì vậy bạn nên sử dụng sm_20 để cho phép trình biên dịch sử dụng các tính năng không có trong kiến ​​trúc cũ hơn. Nếu bạn muốn tương thích ngược, bạn có thể cũng nhắm mục tiêu sm_13 (hoặc sm_1x), xem các tài liệu ở trên để biết cách sử dụng tùy chọn -gencode để nvcc nhắm mục tiêu nhiều kiến ​​trúc trong một lệnh gọi tới nvcc.

Về hiệu suất, một điều cần chú ý là sm_1x không hỗ trợ điểm nổi IEEE754, vì vậy nếu bạn nhắm mục tiêu sm_13 và chạy trên thiết bị có khả năng tính toán 2.0 trở lên thì bạn có thể thấy rằng điểm trôi nổi chạy nhanh hơn đang sử dụng đường dẫn kém chính xác hơn. Bạn cũng có thể buộc đường dẫn kém chính xác hơn với sm_20 hoặc cao hơn bằng cách sử dụng các tùy chọn -ftz=true -prec-div=false -prec-sqrt=false, xem phần 5.4.1 trong Hướng dẫn lập trình CUDA để biết thêm thông tin về điều này.

+0

cảm ơn! câu trả lời chính xác! – user1281071