2013-03-06 28 views
6

Số người dùng được xác định là số lượng warps đang hoạt động so với số lượng warp tối đa được hỗ trợ trên một Bộ xử lý luồng. Hãy để chúng tôi nói rằng tôi có 4 khối chạy trên một SM, mỗi khối có 320 luồng, tức là 10 warps, vì vậy 40 warps trên một SM. Sức chứa là 40/48, giả sử max warp trên một SM là 48 (CC 2.x).Tại sao CUDA Occupancy được xác định theo số lượng warps hoạt động trên max warps được hỗ trợ

Nhưng tổng cộng tôi có 320 * 4 luồng chạy trên một SM và chỉ có 48 lõi CUDA trên một SM. Tại sao công suất phòng không phải là 100%? Tôi đang sử dụng tất cả các lõi CUDA ...

Tôi khá chắc chắn tôi thiếu cái gì ...

+2

Meachine cần nhiều hơn một luồng trên mỗi lõi để ẩn độ trễ và chạy ở tốc độ tối đa. Đó là lý do tại sao có khả năng có nhiều warps mở đồng thời trên một SM. Sức chứa bao gồm thực thi dọc cộng với tất cả các warps sẵn sàng thực thi. Bằng cách nhiều CC 2.x SM có 32 lõi, không phải 48. Bạn có thể đọc [mô tả này] (http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html# triển khai phần cứng) của kiến ​​trúc đa luồng phần cứng một cách cẩn thận. –

+0

Cảm ơn. Tôi đã xem hướng dẫn lập trình. Vì vậy, việc thực hiện các warps có thể được xen kẽ trên các lõi. Một sợi dọc không sử dụng đầy đủ các lõi. Đó là lý do tại sao chúng tôi xác định khả năng sử dụng theo cách này. – szli

+0

@szli: tùy thuộc vào kiến ​​trúc một sợi dọc đơn (hoặc hai trong kiến ​​trúc vấn đề kép) có thể "tận dụng tối đa lõi" trên một SM nhất định. Nhưng nó không thể làm điều đó * trên mỗi chu kỳ đồng hồ *. Đó là lý do tại sao nhiều warps là cần thiết và lý do tại sao chiếm được quan tâm với số lượng warps cho mỗi SM. – talonmies

Trả lời

10

Bởi vì công suất không có gì để làm với lõi. CUDA là một kiến ​​trúc kiểu SIMD pipelined. 48 lõi của bạn được cho ăn mỗi warp hướng dẫn từ một đường ống (được ban hành kép, trên thực tế). Bạn cần rất nhiều warps để giữ cho các đường ống dẫn đầy đủ, nếu không tất cả các lõi sẽ gian hàng. Đó là lý do tại sao chiếm dụng là một số liệu hữu ích để định lượng khả năng của một hạt nhân đã cho để cung cấp đủ công việc song song để đạt được hiệu suất hợp lý.

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