5

Kepler アーキテクチャ ホワイトペーパーで、NVIDIA は、SMX に特殊32機能ユニット (SFU) と32ロード/ストア ユニット (LD/ST) があると述べています。

SFUは「高速近似超越演算」用です。残念ながら、これが何を意味するのか理解できません。一方、SFU 向けの特別な CUDA 倍精度三角関数では、単精度でしか機能しないと言われています。これは K20Xm でも正しいですか?

LD/ST ユニットは、もちろん保管とロード用です。論文のいずれかを通過するために必要なメモリのロード/ライトはありますか? また、それらはシングルワープとしても使用されますか? 言い換えれば、現在書き込み中または読み取り中のワープは 1 つだけでよいのでしょうか?

乾杯、アンディ

4

2 に答える 2

2

これを答えとして受け入れないでください。倍精度の超越演算に関するあなたの質問に誰かが答えてくれることを期待しています。質問の 2 番目の部分である LD/ST ユニットについてお話ししたいと思います。

LD/ST ユニットは、もちろん保管とロード用です。

はい。

これらのいずれかを実行するために必要なメモリロード/書き込みはありますか?

はい。

また、それらはシングルワープとしても使用されますか?

はい、ワープ内のすべてのアクティブなスレッドは、常に同じクロック サイクルで同じタイプの命令を発行します。その命令がロードまたはストアの場合、LD/ST ユニットに発行されます。スレッドが (ループまたは条件付き実行のために) 非アクティブである場合、対応する LT/ST ユニットはアイドル状態のままになります。

言い換えれば、現在書き込み中または読み取り中のワープは 1 つだけでよいのでしょうか?

いいえ、LD/ST ユニットは、メモリ レイテンシが数百サイクルになる可能性がありますが、クロックごとに 1 つのロードまたはストア操作を受け入れることができます。そのため、1 つのワープがロード命令を出すと、LD/ST ユニットはそのデータの取得に取り掛かります。データに依存するワープ内の命令は、データが到着するまで発行できなくなります。次のクロック サイクルでは、ワープは他の独立した命令を実行する可能性があります (命令レベルの並列処理)。他の独立したロードまたはストア命令でさえも。スケジュールに適した別のワープが、次のクロック サイクルで別のロード命令を発行し、それ自体が待機状態になることもあります (スレッド レベルの並列処理)。その時点で、LD/ST ユニットは 2 つの保留中の結果を追跡しています。キャッシングと合体により、2 番目のワープのデータが最初に到着する可能性があります。

于 2013-12-09T16:34:46.710 に答える