问题: 1.kernal函数中单独的赋值运算,比如A=B,不算浮点操作吧? 2.是一个等式算一次浮点操作,还是一个加号或者乘号分别算一次浮点操作? 比如S=0.5*(A+B+C+D)算4次浮点操作么? 3.kernal函数中所有的计算等式,包括对global内存 share内存 寄存器的计算操作,都应该计入浮点操作吧? 4. - C/C++ code
数据带宽(GB/s)=矩阵元素数目(NX*NY)*浮点字节数(4)*矩阵个数(2)*迭代次数/(10e9*计算时间)
计算速度(Gflops)=矩阵元素数目(NX*NY)*浮点操作数*迭代次数/(10e9*计算时间)
这里公式中计算时间都用kernal函数的运算时间对不对?? 至于迭代次数,我并没有将迭代循环写在kernal函数内部,而是循环调用kernal函数,这样对计算带宽和计算速度有没有什么影响?? 5.怎么计算一个显卡的理论GFLOPS? 不好意思,问题有点多,麻烦各位了,结贴时再加100分,谢谢指教 |