無効になっているストリーミング プロセッサ (SM) を有効にするにはどうすればよいでしょうか?

無効になっているストリーミング プロセッサ (SM) を有効にするにはどうすればよいでしょうか?

私はNVIDIA Quadro K2000 GPUを使用しています。 を実行したところdeviceQuery.exe、結果は以下のとおりです。SMユニットが2つしかないと表示されます。本当にSMが2つしかないのか、それともSMの一部が無効になっているのかはわかりません。このSOの質問に対する3番目のコメント

また、SP の数は SM あたり 192 であることもわかりました。おそらく、SM をさらに有効にして、SM あたりの SP の数を減らす方法があるでしょう。

画像

アップデート:私が質問する理由は、GPU 処理を効率的にしたいからです。1080 x 1920 の画像があり、それを 3 つのセグメントに分割しています。これらのセグメントを H2D で転送し、D2H を非同期で処理および転送しています。したがって、GPU のハードウェア構成を効率的に利用できるようなブロックの次元とブロックあたりのスレッド数を選択したいと考えています。さらに、SM が 2 つ以上 (たとえば 8 つ) で、SM あたりの SP 数が少ない (384/8 = SM あたり 48 SP) GPU が、SM が 2 つで SM あたり 192 SP の GPU と同じパフォーマンスを発揮するかどうか、まだわかりません。つまり、利用可能な SP の合計数が重要なのでしょうか?

答え1

順番に:

  1. 本当にSMが2つしかないのか、それとも一部のSMが無効になっているのかはわかりません

    GPU は GK107 です。2 つの SMX があり、それぞれに 192 SP があります。無効なプロセッサはありません。

  2. おそらく、より多くの SM を有効にする方法がいくつかあり、その場合 SM あたりの SP の数は減少するでしょう。

    ソフトウェアでシリコンを変更する魔法の方法はありません。

  3. 2 つ以上の SM (たとえば 8 つの SM) を持ちながら、SM あたりの SP 数が少ない (384/8 = SM あたり 48 SP) GPU が、SM が 2 つで SM あたり 192 SP を持つ GPU と同じパフォーマンスを発揮するかどうか、いまだにわかりません。

    これは大きな疑問であり、ここで答えるつもりはありません。NVIDIAは、各世代の主力コンピューティングカードのアーキテクチャとパフォーマンスに関する非常に詳細なホワイトペーパーをリリースしています。興味があれば、自分で読んでみることをお勧めします。そうは言っても、経験則として、同じアーキテクチャ世代内デバイスの SM または SMX が多いほど、算術境界操作のパフォーマンスが向上します。異なる世代の GPU を比較しても意味がありません。たとえば、NVIDIA がリリースした最初の Telsa コンピューティング カードには 16 SM (C860) が搭載されています。最新のカードには 15 SMX (K40) が搭載されています。ピーク単精度パフォーマンスには約 10 倍の差があります。また、多くの実際のアプリケーションはメモリ帯域幅にバインドされており、異なるカード間のパフォーマンスの違いが根本的に変わる可能性があることにも注意してください。コア数とピーク FLOP は多かれ少なかれムーアの法則に従っていますが、メモリ帯域幅は従っていません。

関連情報