The following examples show how to use the OpenMP* feature.
This example shows a simple parallel loop where each iteration contains different number of instructions. To get good load balancing, dynamic scheduling is used. The end do has a nowait because there is an implicit barrier at the end of the parallel region.
subroutine do_1 (a,b,n) |
This example shows two parallel regions fused to reduce fork/join overhead. The first end do has a nowait because all the data used in the second loop is different than all the data used in the first loop.
subroutine do_2 (a,b,c,d,m,n) |