<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 09/15/2014 12:23 PM, Johnoel Ancheta
      wrote:<br>
      <br>
      To compile it I used something like<br>
      <br>
      <br>
      CXX=g++<br>
      ADMB_HOME=~/admodel<br>
      echo "!!! Note using the version found in directory "<br>
      echo ${ADMB_HOME}<br>
      ${CXX}  -march=native -ggdb  -Ofast -funroll-loops -DOPT_LIB
      -ffast-math  -pthread -DUSE_PTHREADS -W -fpermissive 
      -DUSE_LAPLACE -Dlinux \<br>
        avx_vecdot.o \<br>
        -L/home/dave/opt/OpenBLAS/lib \<br>
        -I/home/dave/opt/OpenBLAS/include \<br>
        -D__GNUDOS__ -o$1 $1.cpp  \<br>
        -I. -I${ADMB_HOME}/include \<br>
        -I/home/dave/include \<br>
        -L${ADMB_HOME}/lib \<br>
        -L/home/dave/lib \<br>
        -ladmbo \<br>
        -lopenblas \<br>
        -lgfortran<br>
      <br>
      Near the top of main you set the matrix size n and the block size
      m. At present n must be a multiple of m.<br>
      <br>
       main()<br>
       {<br>
          ad_set_new_handler();<br>
        ad_exit=&ad_boundf;<br>
      <br>
        int n=2000;   // we will work with an nxn symmetric matrix<br>
        const int m=100;  // block size for blocked LU code<br>
      <br>
      To restrict openblas to one thread for comparison you can use the
      environment string<br>
      <br>
      export OPENBLAS_NUM_THREADS=1<br>
      <br>
      <br>
      <br>
      <br>
      <br>
      <br>
    </div>
    <blockquote
cite="mid:CAJMx2XWnSkAk+JciG1nm9=bUhrAYJ+mU_r2RLAmU1Ye_HUq2Fw@mail.gmail.com"
      type="cite">
      <div dir="ltr">Sure, it would be nice to do the comparison.
        <div><br>
        </div>
        <div>Thanks in advance,</div>
        <div><br>
        </div>
        <div>Johnoel</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Sep 15, 2014 at 9:19 AM, dave
          fournier <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:davef@otter-rsch.com" target="_blank">davef@otter-rsch.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">
              <div>On 09/15/2014 12:14 PM, Johnoel Ancheta wrote:<br>
                <br>
                If you wan t I have code to call the Openblas version as
                well as a blocked version which stores the relevant
                matrices in<br>
                blocks as recommended by Dongarra et al  (but it does
                not seem to be worth the effort).<br>
                <br>
                <br>
              </div>
              <div>
                <div class="h5">
                  <blockquote type="cite">
                    <div dir="ltr">Thanks Dave!  I'll provide feedback
                      after testing...
                      <div><br>
                      </div>
                      <div><br>
                      </div>
                    </div>
                    <div class="gmail_extra"><br>
                      <div class="gmail_quote">On Mon, Sep 15, 2014 at
                        9:03 AM, otter <span dir="ltr"><<a
                            moz-do-not-send="true"
                            href="mailto:otter@otter-rsch.com"
                            target="_blank">otter@otter-rsch.com</a>></span>
                        wrote:<br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">After much pain I have
                          produced a C++ version of the LU decomposition
                          which<br>
                          is suitable for producing adjoint code for
                          ADMB and perhaps cppad. (Don't know what
                          adjoint<br>
                          code for cppad is as yet!)  This code is about
                          25 times faster than the current<br>
                          ADMB code for a 2,000 x 2,000 matrix and about
                          4 times slower than the Openblas<br>
                          code which contains optimized assembler and
                          Fortrash.  Any suggestion for improvements<br>
                          would be welcome.  Per usual I will hold my
                          breath.<br>
                          <br>
                          <br>
                          <br>
_______________________________________________<br>
                          Developers mailing list<br>
                          <a moz-do-not-send="true"
                            href="mailto:Developers@admb-project.org"
                            target="_blank">Developers@admb-project.org</a><br>
                          <a moz-do-not-send="true"
                            href="http://lists.admb-project.org/mailman/listinfo/developers"
                            target="_blank">http://lists.admb-project.org/mailman/listinfo/developers</a><br>
                          <br>
                        </blockquote>
                      </div>
                      <br>
                    </div>
                    <br>
                    <fieldset></fieldset>
                    <br>
                    <pre>_______________________________________________
Developers mailing list
<a moz-do-not-send="true" href="mailto:Developers@admb-project.org" target="_blank">Developers@admb-project.org</a>
<a moz-do-not-send="true" href="http://lists.admb-project.org/mailman/listinfo/developers" target="_blank">http://lists.admb-project.org/mailman/listinfo/developers</a>
</pre>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <br>
            _______________________________________________<br>
            Developers mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:Developers@admb-project.org">Developers@admb-project.org</a><br>
            <a moz-do-not-send="true"
              href="http://lists.admb-project.org/mailman/listinfo/developers"
              target="_blank">http://lists.admb-project.org/mailman/listinfo/developers</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>