假设我有算法1和2,它们的顺序执行时间是ts1和ts2。它们的并行执行时间是tp1和tp2。
现在计算两种算法的加速时,以下哪项是真的?
或
换句话说,对于分子,我应该使用最佳顺序时间还是自己的连续时间?
答案 0 :(得分:1)
以上都不是
a SPEEDUP
BETWEEN
a BLACK-BOX <PROCESS_2>
[START] and
+-----------------------------------------+ a BLACK-BOX <PROCESS_1>
| |
[T0] [T0+ts1] [T0+ts1+tp1]
| | |
| | |
v v v
|________________|R.0: ____.____.____.____| ~~ <PAR.1:1> == [SEQ]
| |R.1? ____.____| :
| |R.2? ____| : :
| |R.3? ____| : :
| | : : :
|<SEQ.1>>>>>>>>>>| : : :
| |<PAR.1:N>: : :
| : : :
: : :
: : [FINISH] using 1 PAR-RESOURCE
: [FINISH] if using 2 PAR-RESOURCEs
[FINISH] if using 4 PAR-RESOURCEs
(执行时间从左到右,从[T0]
..流向[T0 + ts1 + tp1]
。[SEQ]
,[PAR]
部分的草绘顺序仅用于这里的说明性目的可以是相反的,因为流程部分&#39;持续时间排序原则上是可交换的)
上述 [SEQ]+[PAR]
流程的一些正式简化可能有助于回答并理解原因。
无需告诉任何HPC规划人员, Amdahl Law规则(the better if extended form of Amdahl, the overhead + atomicity aware formulation已被使用)。
我们看到R.i
中[PAR]
部分使用的 PROCESS_1
资源越多, tp1
越短可能会得到。这是[PAR]
- 处理的力量。
只考虑一对元组( ts1, tp1 )
和( ts2, tp2 )
,没有人可以假设任何潜在的Amdahl法则 - 资源驱动(如图1所示) - 加速,但如果一个人努力为了比较两个假设的实现,具有可能不同的内部处理,可能的加速 S
可以表示为:
max( [ ts1 + tp1 ], [ ts2, tp2 ] )
S = ______________________________________
min( [ ts1 + tp1 ], [ ts2, tp2 ] )
答案 1 :(得分:0)
您的问题存在根本问题。这就是你被困的原因。问题是 Speedup 是为处理器而不是算法定义的。
在计算机体系结构中,加速是一个提高处理相同问题的两个系统之间性能的过程。从技术上讲,它是在两个具有不同资源的类似架构上执行任务的执行速度的提高。
取自Wikipedia。
的定义