<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-text-html" lang="x-western"> <font size="-1">Hi
        Andrea and Kshitij,<br>
        <br>
        I have tested the solutions you both offered, but they didn't
        improve the situation. <br>
        Doing a trace_on() when a gradient is required, or first
        iteration only, causes the minimisation results to get worse,
        but execution time is 18 seconds.<br>
        Increasing the buffer size stopped the file I/O but this didn't
        help execution time. <br>
        <br>
        Attached to this email are the binaries I have been using and
        configuration files to run them if you're interested.<br>
        Below are the results of each configuration and test:<br>
        <br>
        Binary: isam_adolc18.exe (ADOLC version 1.8)<br>
        Process memory usage: 20MB<br>
        Files created: none<br>
        Extra notes: does run trace_on() / trace_off() on every
        iteration<br>
        Execution time: 3 seconds<br>
        <br>
        Binary: isam_adolc_2.5.2.exe<br>
        Process memory usage: 8-10MB<br>
        Files created:<br>
        ADOLC-Locations_0.tap (0 - 10MB)<br>
        ADOLC-Operations_0.tap (0 - 1MB)<br>
        ADOLC-Taylors_0.tap (0kbs)<br>
        Extra notes: first 2-3 iterations run almost instantly, then
        they slow down to 3-4 seconds each<br>
        Execution time: 2.9 minutes<br>
        <br>
        Binary: isam_increased_buffer.exe<br>
        New buffer sizes: 134217728<br>
        Process memory usage: 21-22MB<br>
        Files created: none<br>
        Extra notes: first 2-3 iterations run almost instantly, then
        they slow down to 3-4 seconds each<br>
        Execution time: 2.8 minutes<br>
        <br>
        Binary: isam_adolc_2_5_2.exe (with adolrc)<br>
        Process memory usage: 21-22MB<br>
        Files created: none<br>
        New buffer values:<br>
        "OBUFSIZE" = "512000000"<br>
        "LBUFSIZE" = "512000000"<br>
        "VBUFSIZE" = "512000000"<br>
        "TBUFSIZE" = "512000000"<br>
        Extra notes: first 2-3 iterations run almost instantly, then
        they slow down to 3-4 seconds each<br>
        Execution time: 2.8 minutes<br>
        <br>
        Binary: isam_adolc_2_5_2_trace_on_when_gradient_required.exe<br>
        Process memory usage: 21-22MB<br>
        Files created: None<br>
        Extra notes: this is also using a compiled increased buffer
        size, <br>
        Extra notes: </font><font size="-1"><font size="-1">first 2-3
          iterations run almost instantly, then they slow down to 3-4
          seconds each</font></font><br>
      <font size="-1"><font size="-1"><font size="-1"><font size="-1"><font
                size="-1">Extra notes: Minimisation did not match the
                results of the other binaries. They were 1998.5 and this
                is 2647.97 so considerably worse<br>
              </font></font></font></font>Execution time: 18 seconds<br>
        <br>
        Binary: isam_adolc_2_5_2_trace_only_first_iteration.exe<br>
        Process memory usage: 21-22MB<br>
        Files created: None<br>
        Extra notes: this is also using a compiled increased buffer size</font><br>
      <font size="-1"><font size="-1">Extra notes: </font><font
          size="-1"><font size="-1">first 2-3 iterations run almost
            instantly, then they slow down to 3-4 seconds each<br>
            Extra notes: Minimisation did not match the results of the
            other binaries. They were 1998.5 and this is 2647.97 so
            considerably worse<br>
          </font></font>Execution time: 18 seconds<br>
        <br>
        Thanks heaps for your help. I hope I can get this resolved so I
        can make ADOLC the default auto-diff library for the new
        modelling platform.<br>
        <br>
        Regards,<br>
        Scott<br>
      </font><br>
    </div>
    <div class="moz-cite-prefix">On 19/11/2014 8:09 p.m., Andrea Walther
      wrote:<br>
    </div>
    <blockquote cite="mid:546C420E.1040404@uni-paderborn.de" type="cite">Hi
      Scott,
      <br>
      <br>
      <blockquote type="cite">I notice it writes to files A LOT and not
        a huge amount of data (any
        <br>
        flags to keep this in memory?)
        <br>
      </blockquote>
      <br>
      that is most probably the reason why the current version is so
      slow.
      <br>
      It is really important to avoid the writting on disc to get a
      reasonable speed.
      <br>
      <br>
      In the directory
      <br>
      <br>
      .../ADOL-C/include/adolc/internal
      <br>
      <br>
      there is a file
      <br>
      <br>
      usrparms.h
      <br>
      <br>
      There you can increase the buffer size for
      <br>
      <br>
      OBUFSIZE
      <br>
      LBUFSIZE
      <br>
      VBUFSIZE
      <br>
      TBUFSIZE
      <br>
      <br>
      to such a large value that the files are not written on disc.
      <br>
      Alternatively you could use a
      <br>
      <br>
      .adolcrc
      <br>
      <br>
      file. I attach an example file. This would avoid the recompilation
      <br>
      if you have to change the buffer sizes.
      <br>
      <br>
      And finally it is important that you use
      <br>
      <br>
      trace_off()
      <br>
      <br>
      and do NOT use
      <br>
      <br>
      trace_off(1) or something like that
      <br>
      <br>
      because this would force ADOL-C to write the files on disc.
      <br>
      <br>
      Hope this helps. Otherwise just email again.
      <br>
      <br>
      Best regards
      <br>
      <br>
      Andrea
      <br>
      <br>
    </blockquote>
    <br>
  </body>
</html>