这些是我在 4 个 GPU 上运行 cublas DGEMM 的结果,每个 GPU 使用 2 个流(Tesla M2050):
我已经测试了我的结果,它们没问题;与使用默认流的版本相比,我担心我得到的高 Gflops 值。我正在使用以下公式计算 Gflops:
Gflops = {2.0*10^-9*(N^3+N^2)}/elapsed_time_in_s
对于使用多个流的版本,我是否需要以任何方式修改此公式?
HtoD-ker-DtoH
是主机到设备的数据传输、内核执行和设备到主机的数据传输所花费的时间,以秒为单位(这是上面公式的分母)。 Crosspost 到 Nvidia 论坛 - http://forums.nvidia.com/index.php?showtopic=219910&st=0#entry1350908
编辑:根据@talonmies 的评论,我cudaStreamSynchronize
在计算时间之前添加了一个,结果如下:
谢谢,
萨彦