<!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>