[Beowulf] programming guidence request

Micha Feigin michf at post.tau.ac.il
Fri Jan 23 02:47:17 PST 2009


On Thu, 22 Jan 2009 22:40:25 -0800
Greg Lindahl <lindahl at pbm.com> wrote:

> On Fri, Jan 23, 2009 at 11:03:46AM +0500, amjad ali wrote:
> 
> > (1) Which debugger would be easy and effective to use for above?
> 
> print *,
> 

openmpi spawns several processes so you options are pretty much print or
pausing you programs at startup and attaching the debugger to a running program
(problematic). Note though that with print you may miss timing issues.

> > (2) Which of the folliwng two ways of using arrays is more efficient
> > with respect to memory and function-call-overheads or other overheads:
> >                  (i) We should keep the arrays ALLOCATABLE and then
> > before return from the subroutines, DEALLOCATE the local arrays.
> >               or (ii) We should keep the local arrays fix-sized as
> > much as we can. (Will the memory is deallaocated/freed automatically
> > on return from the subroutine?).
>

The problem with (ii) is that the arrays are allocated on the stack which is
of limited size. If the arrays are very large this may cause problems.
 
> In general (ii) is faster: the compiler can generate better code if it
> knows the size of the arrays. This is always possible with (ii) and
> only sometimes with (i).
> 

If you use loops with constant number of iterations the same speedup can also
usually be achieved (I've seen dramatic differences due to dropping the
conditional at each loop iteration)

> With (ii) the memory will be freed on return from the subroutine, with
> most modern compilers. With (i) the arrays will also be automagically
> freed on exit from the subroutine.
> 
> -- greg
> 
> 
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org
> To change your subscription (digest mode or unsubscribe) visit
> http://www.beowulf.org/mailman/listinfo/beowulf
> 



More information about the Beowulf mailing list