<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>So many of you have struggled with the last midterm problem and
      finding good compiler flags that work.  Let's see if I can
      simplify and clarify...<br>
    </p>
    <p>1. For your base run compile with -O0</p>
    <p>2. Now pick three flags for your optimized run (not -O, -O1, -O2,
      -O3, -Os, -Og, -Ofast).  Then create a performance plot with two
      curves -- one for your baseline and one for your optimized result
      that was built using all of the flags you chose.  Indicate on the
      plot which flags you used.</p>
    <p>As an example, on an old Xeon processor using the 11.2.0
      compilers I got the following results...</p>
    <p>No optimization...</p>
    <p>   1000   554.267822    <br>
         2000   559.134399    <br>
         3000   561.197144    <br>
         4000   559.307434    <br>
         5000   561.014465    <br>
         6000   561.945557    <br>
         7000   563.093933    <br>
         8000   562.336792    <br>
         9000   561.579956    <br>
       10000   561.907227    <br>
    </p>
    <p>With a selection of optimization/architecture compiler flags...</p>
    <p>   1000   581.106140    <br>
         2000   586.146118    <br>
         3000   586.070557    <br>
         4000   581.988281    <br>
         5000   581.462219    <br>
         6000   583.838684    <br>
         7000   586.284851    <br>
         8000   586.672729    <br>
         9000   585.067749    <br>
       10000   587.153320    <br>
    </p>
    <p><br>
    </p>
    <div class="moz-signature">-- <br>
      <b><em>Andrew J. Pounds, Ph.D.</em></b><br>
      <em>Professor of Chemistry and Computer Science</em><br>
      <em>Director of the Computational Science Program</em><br>
      <em>Mercer University</em><br>
      <em>1501 Mercer University Drive, Macon, GA 31207 </em><br>
      <em>(478) 301-5627</em><br>
    </div>
  </body>
</html>