Khi chúng tôi sử dụng CUDA
profiler nvvp
, có một số "chi phí" s tương quan với các hướng dẫn, ví dụ:Trong CUDA profiler nvvp, "Phần chia sẻ lại toàn bộ bộ nhớ chia sẻ/toàn cầu" nghĩa là gì? Nó được tính như thế nào?
- Chi nhánh phân kỳ trên cao;
- Shared/Global Memory Replay Overhead; và
- Chi phí phát lại bộ nhớ cache cục bộ/toàn cầu.
Câu hỏi của tôi là:
- nguyên nhân gì (s) những chi phí chung Và
- làm thế nào họ tính toán?
- Tương tự như thế nào, tính tải trên toàn cầu/Hiệu quả cửa hàng được tính như thế nào?
Đính kèm: Tôi đã tìm thấy tất cả các công thức tính toán các chi phí này trong 'CUDA Profiler Hướng dẫn sử dụng' được đóng gói trong bộ công cụ CUDA5.
Cảm ơn câu trả lời của bạn, BenC, tôi đã tìm ra "phần trăm phát lại xung đột" và "Chia sẻ xung đột ngân hàng được chia sẻ". Tuy nhiên, với các công thức cho replay "Global/Local memory", tôi vẫn không thể hiểu tại sao cache cục bộ/cục bộ bị lỡ sẽ gây ra replay hướng dẫn. Khi nhớ cache xảy ra, nó chỉ cần vào bộ nhớ toàn cục để tìm nạp những gì cần thiết, TẠI SAO REPLAY? – troore
Tôi nghĩ bạn có thể tìm thấy một số câu trả lời cho câu hỏi của mình trong [các trang trình bày này] (http://developer.download.nvidia.com/CUDA/training/bandwidthlimitedkernels_webinar.pdf).Các hoạt động bộ nhớ được phát hành trên mỗi sợi dọc, giống như mọi lệnh khác. Khi một warp yêu cầu các từ tiếp theo, một bộ nhớ kém coalescing sẽ dẫn đến nhiều tải l1 bỏ lỡ, do đó gây ra replay hướng dẫn. Lưu ý rằng tôi không có chuyên gia CUDA để hiểu biết của tôi có thể không chính xác :-) – BenC
[liên kết khác] này (http://www.freepatentsonline.com/8266383.html) có thể là những gì bạn đang tìm kiếm, nhưng các chi tiết kỹ thuật yêu cầu một số động lực thực sự. – BenC