NPP功能不是完全优化的吗?

sga*_*zvi 9 cuda npp

我开发了一个天真的功能,使用CUDA C++水平或垂直镜像图像.

然后我才知道NVIDIA Performance Primitives Library还提供了图像镜像功能.

仅仅为了比较,我计算了我对NPP的功能.令人惊讶的是,我的功能表现优异(尽管差距很小,但仍然......).

我使用Windows计时器和CUDA计时器多次确认了结果.

我的问题是:NPP功能是否完全针对NVIDIA GPU进行了优化

我正在使用CUDA 5.0,GeForce GTX460M(Compute 2.1)和Windows 8进行开发.

har*_*ism 11

通过发布这个答案,我冒险得不到选票.:)

NVIDIA不断努力改进我们所有的CUDA库.NPP是一个特别大的库,有4000多个功能需要维护.我们有一个现实的目标,即为库提供超过CPU等效的有用加速,这些库在所有GPU和支持的操作系统上进行测试,并且得到了积极的改进和维护.有问题的功能(镜像)是一个已知的性能问题,我们将在以后的版本中进行改进.如果您需要优化特定功能,则优先考虑的最佳方法是使用NVIDIA CUDA注册开发人员可用的错误提交表单提交RFE错误(请求增强).

顺便说一句,我认为任何图书馆都不能"完全优化".有了一个大型库来支持大型且不断增长的硬件基础,优化它的工作永远不会完成!:)

我们鼓励人们继续尝试并超越NVIDIA图书馆,因为总体而言,它推动了最先进的技术并使计算生态系统受益.

  • 顺便说一句......可以肯定地说,通过足够的时间和精力,通常可以在原始性能方面击败库函数.图书馆通常会做出较少的假设,以便更广泛地应用.当您自己动手时,您可以使用特定于您的情况的所有假设来加快速度.想到的一个例子(不是GPGPU,但可能适用相同的想法)是在排序中.如果您对数据有很多了解并且愿意将这些假设融入代码中,那么打标准排序方法并不难. (4认同)