gpt4 book ai didi

performance - CUBLAS dgemm 性能查询

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

这些是我在 4 个 GPU 上运行 cublas DGEMM 的结果,每个 GPU 使用 2 个流(Tesla M2050):

enter image description here

我已经测试了我的结果,它们没问题;与使用默认流的版本相比,我担心我获得的高 Gflops 值。我正在使用以下公式计算 Gflops:
Gflops = {2.0*10^-9*(N^3+N^2)}/elapsed_time_in_s
对于使用多个流的版本,我是否需要以任何方式修改此公式?
HtoD-ker-DtoH是主机到设备数据传输、内核执行和设备到主机数据传输所用的时间(以秒为单位)(这是上述公式的分母)。
交叉发布到 Nvidia 论坛 - http://forums.nvidia.com/index.php?showtopic=219910&st=0#entry1350908

编辑:在@talonmies 的评论之后,我添加了一个 cudaStreamSynchronize在计算时间之前,结果如下:

enter image description here

谢谢,

萨彦

最佳答案

单个 C2050 提供大约 550 GFLOP/s 的峰值,或者对于 double 的 4 个峰值提供大约 2200 GFLOP/s,并且 DGEMM 远低于峰值),所以我猜你在流情况下的时间是错误的(可能是在默认流情况下是同步的,现在是异步的)。无论您如何进行计算,FLOP/s 计算都不应改变。

我会检查您的代码以确保您使用的任何计时机制都与您启动的所有流同步,无论是通过 cudaStreamWaitEvent跨所有流的机制,或 cudaStreamSynchronize每个流。在 GPU 完成 CUBLAS 操作之前,时间可能超出了您尝试计时的代码。

关于performance - CUBLAS dgemm 性能查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712874/

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