1

已经完成了将 CRS 矩阵和向量 (SpMV) 相乘的应用程序,现在唯一要做的就是计算我的应用程序所做的 FLOPS。在我看来,在稀疏矩阵 - 向量乘法的情况下,很难估计浮点运算的数量,因为一行中的乘法数量确实“跳跃”或流畅。

我只尝试使用“cudaprof”(在 ./CUDA/bin 目录中可用)来测量时间 - 它工作正常。

任何建议和指导贴表示赞赏!

4

1 回答 1

2

这不仅仅是你的意见。一个简单的事实是,在稀疏矩阵的情况下,操作的数量与数据相关,因此如果不了解数据,就无法得到合理的答案。这使得不可能有一个数字适合所有数据的估计。

这可能是您可以花几个小时认真思考(并进行大量研究)以做出可能准确估计的情况之一,或者您可以花几分钟编写现有实现的变体以增加每次执行操作时都有一个计数器。当然,这将需要相当长的时间来运行(尤其是如果您不以启用 CUDA 的形式执行此操作),但可能比进行思考所需的时间要少得多,当答案出来时,你不必做很多工作来说服自己这是正确的。

于 2010-05-10T20:48:59.477 回答