GPU 与 CPU 加速比

问题描述 投票:0回答:1

参考这篇论文,对于一些简单的图像处理任务,例如,只有很小的加速。当调整图像大小时,您可以获得大约 2 倍的最大加速(CPU 程序的总时间与 GPU 程序的总时间)。他们使用 PC(处理器:Intel(R) Core(TM) i7-6700 CPU @3.40GHz(8 个 CPU)、16GB RAM、DirectX11 和 NVIDIA GeForce GTX 970,具有 1664 个 CUDA 核心 @1050 MHz)来运行这两种版本他们的代码:一种使用 CPU 的代码,一种使用 GPU 的代码。

为什么加速比这么低?没有给出代码,因此并行化能力有限可能是原因。

假设您获得了良好的并行化,您的 CPU 有 n 个核心,GPU 核心数为 m。将数据传输到 GPU 可能需要一些时间。忽略将数据传输到 GPU 所需的时间(这可能不是主要瓶颈,see,第 17 页),为什么加速不是 m/n?限制在哪里(架构、时钟速度……)?

我目前正在寻找一些文献或好的解释,希望你们能帮助我。

cuda gpu cpu
1个回答
-2
投票

有很多因素会影响较低的加速,这些因素包括但不限于以下:

  • 主机和设备通信的次数。
  • 输入大小
  • 正在使用的线程数。
  • 数据类型(浮点型、双精度型、整数型等)
  • 页面错误 GPUS 计算能力。

所有这些显然都可以进一步优化,但任何具体细节都将取决于代码。

虽然有点过时,但这可能是 CUDA 概念和设计模式的重要资源:https://developer.nvidia.com/cuda-example

当然还有所有 cuda 的主要资源(几乎是最新的)https://docs.nvidia.com/cuda/

© www.soinside.com 2019 - 2024. All rights reserved.