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 out http://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 -~----------~----~----~----~------~----~------~--~---