One Task Instance in Parallel Site

Occurs when a parallel site was executed but annotations for only one task instance were executed in the dynamic extent of the active parallel site. This may be the expected behavior, or it may indicate an error in the placement of annotations or a data set that is not well suited for parallelism.

ID

Code Location

Description

1

Parallel site

Represents the location and associated call stack of the parallel site. Occurs when a parallel site was executed but annotations for only one instance of a task's code were executed in the dynamic extent of the active parallel site. The warning is based on the site and task annotations detected during program execution. This may be the expected behavior. In other cases, this warning may indicate an error in the placement of annotations or a data set that is not well suited for parallelism (a single instance of a task may not contribute to parallel execution speed-up).

Example

int global;
extern arg_map parse_args(int argc, char ** argv);
void main(int argc, char * argv[])
{
    int x;
    parse_args(argc, argv);
    int y = arg_map.get(“iterations”); //command line specifies 1 iteration

    ANNOTATE_SITE_BEGIN(loopsite);     // Parallel site
        for (x=0; x<y; x++) 
          {
          ANNOTATE_ITERATION_TASK(task);
              …
          }
    ANNOTATE_SITE_END();
}

In this example, the selected data set results in only a single iteration of the loop. No dependencies will be found between multiple iterations of the loop.

Some Possible Correction Strategies

Check the execution paths within the parallel site and confirm that you intended to have only one task for this parallel site. If needed, examine the loop structure and its scaling characteristics (reported by the Suitability tool) to ensure that this parallel site does not need additional tasks. If the problem is caused by using too small a data set, increase the size of your data set.

For more complete information about compiler optimizations, see our Optimization Notice.