正確な定義を意味します。Nvidia プロファイラーが、SM3.5 のワープ内の分岐分岐により、コードのワープ効率が非常に悪いと常に言うのはなぜですか?
私のコードはワープ内での分岐を可能な限り回避しており、私のコードが SM 2.0 でビルドされている場合、nvidia プロファイラーはワープ効率が 100% に近いことを教えてくれます。
しかし、同じカードで、コードが SM 3.5 でビルドされている場合、ワープ効率が突然 35% ~ 40% に低下します。これは信じられないほど低い効率です。
また、指示の発行パターンは、ワープごとに 1 回発行する場合の約 50% が、2 回発行する場合です。
残りはすべて問題ないので、誰かがワープ効率の正確な定義を教えてもらえますか? 彼らは、特定の時間に同時に実行されるワープ内のアクティブなスレッドの量をワープサイズで割ったものを意味しているのではないでしょうか?
では、なぜ私のコードは、異なる SM バージョンでビルドされた場合、同じ nvidia GPU で報告されたワープ効率 (SM3.5 で約 35% のワープ効率、SM2.0 で 100% 近くのワープ効率) が大幅に異なるのでしょうか?