我々はCUDA
プロファイラnvvp
を使用する場合は、例えば命令に対応付け「オーバーヘッド」のいくつかあります。CUDAプロファイラnvvpでは、「共有/グローバルメモリ再生オーバーヘッド」とは何ですか?どのように計算されますか?
- 支店発散のオーバーヘッドが、
- 共有/グローバルメモリ再生オーバーヘッド。および
- ローカル/グローバルキャッシュ再生オーバーヘッド。
私の質問は以下のとおりです。
- 何の原因(複数可)これらのオーバーヘッドそして、彼らがどのように計算されるか
- ?
- 同様に、グローバルロード/ストア効率はどのように計算されますか?
添付ファイル:これらのオーバーヘッドを計算するすべての数式は、CUDA5ツールキットにパックされた「CUDAプロファイラユーザーガイド」で見つかりました。
感謝を発行した100 *(L1共有コンフリクト)/命令として 計算され、BenCは、私が「リプレイ命令」と「共有バンク競合リプレイ」の割合を考え出しました。しかし、「グローバル/ローカルメモリ」のリプレイの式を考えると、グローバル/ローカルキャッシュミスが命令リプレイを引き起こす理由を把握することはできません。キャッシュミスが発生した場合、必要なものをフェッチするためにグローバルメモリに移動するだけで済みます。 – troore
あなたの質問に対する答えは[これらのスライド](http://developer.download.nvidia.com/CUDA/training/bandwidthlimitedkernels_webinar.pdf)で見つけることができると思います。他のすべての命令と同様に、ワープごとにメモリ操作が発行されます。ワープが次のワードを要求すると、不良メモリ合体は複数のl1ロードミスを招き、命令リプレイを引き起こします。私はCUDAの専門家ではないので、私の理解は正しくないかもしれません:-) – BenC
この[other link](http://www.freepatentsonline.com/8266383.html)は、あなたが探していたものかもしれませんが、技術的な詳細本当の動機を必要とします。 – BenC