gpt4 book ai didi

performance - 如何计算 GPU 程序的加速比?

转载 作者:行者123 更新时间:2023-12-03 14:59:06 28 4
gpt4 key购买 nike

动机:我的任务是测量 Karp-Flatt metricparallel efficiency我的 CUDA C 代码,这需要计算加速。特别是,我需要将所有这些指标绘制为处理器数量的函数 p .

定义: Speedup指并行算法比相应的顺序算法快多少,定义为:

enter image description here

问题:我已经在 中实现了我的算法CUDA C ,并定时获取 Tp .然而,在确定Sp方面仍然存在一些问题。 :

  • 如何观察T1没有从头开始完全重写我的代码?
  • 我可以串行执行 CUDA 代码吗???
  • 什么是p当我运行具有不同线程数的不同内核时?
  • 它是指否。线程数或没有。整个运行时使用的处理器数量?
  • 由于这两个数量也会在整个运行时发生变化,它是使用的最大值还是平均值?
  • 我什至如何限制我的代码在处理器子集或更少线程上运行!?

  • 非常感谢。

    最佳答案

    为了获得合理的加速测量,您需要实际的顺序程序。如果您没有,则需要编写最好的顺序版本,因为将高度调整的并行代码与垃圾串行实现进行比较是不合理的。

    您也无法合理地将并行程序的 1 处理器版本与 N 处理器版本进行比较,以获得真正的加速测量。这样的比较告诉你对于同一个程序从 P=1 到 P=N 的加速,但加速曲线的重点是说明为什么构建一个并行程序(这通常更难,而且需要更复杂的硬件 [GPU] 和工具 [OpenCL]) 与使用更广泛可用的硬件和工具编写最佳顺序版本相比更有意义。

    换句话说,没有作弊。

    关于performance - 如何计算 GPU 程序的加速比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14346301/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com