CUDA的运算速度和硬件水平的关系大不大?

芝子机 2014-07-29 12:36:16
我的GPU显卡是Geforce 205。。 已经不能再低了,然后我用cuda编的程序算出来的时间比cpu的循环运算慢好多。。用CUFFT的加速好像也没有想象中的那么快,反而编译时间就要好久。各位大神指教一下,这种运算和硬件的关系大吗?是不是我换一个好点的显卡就可以加速好多?有推荐的显卡型号吗。。
...全文
238 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ADSL794613 2014-08-24
  • 打赏
  • 举报
回复
你试试做更复杂的操作,或者循环几十次? 时间计算有没有计算内存拷贝的时间在里面?
hello_hi_hi 2014-08-18
  • 打赏
  • 举报
回复
这和计算机的时钟分辨率有关,同时计算机是一分时系统,存在最小时间片。
芝子机 2014-08-06
  • 打赏
  • 举报
回复
引用 4 楼 seinedeparis 的回复:
[quote=引用 3 楼 u012524784 的回复:] 我修改了一下程序,运行速度确实提高了不少。。但是最后结果还是比CPU的慢一点啊。另外为什么我的CPU计时函数,用getTickCount()测的是15ms,而用QueryPerformanceCounter()测出来的就是3ms多一点呢。。差别好大啊
说不定是你的计时程序的问题,我一般都用cuda提供的计时程序,不管是CPU还是GPU。[/quote 谢谢你的回复哈,关键我的CPU程序是写在C++中的,直接就用windows自带的函数了。我再看看
adagio_chen 2014-08-04
  • 打赏
  • 举报
回复
引用 3 楼 u012524784 的回复:
我修改了一下程序,运行速度确实提高了不少。。但是最后结果还是比CPU的慢一点啊。另外为什么我的CPU计时函数,用getTickCount()测的是15ms,而用QueryPerformanceCounter()测出来的就是3ms多一点呢。。差别好大啊
说不定是你的计时程序的问题,我一般都用cuda提供的计时程序,不管是CPU还是GPU。
芝子机 2014-08-04
  • 打赏
  • 举报
回复
我修改了一下程序,运行速度确实提高了不少。。但是最后结果还是比CPU的慢一点啊。另外为什么我的CPU计时函数,用getTickCount()测的是15ms,而用QueryPerformanceCounter()测出来的就是3ms多一点呢。。差别好大啊
adagio_chen 2014-08-04
  • 打赏
  • 举报
回复
205 是有点老了。不过正常情况下还是比CPU快的。出发是你的代码有问题,或者算法本身就不适合并行。
芝子机 2014-07-29
  • 打赏
  • 举报
回复
__global__ void HanWinProcess(float *HanWin,float *Data,float *DataProcessed) { int i=threadIdx.x+blockIdx.x*blockDim.x; int j=threadIdx.y+blockIdx.y*blockDim.y; if(i%Data_Row==j) { DataProcessed[i]=Data[i]*HanWin[j]; } } 贴上我的核函数

579

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧