我编写了一个 CUDA 代码来解决一个 NP-Complete 问题,但性能并不像我想象的那样。
我知道“一些”优化技术(使用共享内存、纹理、零拷贝......)
CUDA 程序员应该知道的最重要的优化技术是什么?
您应该阅读 NVIDIA 的 CUDA 编程最佳实践指南:http: //developer.download.nvidia.com/compute/cuda/3_0/toolkit/docs/NVIDIA_CUDA_BestPracticesGuide.pdf
这有多个不同的性能提示以及相关的“优先级”。以下是一些最重要的提示:
新的 NVIDIA Visual Profiler (v4.1) 支持自动性能分析,以识别应用程序中的性能改进机会。它还直接链接到其检测到的问题的最佳实践指南中最有用的部分。Visual Profiler 作为 CUDA 工具包的一部分在 NVIDIA 的开发人员网站上免费提供:http ://www.nvidia.com/getcuda 。