<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    On 12-04-18 08:07 AM, dave fournier wrote:<br>
    <br>
    There may also be problems with ff 32,34 and 44 if not others as
    well.<br>
    <br>
    <br>
    <br>
    <blockquote cite="mid:4F8ED8A2.5020402@otter-rsch.com" type="cite">On
      second thought if we are to have anything at all before next years
      meeting
      <br>
      we better get moving.   The code from newfmin.cpp I addressed is
      like
      <br>
      <br>
       for (i=2; i<=N; i++)
      <br>
           {
      <br>
             int i1=i-1;
      <br>
             double z=-g(i);
      <br>
             for (int j=1; j<=i1; j++)
      <br>
             {
      <br>
                int j1=j-1;
      <br>
                int offset=((2*N-j1)*j1+j1)/2;
      <br>
                z-=h(i-j+1+offset)*w1(j);
      <br>
             }
      <br>
             w1(i)=z;
      <br>
           }
      <br>
      <br>
      Here N is the size of a symmetric NxN matrix.  g  and w1 are N
      dimensional vectors.
      <br>
      <br>
      I used N=5120.  The increase in speed on the GPU was approx 20 to
      1.
      <br>
      Code is attached.  It would be interesting if other people with
      opencl capable
      <br>
      code tried this out.  I have no idea what the portability issues
      might be as yet.
      <br>
      <br>
      The GPU code consists of 3 kernels.  Fairly steep learning curve
      to figure out
      <br>
      how to do this stuff.  Most of the examples one finds are
      trivial.  The difficulty is
      <br>
      that to calculate w1(i) you must already know the previous w1's. 
      However
      <br>
      you can partially calculate w1(i)  if you know w1(1) up to w1(m)
      for some m<i.
      <br>
      This is what has been used to parallelize the code.  The matrix is
      split up into
      <br>
      vertical strips indexed in the code by k. Enjoy!
      <br>
      <br>
      <br>
      <br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Developers@admb-project.org">Developers@admb-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.admb-project.org/mailman/listinfo/developers">http://lists.admb-project.org/mailman/listinfo/developers</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>