Cray Autotasking
Malcolm Slaney
malcolm at Apple.COM
Wed Nov 29 11:32:50 AEST 1989
In article <MCCALPIN.89Nov27080806 at masig3.ocean.fsu.edu> mccalpin at masig3.ocean.fsu.edu (John D. McCalpin) writes:
>Does anyone know offhand how the Cray autotasking splits loops between
>processors? Specifically, in the following loop:
> do 200 iseg=1,8
> do 100 i=istart(iseg),istop(iseg)
> a(i,j(iseg)) = b(i,j(iseg))+two*c(i,j(iseg))
> 100 continue
> 200 continue
You should sort them with the ones taking the longest time going first
in the loop. For example, if you have one very large segment and lots of
little ones you don't want to do all the little ones first and then have
all the other processors waiting for the last (big) one to finish. I think
I remember looking at the assembler generated and seeing that each processor
just takes the next iteration in sequence.
I'm pretty sure that Autotasking and MicroTasking are identical in this
regard.
Now, if I can just get my hands on a version of Standard C that autotasks....
Malcolm
More information about the Comp.unix.cray
mailing list