I remember from 5 years ago that a collegue of mine improved a
diffusion algorithm for a successor of me by some heavy algorithms. My
own algorithm was a simple loop-over-the- array once, dump-a-fraction-
of-each-cell-into-spatially-neighbouring-cells-in-the-new-array, and
sum what is in every cell of the new array (you are doing the same
thing, right?). However, there are far faster algorithms.

If you are interested, I'll inquire.


On Jan 15, 7:03 am, "Mark H." <mark.hoem...@gmail.com> wrote:
> On Jan 14, 6:37 pm, Asbjørn  Bjørnstad <asbj...@gmail.com> wrote:
>
> > Look closer, I'm using a 1-D array and indexing by hand :-)
>
> oops, sorry about that -- i see you are doing the right thing here ;-)
>
> > > 3. I noticed you are doing 20 iterations of Gauss-Seidel.  There are
> > > some smart ways to speed up multiple stencil applications.  I can
> > > point you to references if you are interested.
>
> > That would be cool. Although, I just copied someone elses algorithm,
> > and I think he knew what he were doing so it may be hard to improve
> > on it. (Apart from the unchecked- functions pointed out by Chouser
> > and Rich.)
>
> Just for optimizing the stencil computations, check 
> outhttp://bebop.cs.berkeley.edu/#pubs-- in particular:
>
> --> "Stencil Computation Optimization and Auto-Tuning on State-of-the-
> Art Multicore Architectures"
>
> --> "Avoiding Communication in Sparse Matrix Computations" (check out
> the bibliography for references on "time skewing," as our paper is
> more general than what you need)
>
> As for the algorithm itself, the paper is making an accuracy /
> performance tradeoff in the diffusion solve by using very few
> iterations of a slowly converging iteration (Gauss-Seidel).  I'd have
> to investigate the problem further to see whether a more accurate
> solver can reduce time-to-solution.  For now, maybe you could replace
> the 20 steps of Gauss-Seidel with some kind of multigrid cycle -- it
> could save some time since you won't have to sweep over the whole grid
> so many times.
>
> mfh
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to