FPGA测量准确的时间

时间:2010-11-26 19:32:08

标签: measurement fpga units-of-measurement

我们正在检查在FPGA与普通Quad x86计算机上运行算法的速度有多快。

现在在x86,我们运行算法很多次,并采用中位数来消除操作系统开销,这也“清除”错误的曲线。 那不是问题。

FPGA算法中的测量是周期性的,然后采用周期时间,而FSMD无论如何都很容易计算周期......

我们认为计数周期太“纯粹”测量,这可以在理论上完成,不需要在真实的FPGA中进行真正的测量或运行算法。

我想知道是否存在一篇论文或一些想法,以进行实时测量。

1 个答案:

答案 0 :(得分:5)

如果您正在尝试确定您的FPGA实现具有竞争力或优越性,因此可能在现实世界中有用,那么我建议您在多处理器与FPGA实现上比较**挂钟时间**。这也有助于确保您不会忽视FSM +数据路径之外的性能影响(例如I / O延迟)。

我同意报告周期数不具代表性,因为FPGA周期时间可能是现成商用微处理器的10倍。

现在提供一些额外的未经请求的建议。我去过很多FCCM会议,类似的,我听过很多数十个FPGA实现与CPU实现性能对比的论文。很多时候,一篇论文比较了花了几个月的自定义FPGA实现与CPU +软件实现,其中工程师只是从架子上获取基准源代码,编译它,并在一个下午运行它。我发现此类演示文稿并不引人注目。

公平的比较将评估使用最佳实践的软件实现,最佳可用库(例如英特尔MKL或IPP),跨多核使用多线程,使用矢量SIMD(例如SSE,AVX,...)而不是标量计算,使用分析器等工具消除容易修复的浪费,像Vtune一样理解和调整缓存+内存层次结构。另外,请务必报告在FPGA上花费的实际工程时间与软件实现的比较。

更多免费建议:在这些以能源为中心的时间里,结果/焦耳可能超过结果/秒,还要考虑报告实施的能效。

更多免费建议:要在“四核x86”上获得最多可重复次数,请确保停顿机器,关闭后台处理器,守护进程,服务等,断开网络连接。

快乐的黑客攻击!