cuda v100 と RTX2080 の帯域幅の変動

cuda v100 と RTX2080 の帯域幅の変動

私は、次のような単純なCUDAカーネル(サイズNのベクトルを2つ追加)を持っています。このcudaブログへ. いくつかの点を変更しただけです。たとえば、さまざまなサンプルで測定を実行します。したがって、これをたとえば 1000 回実行し、その後この測定値を txt に書き込みます。デバイスにベクトルを転送するための測定値をプロットすると、次のようになります。

ここに画像の説明を入力してください

さて、縦方向のエラーバーとして描かれた標準偏差を見ると、何らかの理由で、データの動きの変動がサイズに比例していることが明らかです。これは、ログ対数プロットではエラーバーが一定であるためです。これは、標準偏差のみがプロットされているときに確認できます。

ここに画像の説明を入力してください

同じプログラムをcudaブログ、その後、10 回の実行ごとに帯域幅の変動も発生します。これはどこから来るのでしょうか? 2 つの異なる GPU、V100 と RTX2080 で同じ動作を確認しました。画像に関してご不便をおかけして申し訳ありませんが、評判ポイントが足りません。

答え1

としてnvidia devフォーラムのユーザー提案非固定メモリの代わりに固定メモリを試してみたところ、かなりうまくいきました。変動はほぼ完全になくなりました。

関連情報