Python触发器计算

Python触发器计算,python,flops,Python,Flops,我一直在尝试对我在上面实现了Python分布式处理程序的所有计算机上的失败进行标准化估计。虽然我目前可以很好地计算Pytones,但Pytones并不是很有名,我也不完全确定它们到底有多准确 因此,我需要一种方法来计算(或一个已经计算过的模块)各种机器上的触发器,这些机器可能有各种各样的CPU,等等。鉴于Python是一种解释语言,简单地计算执行一定数量操作所需的时间不会在Linpack级别上执行。虽然我并不特别需要与基准测试中的一个“大牌”有完全相同的估计,但我希望它至少合理接近 因此,有没有

我一直在尝试对我在上面实现了Python分布式处理程序的所有计算机上的失败进行标准化估计。虽然我目前可以很好地计算Pytones,但Pytones并不是很有名,我也不完全确定它们到底有多准确

因此,我需要一种方法来计算(或一个已经计算过的模块)各种机器上的触发器,这些机器可能有各种各样的CPU,等等。鉴于Python是一种解释语言,简单地计算执行一定数量操作所需的时间不会在Linpack级别上执行。虽然我并不特别需要与基准测试中的一个“大牌”有完全相同的估计,但我希望它至少合理接近


因此,有没有一种方法,或预先存在的模块,让我得到触发器?否则,我唯一的选择将是编译成Cython,或者尝试根据CPU时钟速度估计性能…

Linpack或高性能Linpack通常是测量触发器的行业标准。我发现了一个python实现,但它可能没有多大用处,标准实现(特别是如果您有集群)将使用。除非您想在python中实现自己的并行linpack,否则HPL是一个不错的选择。这就是大多数超级计算机用来衡量其性能的方法


如果您真的下定决心要这么做,即使这可能没有意义或没有多大用处,您可能想考虑将原始MPI版本移植到,它有一个很好的python接口。

感谢您将这些链接起来,但我在尝试UCS实现时似乎遇到了困难。当我用i7在3台不同的计算机上运行它时-960@3.2GHz,一个i7-2960M@2.7GHz,和一个英特尔-Q8200@2.33GHZ,所有3台计算机返回相同的120.4 MFlops值。这显然是不正确的(或测量其他东西),因为根据LinX的数据,960内核的机器运行速度为35gflops。也许我的问题说错了一点,因为我实际上在一个分布式计算网络上,其中,处理节点是仅通过Internet连接的单个计算机。因此,如果在地理位置和通过Internet连接,则由于网络延迟,每次的结果都会有所不同,并且与理论性能相差甚远,而且由于您连接的每台计算机或处理器看起来都不一样,这将使您的性能甚至更低,因为存在大量通信,处理器将不得不等待另一个,查找上面的zero mq程序您可能需要实现它您的selfNo,每台单独的计算机分别运行代码,然后将其单独计算的结果上载到控制器。这与想要单独确定各种不同计算机的失败是同一个应用程序。是的,这就是为什么我建议使用Zero mQ,这是一种用于分布式计算的API