私は 行列ベクトル乗算と加算の帯域幅を計算したいと思います:(A = M回N大を想定) Y = A * X + B正しい有効帯域をy = Ax + b?
しかし、私は読んで、書いたものについて少し混乱していますグローバルメモリから読み込まれたバイト数を数える:
は、効果的な帯域幅である:
bytesReadWrite = M*N (for reading A) + N(for read x) + M (for read b) + M(for write y)
またはそれが
bytesReadWrite = M*N (for reading A) + M*N (for read x) + M (for read b) + M(for write y)
です
xの場合はM * Nは基本的に各行のx全体を一度読み込むためです(共有メモリを使用する場合は、最終的にx行全体を一度読み込みます)
誰かに良いアドバイスがありますか正しい選択は何ですか?私は本当にこれを取得しないでください...
私は最初の計算を使用する傾向がありますが、なぜですか?それは理にかなっていますか?
ありがとうございました!!!
OK、行列のベクトル乗算を完了するための最小限の努力が含まれているので、最も意味のあるエフェクト帯域幅の計算が最初のものです... – Gabriel