2

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

4

3 回答 3

1

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

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

使用 NVIDIA CUDA 进行大规模机器学习

使用图形处理器单元的基于模糊逻辑的图像处理

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

于 2013-10-01T12:12:50.557 回答
1

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

于 2013-10-01T11:42:11.110 回答
0

你可以去 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

于 2013-10-01T12:09:38.720 回答