动机:我的任务是测量我的 CUDA C 代码的Karp-Flatt 度量和并行效率,这需要计算加速。特别是,我需要将所有这些指标绘制为处理器数量的函数p
。
定义: 加速比是指并行算法比相应的顺序算法快多少,定义为:
问题:我已经在CUDA C中实现了我的算法,并已将其计时为 get Tp
。但是,在确定中仍然存在一些问题Sp
:
- 如何在
T1
不从头开始完全重写我的代码的情况下进行观察?- 我可以串行执行CUDA代码吗???
p
当我使用不同数量的线程运行不同的内核时 会发生什么?- 是不是指没有。线程或没有。整个运行时使用的处理器数量?
- 由于这两个量在整个运行期间也会发生变化,它是使用的最大值还是平均值?
- 我什至如何限制我的代码在处理器子集或更少线程上运行!?
非常感谢。