mch*_*hen 16 performance metrics cuda gpgpu
动机:我的任务是测量我的CUDA C代码的Karp-Flatt度量和并行效率,这需要计算加速.特别是,我需要将所有这些指标绘制为处理器数量的函数p.
定义: 加速是指并行算法比相应的顺序算法快多少,定义为:

问题:我已经在CUDA C中实现了我的算法,并且已经计时了Tp.但是,在确定时仍存在一些问题Sp:
T1不完全重写代码的情况下观察?
p时候我运行不同的内核与不同数量的线程?
非常感谢.
Ira*_*ter 11
要获得合理的加速度量,您需要实际的顺序程序.如果你没有,你需要编写最好的顺序版本,因为将高度调整的并行代码与垃圾串行实现进行比较是不合理的.
您也无法合理地将并行程序的1处理器版本与N处理器版本进行比较,以获得真正的加速度量.这样的比较告诉你加速从同一程序的P = 1到P = N,但加速曲线的要点是为什么要建立一个并行程序(这通常更难,需要更复杂的硬件[GPU]和与使用更广泛可用的硬件和工具编写最佳顺序版本相比,工具[OpenCL]更有意义.
换句话说,没有作弊.