[Cbe-oss-dev] Maximum Number of Tasks

Paul Keir pkeir at dcs.gla.ac.uk
Wed Jun 1 02:28:21 EST 2011


Hi,

Running the mandelbrot example with a 512x512 image, and NUM_TASKS set to
128 gives a time of 41 secs, while with NUM_TASKS set to 368, I get 34 secs.
With NUM_TASKS set above ~375 I get the message:

MARS task create failed! (6)

(The 6 corresponds to MARS_ERROR_LIMIT in error.h)

The mandelbrot program actually launches 2 x NUM_TASKS tasks, so the limit
is ~750 tasks. Is it possible to know in advance of execution the number
of tasks which may be launched?

What I'd like is a slightly better understanding of what's happening. When I
set NUM_TASKS to 256. Does that imply that there are 512 tasks, each
with simultaneously having a footprint resident in MPU (SPU) local store? This
should mean that each must have less memory resources, and might in theory
produce an error such as above.

On the other hand, the scheduler could run on the Host (PPU), sending tasks
whenever an MPU (SPU) is available. One advantage of this approach is that
with larger workloads, an individual kernel has access to more memory and will
run for longer.

Am I right that it is the former situation which governs the mandelbrot program?
Are both scheduling options available using MARS?

Thanks,
Paul


The University of Glasgow, charity number SC004401


More information about the cbe-oss-dev mailing list