Greg Lindahl wrote:
On Tue, Dec 11, 2007 at 08:52:11AM -0500, Joe Landman wrote:
On the contrary, it is precisely because people are asking "how should I
parallelize" that they need to ask the basic question of "where does my
code spend time for my problems."
OK, so say I have a garden-variety finite-difference code. I know how
to use OpenMP to parallelize all the loops,
Well, our weather forecasting code is certainly garden-variety
finite-difference code (we don't even use multi-grids), but I recently
looked into the OpenMP parallellization (done by people who spent much
much more time on looking into performance issues than I did) and I
noticed only a few loops were parallellized.
As atmospheric movement on Earth is (for weather forecasting purposes,
i.e. on length scales of days) a primarily two-dimensional phenomenon,
the parallellized loops are:
1. Over the vertical layers (while all loops over horizontal boxes are
left alone).
2. (In a different part of the code) over tasks computing vertical
phenomena in a set of columns.
In other words, the parallellization is pushed outwards as far as
possible - the majority of the loops don't even know there's more than
one processor in the machine.
--
Toon Moene - e-mail: [EMAIL PROTECTED] - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.indiv.nluug.nl/~toon/
GNU Fortran's path to Fortran 2003: http://gcc.gnu.org/wiki/Fortran2003
_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf