理論的な質問があります。ご存じのとおり、スケーリングの分析では、高速化は S(N) = T(1) / T(N) として定義されます。ここで、T(i) は i プロセッサでのランタイムです。効率は、E(N) = S / N として定義されます。これらの定義は、ストロング スケーリングに対して完全に理にかなっています。
現在、プログラムの弱いスケーリング効率を計算しようとしています。この場合、次の問題が発生します。これらの式は、弱いスケーリングには意味がありません。スケーリングが弱いということは、プロセッサのワークロードが同じで、プロセッサの数が増加することを意味します (したがって、問題の合計サイズも増加します)。
上記の式を使用すると、完全にスケーリングされたプログラムのスピードアップは 1 になり、効率は 1/N になります。
弱いスケーリング効率を E(N) = S(1) / S(N) として定義する方がより適切と思われます。ここに実際の質問があります: 弱いスケーリング効率は一般的にどのように定義されていますか? 私が言ったように、それはもっと理にかなっていますか?
私はそれを見つけようとしましたが、得られたのはよく知られた式だけでした.おそらく暗黙のうちに強力なスケーリングにのみ使用されました.