与普通单处理器内核相比,CUDA或OpenCL代码上的算法运行速度有多快? (考虑到算法是针对CPU和GPU目标编写和优化的). 我知道这取决于显卡和CPU,但是说,NVIDIA最快的GPU之一和英特尔i7处理器
我知道这取决于显卡和CPU,但是说,NVIDIA最快的GPU之一和英特尔i7处理器的(单核)?
我知道这也取决于算法的类型.
我不需要严格的答案,但经验丰富的例子如下:对于使用双精度浮点的图像处理算法和每个像素10次操作需要前5分钟,现在使用此硬件在x秒内运行.
你的问题过于宽泛,很难回答.此外,只有一小部分算法(没有太多共享状态的算法)可用于GPU.但我确实想敦促你对索赔持批评态度.我正在进行图像处理,并阅读了很多关于这个主题的文章,但是经常在GPU的情况下,将输入数据上传到GPU并将结果下载回主存的时间不包括在因子的计算中.
虽然在某些情况下这无关紧要(两者都很小或者存在进一步减小尺寸结果的第二阶段计算),但通常必须传输结果和初始数据.
我已经看到这种情况变成了负面因素,因为单独的上传/下载时间比主CPU需要进行计算的时间长.
几乎相同的事情适用于组合不同GPU卡的结果.
更新较新的GPU似乎能够使用乒乓缓冲区同时上传/下载和计算.但建议彻底检查边境条件仍然存在.那里有很多东西.