動機: Karp-Flatt メトリクスとCUDA C コードの並列効率を測定する任務を負っていますが、これには高速化の計算が必要です。特に、これらすべてのメトリックをプロセッサ数の関数としてプロットする必要がありますp
。
定義: スピードアップとは、並列アルゴリズムが対応する逐次アルゴリズムよりもどれだけ高速であるかを指し、次のように定義されます。
問題:アルゴリズムをCUDA Cに実装し、時間を計って を取得しTp
ました。ただし、決定にはいくつかの問題が残っていますSp
。
T1
コードを最初から完全に書き直さず に観察するにはどうすればよいですか?- CUDAコードをシリアルで実行できますか???
p
異なる数のスレッドで異なるカーネルを実行すると どうなりますか?- いいえを指しますか。スレッドの数またはいいえ。ランタイム全体で使用されるプロセッサの数?
- これらの量はどちらも実行時に変化するため、使用されるのは最大値ですか、それとも平均値ですか?
- コードをプロセッサのサブセットで実行したり、より少ないスレッドで実行したりするように制限するにはどうすればよいでしょうか!?
どうもありがとう。