Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!ufqtp!bernhold From: bernhold@qtp.ufl.edu (David E. Bernholdt) Newsgroups: comp.unix.cray,comp.sys.super Subject: Re: Cray Autotasking Message-ID: <796@orange.qtp.ufl.edu> Date: 28 Nov 89 14:56:11 GMT References: <5414@internal.Apple.COM> Reply-To: bernhold@orange (David E. Bernholdt) Distribution: usa Organization: University of Florida Quantum Theory Project Lines: 29 In article <5414@internal.Apple.COM> koeninger@apple.com (R. Kent Koeninger) writes: >If autotasking is up-to-snuff, you would present it with one long loop, >and it would vectorize and parallelize that one loop for you, choosing a >fairly optimum distribution. > >Does anyone know if autotasking will split one loop into multiple tasks of >vectorized loops yet? My assumptions is autotasking works like >microtasking. Is this assumption valid? I've messed around with autotasking a little. It will do this. In fact, if you take a look at the source code after its been through the compiler's preprocessors, you'll see that there are tests inserted on the length of the vectors to decide how to distribute the work. In other words, if the loop isn't long enough to warrent it, it won't be parallelized, but if it is, it will "stripmine" the loop -- send pieces out to be done in parallel on the available CPUs. By giving some command-line or (perhaps) source-embedded directives, oyu can change the tolerances it uses to make these decisions. I recommend the Cray Autotasking User's Guide (unfortunately I'm not at the office, so I can't get the number for it) -- interesting reading. -- David Bernholdt bernhold@qtp.ufl.edu Quantum Theory Project bernhold@ufpine.bitnet University of Florida Gainesville, FL 32611 904/392 6365