There are many cases where functions, each containing a parallel region, are called one after the other. In order to minimize thread synchronization overheads, it should be possible to open a single parallel region, and use these functions with orphaned directives. I may need to add an arguement to each kernel where this would apply, stating if it's already in a parallel region or not.