Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!apple!malcolm From: malcolm@Apple.COM (Malcolm Slaney) Newsgroups: comp.unix.cray,comp.sys.super Subject: Re: Cray Autotasking Message-ID: <36833@apple.Apple.COM> Date: 29 Nov 89 00:32:50 GMT References: Distribution: usa Organization: Apple Computer Inc, Cupertino, CA Lines: 22 In article mccalpin@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