Visible to Intel only — GUID: GUID-85502305-1542-4AD5-B7B8-AB7DB2B39C66
Visible to Intel only — GUID: GUID-85502305-1542-4AD5-B7B8-AB7DB2B39C66
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.