VS2010、nsight 3.1、およびバンドルされたビジュアルプロファイラーを使用して、WindowsでCuda 5.5を使用しています。
ストアのみを行うおもちゃのカーネルがあり、nsight とビジュアル プロファイラーから異なるデータが表示されます。どちらを信頼すればよいですか?そして、なぜ私は異なる見解を得るのですか?
Nsight は 4.21MB のストアを示し、ビジュアル プロファイラは 71402 トランザクションを示し、これは 8.9MB を表します (それらすべてが 128B であると仮定)。その結果、Nsight によると、BW は 277GB/s、ビジュアル プロファイラーは 126.69GB/s です。
私のデータセットは 1024x1024 であるため、Nsight データはより現実に近くなっています。
編集
元の質問から多くの悪い仮定を削除しました。私はCPUとキャッシュの一貫性について少し考えていました。
アクセス パターン: 各スレッドは、次のように 1 バイト連続で 4 つのストアを実行します (dst は char*):
for (int i = 0; i < 4; i++) {
dst[offset+i] = 0;
}