【问题标题】:When does it make sense to use a GPU?什么时候使用 GPU 才有意义?
【发布时间】:2013-10-07 13:05:42
【问题描述】:

我有代码对可以表示为数组的对象进行大量操作。 在应用程序中使用 GPGPU 环境(如 CUDA)什么时候有意义?我可以在编写真正的代码之前预测性能提升吗?

【问题讨论】:

  • 您可以提供有关代码中最耗时部分的更多详细信息,以便其他人了解具体的操作。
  • @Eric,问题是代码量很大(机器学习和模糊计算)。只是对数组元素的加号、减号等操作。
  • 向量和矩阵。听起来不错。

标签: cuda gpu


【解决方案1】:

如前所述,您应该说明您的问题。但是,如果大部分代码涉及对对象的独立操作,即对象 n 不必等待对象 0 到 n-1 的操作结果,那么 GPU 可能会提高性能。

【讨论】:

    【解决方案2】:

    您可以访问 CUDA Zone,大致了解 CUDA 可以做什么以及比 CPU 做得更好。

    https://developer.nvidia.com/category/zone/cuda-zone

    CUDA 已经提供了大量的性能库、工具和生态系统来降低开发难度。它还可以帮助您了解 CUDA 擅长的操作类型。

    https://developer.nvidia.com/cuda-tools-ecosystem

    此外,CUDA 还提供了一些最常见和最具代表性的操作的基准报告。您会发现您的代码是否可以从中受益。

    https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/CUDA_5.0_Math_Libraries_Performance.pdf

    【讨论】:

      【解决方案3】:

      便利性取决于许多因素。大型数组/矩阵上的元素独立操作是一个很好的候选者。

      对于您的特定问题(机器学习/模糊逻辑),我建议您阅读一些相关文档,如

      Large Scale Machine Learning using NVIDIA CUDA

      Fuzzy Logic-Based Image Processing Using Graphics Processor Units

      感受一下其他人实现的加速。

      【讨论】:

      • 大型数组/矩阵 抱歉,这里有什么大不了的,GPU 什么时候开始发挥作用? 100个元素的矩阵,1000个元素100k个元素?谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 2014-07-21
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多