In this section, we will cover other important, widely used directives that we can apply to our merge algorithm.
Additional important directives and clauses
Gang/vector/worker
Gang/worker/vector defines the various levels of parallelism we can achieve with OpenACC. This parallelism is most useful when parallelizing multi-dimensional loop nests. OpenACC allows us to define a generic gang/worker/vector model that will be applicable to a variety of hardware, but we will focus more on a GPU-specific implementation. The following diagram shows an OpenACC parallel programming model:
This preceding diagram represents a single gang. When parallelizing our for loops, the loop iterations will be broken up...