“…In the context of parallelizing irregular applications, gather/scatter parallelism is commonly used in irregular applications where the programmer has specified the data decomposition for a distributed array [52,33,27,68,11]. Typically there is language and compilation support for data distribution specifications, parallel loops, and reductions, which involves generating code with calls to the appropriate inspector, scheduling, and gather/scatter functions in a run-time library such as CHAOS [45].…”