我开发了一个简单的函数,用于使用CUDA C ++水平或垂直镜像图像。
然后我才知道NVIDIA Performance Primitives Library还提供了图像镜像功能。
为了便于比较,我计算了我对抗NPP的功能。令人惊讶的是,我的功能表现优异(尽管差距很大,但仍然......)。
我使用Windows计时器和CUDA计时器多次确认了结果。
我的问题是: NPP功能是否完全针对NVIDIA GPU进行了优化?
我正在使用CUDA 5.0,GeForce GTX460M(计算2.1)和Windows 8进行开发。
答案 0 :(得分:11)
我冒险通过发布这个答案来获得选票。 :)
NVIDIA不断努力改进我们所有的CUDA库。 NPP是一个特别大的库,有4000多个功能需要维护。我们有一个现实的目标,即为库提供超过CPU等效的有用加速,这些库在所有GPU和支持的操作系统上进行测试,并且得到了积极的改进和维护。有问题的功能(镜像)是一个已知的性能问题,我们将在以后的版本中进行改进。如果您需要优化特定功能,那么优先考虑的最佳方法是使用NVIDIA CUDA registered developers提供的错误提交表单提交RFE错误(请求增强)。
顺便说一句,我认为任何图书馆都不能“完全优化”。有了一个大型库来支持大型且不断增长的硬件基础,优化它的工作永远不会完成! :)
我们鼓励人们继续尝试并超越NVIDIA图书馆,因为它总体上推动了最先进的技术并使计算生态系统受益。