title: What is FLOP/s and is it a good measure of performance?
body: <p>I've been asked to measure the performance of a fortran program that solves differential equations on a multi-CPU system. My employer insists that I measure FLOP/s (Floating operations per second) and compare the results with benchmarks (<a href="http://www.netlib.org/linpack/" rel="noreferrer">LINPACK</a>) but I am not convinced that it's the way to go, simply because no one can explain to me what a FLOP is.</p>
  
  <p>I did some research on what exactly a FLOP is and I got some pretty contradicting answers. One of the most popular answers I got was '1 FLOP = An addition and a multiplication operation'. Is that true? If so, again, physically, what exactly does that mean?</p>
  
  <p>Whatever method I end up using, it has to be scalable. Some of versions of the code solve systems with multi-million unknowns and takes days to execute.</p>
  
  <p>What would be some other, effective, ways of measuring performance in my case (summary of my case being 'fortran code that does a whole lot of arithmetic calculations over and over again for days on several hundred CPUs)?</p>