Calculation of POPON FLOPS

I am trying to get a standard FLOPS score on all computers on which I have implemented a distributed Python processing program. While I can now calculate the pistons quite well, the pistons are not particularly well known, and I'm not quite sure how accurate they are.

So I need a way to compute (or a module that already does this) FLOPS on different machines that can have any number of processors, etc. Seeing that Python is an interpreted language, simply counting the time to perform a certain number of operations will not be performed at the level of, say, Linpack. Although I especially don't need the same grades as one of the big β€œnames” in benchmarking, I would like it to be as close to the end as possible.

So is there a way or an existing module so that I can get FLOPS? Otherwise, my only choice would be to compile in Cython or try to evaluate features based on the processor clock ...

+5
source share
1 answer

Linpack, or High Performance linpack, is usually the industry standard for measuring flops. I found the python implementation here , but it may not be of much use. The standard implementation (especially if you have a cluster) will use HPL . If you don't want to implement your own parallel linpack in python, HPL is the way to go. This is what most of these top 500 supercomputers use to measure their performance.

If you are really obsessed with this, although it may not make sense or be useless, you might want to port the original version of MPI to 0-MQ , which has a nice Python interface.

+3
source

Source: https://habr.com/ru/post/1432843/


All Articles