implicit parallelism

A feature of a programming language for a parallel processing system which decides automatically which parts to run in parallel.

The best way of providing implicit parallelism is still (1995) an active research topic. The problem is to generate the right number of parallel tasks of the right size (or "granularity"). Too many tasks and the system gets bogged down in house-keeping, or memory for waiting tasks runs out, too few tasks and processors are left idle.

The best performance is usually achieved with explicit parallelism where the programmer can annotate his program to indicate which parts should be executed as independent parallel tasks.