Nsight Visual Studio Edition 3.0 CUDA Profiler では、Issue Efficiency にワープ ストール理由の円グラフが表示されます。ストールの理由は、命令フェッチ、実行依存性、データ要求、テクスチャ、同期、およびその他です。
Compute Capability 3.* デバイスの場合、その他のカテゴリは、アクティブなワープが次の理由で停止している時間の割合です。
- 実行ユニットがビジーです (スループットの低い整数演算の使用を減らします)
- レジスター バンクの競合 (ベクター データ型を多用すると最悪の場合があるコンパイラーの問題)
- スケジューラごとのワープが少なすぎる
Compute Capability 5.* および 6.* デバイスの場合、その他のカテゴリは、アクティブなワープが次の理由で停止した時間の割合です。
- レジスター バンクの競合 (ベクター データ型を多用すると最悪の場合があるコンパイラーの問題)
- 分岐を解決するのを待っているワープ
- 優先度が低く、現在スケジューリングの対象とされていないワープ
5.* および 6.*、特に gp100 の場合、カーネルがワープ スケジューラごとに 32 ワープに達すると、最後の理由が非常に高くなる可能性があります (~75%)。
これらの問題を解決するために開発者が実行できるアクションを特定するのは難しいため、これらのストールの理由は他のカテゴリに分類されます。