2011-02-01 10 views
0

親愛なる友人: 私はCUDAプログラミングを勉強したいと思います.Nvidia GTS 450 PCI_E車を購入しました。それには192のSMがあり、次にいくつのスレッドがあるのですか? 192スレッド?または192 * 512スレッド? ありがとうnvidia GTS 450にはいくつのスレッドがありますか

答えて

1

the specsによれば、お使いのデバイスには19230の「プロセッサコア」があります。ではなく、がSMと同じです。 CUDAでは、SMはロックステップで複数のスレッドを実行するマルチプロセッサです(1.3ファミリのデバイスでは8、それ以降のデバイスではより多くのスレッドが使用されます)。

使用されたスレッドの数は、カーネルの呼び出しの関数です。

通常、CUDAで優れたパフォーマンスを得るには、CUDAプロセッサコアよりも多くのスレッドを実行する必要があります。これは、グローバルメモリアクセスのレイテンシを隠すためです。

+0

ご協力いただきありがとうございます!それは私が呼び出すことができるスレッドの最大限の上限を持っていますか? – ztdep

+0

実行できるスレッドの最大数は、ブロックあたりの最大スレッド数と最大グリッドサイズの積です。あなたはCUDAプログラミングガイドをチェックしてください - それはあなたに値を教えてくれるでしょう。 – Edric

2

CUDAの用語threadsは、ハードウェアのプロパティではなく、特定のカーネル呼び出しのプロパティを指します。
は、例えば、このCUDAの呼び出しで:

someFunction<<<2,32>>>(1,2,3); 

あなたは2つのブロックで32スレッド、合計で非常に64個のスレッドを持っています。
ハードウェアはプロセッサに自動的にスレッドをスケジュールします。

+2

私は彼が可能なスレッドの最大数を求めていると思います。各ブロックで最大で512スレッドが可能であると考えると、彼は自分のGPUが192 * 512スレッドを一度に実行できることが正しいかどうか疑問に思います。 – jetru

関連する問題