我刚刚学习加速和最佳效率,在回顾一些笔记后,我有几个问题,希望我能得到帮助!这完全是出于理论而非实践,只是为了牢记。所以提前谢谢!
1)如果我有符号T(n,p),我的理解是它指的是在p处理器上计算n大小的作业所需的时间,所以如果我知道的话,
T(n,n ^ 2)= sqrt(n)和T(n,n)= n如何确定哪种算法在p的范围内运行得更快?我可以简单地将其中一个算法上的p设置为等于另一个算法并占用最小的时间吗?有没有办法在p的范围内计算这个?
2)最佳效率是什么意思?如果我知道串行算法和并行算法的执行时间为n和p的函数说(分别为n ^ 2和n ^ 2 / p + p * n),我如何计算max p以满足最优的要求效率?
3)我对复杂性有点模糊......大Theta到底是什么?对于关于串行算法的Θ(n ^ 2)和Θ(n ^ 2 / p +(n / sqrt(p))* log(p))的情况,我如何将max p确定为函数为了获得最大可能的效率?如果我发现加速S(p)=串行/并行,那么Theta家伙可以取消,然后使用E(p)= S(p)/ p公式计算效率的最大值?任何帮助将不胜感激!!!或任何正确方向的指针谢谢!