You choose parallel sites in your program.
You choose tasks in your parallel sites.
Tasks in a parallel site can execute in parallel with one another and with tasks in an outer parallel site, but not in parallel with tasks in unrelated parallel sites.
You are free to arrange your sites and tasks any way that you want, but there are several simple, common patterns that you will probably want to use.
The following sections describe the process of identifying task patterns, as well as information about data parallelism and task parallelism.