OpenMP* directives are used in a way that could create nested parallel regions
The OpenMP* specification allows parallel regions to be arbitrarily nested inside each other, but not every OpenMP implementation supports nested parallelism. If nested parallelism is disabled, or is not supported by the OpenMP implementation, then the new team that is created by a thread encountering a parallel construct inside a parallel region will consist only of the encountering thread. This means that attempts to employ nested parallelism may not provide any performance improvement.
This warning is issued to point out when nested parallelism is being requested. Sometimes this is unintentional and reveals an unexpected flow of control. When there is a choice, it is usually more efficient to wait until the outer parallel region is complete before initiating another parallel operation. This allows the parallel computation to be done in parallel rather than on a single thread.
ID |
Observation |
Description |
---|---|---|
1 |
OpenMP declaration |
The place where nested parallelism would begin if it can |
2 |
OpenMP declaration |
The place the outer parallel region began |
Copyright © 2010, Intel Corporation. All rights reserved.