gpt4 book ai didi

cuda - 计算 CUFFT 的性能

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:03 24 4
gpt4 key购买 nike

我在分成多个 GPU 的 block (N*N/p) 上运行 CUFFT,我有一个关于计算性能的问题。首先,介绍一下我是如何做的:

  1. 向每个 GPU 发送 N*N/p 个 block
  2. 对 p 个 GPU 中的每一行进行批量 1-D FFT
  3. 将 N*N/p 个 block 返回给主机 - 对整个数据集执行转置
  4. 同上第 1 步
  5. 同上第 2 步

Gflops = ( 1e-9 * 5 * N * N *lg(N*N) )/执行时间

执行时间计算如下:

执行时间 = Sum(memcpyHtoD + kernel + memcpyDtoH times for row and col FFT for each GPU)

这是在多个 GPU 上评估 CUFFT 性能的正确方法吗?有没有其他方法可以表示 FFT 的性能?

谢谢。

最佳答案

如果您正在进行复杂的变换,则操作计数是正确的(对于实值变换,它应该是 2.5 N log2(N)),但 GFLOP 公式不正确。在并行的多处理器操作中,通常的吞吐量计算是

operation count / wall clock time

在您的情况下,假设 GPU 并行运行,或者测量执行时间的挂钟时间(即整个操作花费的时间),或者使用这个:

execution time = max(memcpyHtoD + kernel + memcpyDtoH times for row and col FFT for each GPU)

就目前而言,您的计算代表串行执行时间。考虑到多 GPU 方案的开销,我预计您获得的计算性能数字将低于在单个 GPU 上完成的等效转换。

关于cuda - 计算 CUFFT 的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392418/

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