我一直试图在我已实施Python分布式处理程序的所有计算机上对FLOPS进行标准化估算。虽然我目前可以非常精确地计算出砂岩,但是我并不完全知道它是多么精确,我并不完全确定它们的准确度。
因此,我需要一种方法来计算(或已经完成它的模块)FLOPS在各种机器上,这些机器可能有各种各样的CPU等。看起来Python是一种解释型语言,简单来说计算一定数量的操作所花费的时间不会在Linpack的水平上执行。虽然我并不特别需要与其中一个大名字相同的估计值。在基准测试中,我希望它至少相当接近。
因此,是否有方法或预先存在的模块允许我获得FLOPS?否则,我唯一的选择是编译成Cython,或者尝试根据CPU时钟速度估算功能......
答案 0 :(得分:5)
Linpack,或高性能linpack,通常是测量触发器的行业标准。我找到了一个python实现here,但它可能没什么用,标准实现(特别是如果你有一个集群)将使用HPL。除非你想在python中实现你自己的并行linpack,否则HPL就是你的选择。这就是top 500 list上大多数怪物超级计算机用来衡量其性能的原因
如果你真的很想做到这一点,即使它可能没有意义或有多大用处,你可能想要考虑将原始的MPI版本移植到0-MQ,它有一个很好的python接口