[IT] CUDA_Occupancy について
[IT] CUDA_Occupancy について
これも経験者にはどうってことない話ですが、GPU勉強会(2011年/12月)は本当に酷かった。CUDA_Occupancy は講師自ら「僕は別途入手した」とお話しされてましたが、CUDA SDK標準添付されてる Excel ブックを使えばいいだけです。
CUDA 4.1 RC2 では、
C:ProgramDataNVIDIA CorporationNVIDIA GPU Computing SDK 4.1CtoolsCUDA_Occupancy_Calculator.xls
にあります。
GPUデータシートに
Compute Capability SM Version Threads / Warp Warps / Multiprocessor Threads / Multiprocessor Thread Blocks / Multiprocessor Max Shared Memory / Multiprocessor (bytes) Register File Size Register Allocation Unit Size Allocation Granularity Max Registers / Thread Shared Memory Allocation Unit Size Warp allocation granularity (for registers) Max Thread Block Size Shared Memory Size Configurations (bytes) [note: default at top of list] Warp register allocation granularities [note: default at top of list]
が、すべて登録されているので
仮に Compute Capability 2.1 ならば
2.1 sm_21 32 48 1536 8 49152 32768 64 warp 63 128 1024 49152 16384 64 128
となります。
また、CUDA_Occupancy_Calculator.xls を使えば、deviceQueryで都度計算して目的デバイスを探すのではなく、リソース仮説計算にも使えます。
どんな計算を GPGPU で行うのか、そのために必要とされる定義、検定方法を最初に設計してから開発に取り掛かるのが一般的です。そうでなければ Tesla で無駄な電力消費をすることなく、消費電力が低い GT560Ti などを使えばいい。 Tesla でなければ動作しない命令を使うのではない限り、私が講師ならそう解説したいし、万一不安要素があれば講習シナリオを仲間へ相談するなどします。それがプロです。アマチュアならアマチュアだと素直に名乗ればいい。
[amazon_enhanced asin=”B004KV78R8″ container=”” container_class=”” price=”All” background_color=”FFFFFF” link_color=”000000″ text_color=”0000FF” /] [amazon_enhanced asin=”B0055MI352″ container=”” container_class=”” price=”All” background_color=”FFFFFF” link_color=”000000″ text_color=”0000FF” /] [amazon_enhanced asin=”B004K6L0F4″ container=”” container_class=”” price=”All” background_color=”FFFFFF” link_color=”000000″ text_color=”0000FF” /] [amazon_enhanced asin=”B004KNO5FE” container=”” container_class=”” price=”All” background_color=”FFFFFF” link_color=”000000″ text_color=”0000FF” /]
以上